{
  "id": "@itentialopensource/adapter-silverpeak",
  "type": "Adapter",
  "export": "Silverpeak",
  "title": "Silverpeak",
  "src": "adapter.js",
  "roles": [
    "admin"
  ],
  "methods": [
    {
      "name": "iapUpdateAdapterConfiguration",
      "summary": "Updates the adapter configuration",
      "description": "Updates the adapter configuration file with the provided changes",
      "input": [
        {
          "name": "configFile",
          "type": "string",
          "info": "The name of the file to change",
          "required": true,
          "schema": {
            "title": "configFile",
            "type": "string"
          }
        },
        {
          "name": "changes",
          "type": "object",
          "info": "JSON object containing the configuration changes",
          "required": true,
          "schema": {
            "title": "changes",
            "type": "object"
          }
        },
        {
          "name": "entity",
          "type": "string",
          "info": "The entity in which the changes are being made",
          "required": false,
          "schema": {
            "title": "entity",
            "type": "string"
          }
        },
        {
          "name": "type",
          "type": "string",
          "info": "The type of file to change - action, schema, or mock",
          "required": false,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "action",
          "type": "string",
          "info": "The action to be changed",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        },
        {
          "name" : "replace",
          "type": "boolean",
          "info": "True to replace entire mock data, false to merge/append",
          "required": false,
          "schema": {
            "title": "replace",
            "type" : "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUpdateAdapterConfiguration"
      },
      "task": true
    },
    {
      "name": "iapSuspendAdapter",
      "summary": "Suspends the adapter",
      "description": "Suspends the adapter",
      "input": [
        {
          "name": "mode",
          "type": "enum",
          "enumerals": [
            "pause",
            "error"
          ],
          "info": "How incoming requests are handled. Defaults to 'pause'",
          "description": "How incoming requests are handled. Defaults to 'pause'",
          "schema": {
            "title": "mode",
            "type": "string"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapSuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapUnsuspendAdapter",
      "summary": "Unsuspends the adapter",
      "description": "Unsuspends the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter suspended status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapUnsuspendAdapter"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterQueue",
      "summary": "Return the requests that are waiting in the queue if throttling is enabled",
      "description": "Return the requests that are waiting in the queue if throttling is enabled",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the adapter queue",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetAdapterQueue"
      },
      "task": true
    },
    {
      "name": "iapFindAdapterPath",
      "summary": "Provides the ability to see if a particular API path is supported by the adapter",
      "description": "Provides the ability to see if a particular API path is supported by the adapter",
      "input": [
        {
          "name": "apiPath",
          "type": "string",
          "info": "The API Path you want to check - make sure to not include base path and version",
          "description": "The API Path you want to check - make sure to not include base path and version",
          "schema": {
            "title": "apiPath",
            "type": "string"
          },
          "required": true
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapFindAdapterPath"
      },
      "task": true
    },
    {
      "name": "iapTroubleshootAdapter",
      "summary": "Runs troubleshoot script for adapter",
      "description": "Runs troubleshoot script for adapter",
      "input": [
        {
          "name": "props",
          "type": "object",
          "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}",
          "required": true,
          "schema": {
            "title": "props",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapTroubleshootAdapter"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterHealthcheck",
      "summary": "Runs healthcheck script for adapter",
      "description": "Runs healthcheck script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "Whether healthcheck passed or failed",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterHealthcheck"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterConnectivity",
      "summary": "Runs connectivity check script for adapter",
      "description": "Runs connectivity check script for adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterConnectivity"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterBasicGet",
      "summary": "Runs basicGet script for adapter",
      "description": "Runs basicGet script for adapter",
      "input": [
        {
          "name": "maxCalls",
          "required": false,
          "type": "number", 
          "info": "How many GET endpoints to test (defaults to 5)",
          "schema": {
            "title": "maxCalls",
            "type": "number", 
            "default": 5
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing the test results",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRunAdapterBasicGet"
      },
      "task": true
    },
    {
      "name": "iapMoveAdapterEntitiesToDB",
      "summary": "Moves entities from an adapter into the Itential Platform database",
      "description": "Moves entities from an adapter into the Itential Platform database",
      "input": [],
      "output": {
        "name": "res",
        "type": "object",
        "description": "A JSON Object containing status, code and the response from the mongo transaction",
        "schema": {
          "title": "res",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapMoveAdapterEntitiesToDB"
      },
      "task": true
    },
    {
      "name": "iapDeactivateTasks",
      "summary": "Deactivate the inputted tasks",
      "description": "Deactivate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to deactivate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapDeactivateTasks"
      },
      "task": true
    },
    {
      "name": "iapActivateTasks",
      "summary": "Activate the inputted tasks",
      "description": "activate the inputted tasks",
      "input": [
        {
          "name": "tasks",
          "type": "array",
          "description": "Tasks to activate",
          "schema": {
            "title": "tasks",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing success status",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapActivateTasks"
      },
      "task": true
    },
    {
      "name": "iapPopulateEntityCache",
      "summary": "Populate the cache for the given entities",
      "description": "Populate the cache for the given entities",
      "input": [
        {
          "name": "entityTypes",
          "type": "array",
          "info": "the entity type(s) to populate",
          "required": true,
          "schema": {
            "title": "entityTypes",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapPopulateEntityCache"
      },
      "task": true
    },
    {
      "name": "iapRetrieveEntitiesCache",
      "summary": "Retrieves data from cache for specified entity type",
      "description": "Retrieves data from cache for specified entity type",
      "input": [
        {
          "name": "entityType",
          "type": "string",
          "info": "entity of which to retrieve",
          "required": true,
          "schema": {
            "title": "entityType",
            "type": "string"
          }
        },
        {
          "name": "options",
          "type": "object",
          "info": "settings of which data to return and how to return it",
          "required": false,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapRetrieveEntitiesCache"
      },
      "task": true
    },
    {
      "name": "getDevice",
      "summary": "Get the Appliance",
      "description": "Get the Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevice"
      },
      "task": false
    },
    {
      "name": "getDevicesFiltered",
      "summary": "Get Appliances that match the filter",
      "description": "Get Appliances that match the filter",
      "input": [
        {
          "name": "options",
          "type": "object",
          "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }",
          "required": true,
          "schema": {
            "title": "options",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "array",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "array"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDevicesFiltered"
      },
      "task": false
    },
    {
      "name": "isAlive",
      "summary": "Checks the status for the provided Appliance",
      "description": "Checks the status for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "boolean",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "boolean"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/isAlive"
      },
      "task": false
    },
    {
      "name": "getConfig",
      "summary": "Gets a config for the provided Appliance",
      "description": "Gets a config for the provided Appliance",
      "input": [
        {
          "name": "deviceName",
          "type": "string",
          "info": "An Appliance Device Name",
          "required": true,
          "schema": {
            "title": "deviceName",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The format to be returned - this is ignored as we always return json",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getConfig"
      },
      "task": false
    },
    {
      "name": "iapGetDeviceCount",
      "summary": "Gets a device count from the system",
      "description": "Gets a device count from the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapGetDeviceCount"
      },
      "task": false
    },
    {
      "name": "iapExpandedGenericAdapterRequest",
      "summary": "Makes the requested generic call with additional options",
      "description": "Makes the requested generic call with additional options via metadata",
      "input": [
        {
          "name": "metadata",
          "type": "object",
          "info": "metadata for the call (optional)",
          "description": "metadata for the call - allows for many enhancements (optional)",
          "schema": {
            "title": "metadata",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": false
        },
        {
          "name": "pathVars",
          "type": "object",
          "info": "the parameters to be put within the url path (optional)",
          "description": "the parameters to be put within the url path (optional)",
          "schema": {
            "title": "pathVars",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/iapExpandedGenericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequest",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequest"
      },
      "task": true
    },
    {
      "name": "genericAdapterRequestNoBasePath",
      "summary": "Makes the requested generic call",
      "description": "Makes the requested generic call",
      "input": [
        {
          "name": "uriPath",
          "type": "string",
          "info": "the path of the api call - do not include the host, port, base path or version",
          "description": "the path of the api call",
          "schema": {
            "title": "uriPath",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "restMethod",
          "type": "string",
          "info": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "description": "the rest method (GET, POST, PUT, PATCH, DELETE)",
          "schema": {
            "title": "restMethod",
            "type": "string"
          },
          "required": true
        },
        {
          "name": "queryData",
          "type": "object",
          "info": "the query parameters to be put on the url (optional)",
          "description": "the query parameters to be put on the url (optional)",
          "schema": {
            "title": "queryData",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "the payload to be sent with the request (optional)",
          "description": "the payload to be sent with the request (optional)",
          "schema": {
            "title": "requestBody",
            "type": "object"
          },
          "required": false
        },
        {
          "name": "addlHeaders",
          "type": "object",
          "info": "additional headers to be put on the call (optional)",
          "description": "additional headers to be put on the call (optional)",
          "schema": {
            "title": "addlHeaders",
            "type": "object"
          },
          "required": false
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/genericAdapterRequestNoBasePath"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterLint",
      "summary": "Run the adapter lint script to return the results",
      "description": "Run the adapter lint script to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "string",
        "description": "A string containing the run results",
        "schema": {
          "title": "result",
          "type": "string"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterLint"
      },
      "task": true
    },
    {
      "name": "iapRunAdapterTests",
      "summary": "Run the adapter test scripts (baseunit and unit) to return the results",
      "description": "Run the adapter test scripts (baseunit and unit) to return the results",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapRunAdapterTests"
      },
      "task": true
    },
    {
      "name": "iapGetAdapterInventory",
      "summary": "Provide inventory information abbout the adapter",
      "description": "Provide inventory information abbout the adapter",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/iapGetAdapterInventory"
      },
      "task": true
    },
    {
      "name": "actionAndAuditLogEntries",
      "summary": "Get action/audit log entries.",
      "description": "Any operation performed by Orchestrator in the background or performed by a user is logged. This API is used to retrieve that information.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Number of rows to fetch",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "logLevel",
          "type": "number",
          "info": "0=Debug, 1=Info, 2=Error",
          "required": true,
          "schema": {
            "title": "logLevel",
            "type": "number"
          }
        },
        {
          "name": "appliance",
          "type": "string",
          "info": "Appliance ID",
          "required": false,
          "schema": {
            "title": "appliance",
            "type": "string"
          }
        },
        {
          "name": "username",
          "type": "string",
          "info": "Username",
          "required": false,
          "schema": {
            "title": "username",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/actionAndAuditLogEntries"
      },
      "task": true
    },
    {
      "name": "actionCancel",
      "summary": "Cancel action guid key",
      "description": "Certain actions like appliance upgrade, appliance restore etc., return a key as in response. You can cancel such operations using the key",
      "input": [
        {
          "name": "key",
          "type": "string",
          "info": "action key (guid)",
          "required": true,
          "schema": {
            "title": "key",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/actionCancel"
      },
      "task": true
    },
    {
      "name": "actionStatus",
      "summary": "Get status of a particular action using guid key",
      "description": "Certain actions like appliance upgrade, appliance restore etc., return a key as in response. Check for status of such operations using the key",
      "input": [
        {
          "name": "key",
          "type": "string",
          "info": "action key (guid)",
          "required": true,
          "schema": {
            "title": "key",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/actionStatus"
      },
      "task": true
    },
    {
      "name": "alarmAcknowledgement",
      "summary": "Acknowledges alarms on appliance whose sequence IDs are provided in the request body",
      "description": "Acknowledges alarms on appliance whose sequence IDs are provided in the request body",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "alarmAcknowledgementBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "alarmAcknowledgementBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alarmAcknowledgement"
      },
      "task": true
    },
    {
      "name": "gmsAlarmAcknowledgement",
      "summary": "Acknowledges alarms whose IDs are provided in the request body",
      "description": "Acknowledges alarms whose IDs are provided in the request body",
      "input": [
        {
          "name": "gmsAlarmAcknowledgementBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "gmsAlarmAcknowledgementBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/gmsAlarmAcknowledgement"
      },
      "task": true
    },
    {
      "name": "alarmApplianceGetPost",
      "summary": "Returns active, historical, or all alarms for appliances whose ids provided in the request body",
      "description": "Returns active, historical, or all alarms for appliances whose ids provided in the request body",
      "input": [
        {
          "name": "applianceAlarmGetPostBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "applianceAlarmGetPostBody",
            "type": "object"
          }
        },
        {
          "name": "view",
          "type": "string",
          "info": "active=current alarms, closed=historical alarms, all=both active and historical alarms",
          "required": false,
          "schema": {
            "title": "view",
            "type": "string"
          }
        },
        {
          "name": "severity",
          "type": "string",
          "info": "Filters by alarm severity",
          "required": false,
          "schema": {
            "title": "severity",
            "type": "string"
          }
        },
        {
          "name": "orderBySeverity",
          "type": "boolean",
          "info": "order by alarm severity",
          "required": false,
          "schema": {
            "title": "orderBySeverity",
            "type": "boolean"
          }
        },
        {
          "name": "maxAlarms",
          "type": "number",
          "info": "max Alarms",
          "required": false,
          "schema": {
            "title": "maxAlarms",
            "type": "number"
          }
        },
        {
          "name": "from",
          "type": "number",
          "info": "Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the starting time boundary of data time range",
          "required": false,
          "schema": {
            "title": "from",
            "type": "number"
          }
        },
        {
          "name": "to",
          "type": "number",
          "info": "Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the ending time boundary of data time range",
          "required": false,
          "schema": {
            "title": "to",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alarmApplianceGetPost"
      },
      "task": true
    },
    {
      "name": "alarmClearance",
      "summary": "Clears alarms whose sequence IDs are provided in the request body",
      "description": "Clears alarms whose sequence IDs are provided in the request body",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "alarmClearanceBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "alarmClearanceBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alarmClearance"
      },
      "task": true
    },
    {
      "name": "gmsAlarmClearance",
      "summary": "Clears alarms whose IDs are provided in the request body",
      "description": "Clears alarms whose IDs are provided in the request body",
      "input": [
        {
          "name": "gmsAlarmClearanceBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "gmsAlarmClearanceBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/gmsAlarmClearance"
      },
      "task": true
    },
    {
      "name": "allApplianceAlarmSummary",
      "summary": "Returns summary of active alarms for each appliance",
      "description": "Returns summary of active alarms for each appliance",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/allApplianceAlarmSummary"
      },
      "task": true
    },
    {
      "name": "applianceAlarmSummary",
      "summary": "Returns summary of active alarms for the appliance",
      "description": "Returns summary of active alarms for the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applianceAlarmSummary"
      },
      "task": true
    },
    {
      "name": "customSeverityDelete",
      "summary": "Delete all customized alarm severity",
      "description": "Delete all customized alarm severity",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/customSeverityDelete"
      },
      "task": true
    },
    {
      "name": "customSeverityGet",
      "summary": "Get all customized alarm severity",
      "description": "API returns an object in which keys are alarmTypeIds and values are Severities",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/customSeverityGet"
      },
      "task": true
    },
    {
      "name": "customSeverityPOST",
      "summary": "Create customized alarm severities",
      "description": "API consumes an object in which keys are alarmTypeIds and values are Severities",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "Request body is an object in which keys are alarmTypeIds and values are Severities",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/customSeverityPOST"
      },
      "task": true
    },
    {
      "name": "customSeverityPut",
      "summary": "Update customized alarm severities",
      "description": "API consumes an object in which keys are alarmTypeIds and values are Severities",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "Request body is an object in which keys are alarmTypeIds and values are Severities",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/customSeverityPut"
      },
      "task": true
    },
    {
      "name": "singleCustomSeverityDelete",
      "summary": "Delete alarm severity config by alarmTypeId",
      "description": "Delete alarm severity config by alarmTypeId",
      "input": [
        {
          "name": "alarmTypeId",
          "type": "number",
          "info": "Alarm type id",
          "required": true,
          "schema": {
            "title": "alarmTypeId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/singleCustomSeverityDelete"
      },
      "task": true
    },
    {
      "name": "singleCustomSeverityGet",
      "summary": "Get alarm severity config by alarmTypeId",
      "description": "API returns an object in which keys are alarmTypeIds and values are Severities",
      "input": [
        {
          "name": "alarmTypeId",
          "type": "number",
          "info": "Alarm type id",
          "required": true,
          "schema": {
            "title": "alarmTypeId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/singleCustomSeverityGet"
      },
      "task": true
    },
    {
      "name": "alarmEmailDelayDelete",
      "summary": "Delete alarm email delay configuration",
      "description": "Delete alarm email delay configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/alarmEmailDelayDelete"
      },
      "task": true
    },
    {
      "name": "alarmEmailDelayGet",
      "summary": "Get alarm email delay configuration",
      "description": "Get alarm email delay configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/alarmEmailDelayGet"
      },
      "task": true
    },
    {
      "name": "alarmEmailDelayPost",
      "summary": "Create alarm email delay configuration",
      "description": "Create alarm email delay configuration",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alarmEmailDelayPost"
      },
      "task": true
    },
    {
      "name": "alarmEmailDelayPut",
      "summary": "Update alarm email delay configuration",
      "description": "Update alarm email delay configuration",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alarmEmailDelayPut"
      },
      "task": true
    },
    {
      "name": "alarmDescGet",
      "summary": "Get Orchestrator and appliance alarm descriptions",
      "description": "Get Orchestrator and appliance alarm descriptions",
      "input": [
        {
          "name": "format",
          "type": "string",
          "info": "format=csv, ask browser to download a file of Orchestrator alarm descriptions in .csv format.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "defaultParam",
          "type": "boolean",
          "info": "default=true, export alarm descriptions with default values, default=false, export alarm descriptions with customized values",
          "required": false,
          "schema": {
            "title": "defaultParam",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alarmDescGet"
      },
      "task": true
    },
    {
      "name": "alarmGms",
      "summary": "Returns active, closed/historical, or all Orchestrator alarms",
      "description": "Returns active, closed/historical, or all Orchestrator alarms",
      "input": [
        {
          "name": "view",
          "type": "string",
          "info": "active=current alarms, closed=historical alarms, all=both active and historical alarms",
          "required": false,
          "schema": {
            "title": "view",
            "type": "string"
          }
        },
        {
          "name": "severity",
          "type": "string",
          "info": "Filters by alarm severity",
          "required": false,
          "schema": {
            "title": "severity",
            "type": "string"
          }
        },
        {
          "name": "from",
          "type": "number",
          "info": "Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the starting time boundary of data time range",
          "required": false,
          "schema": {
            "title": "from",
            "type": "number"
          }
        },
        {
          "name": "to",
          "type": "number",
          "info": "Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the ending time boundary of data time range",
          "required": false,
          "schema": {
            "title": "to",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alarmGms"
      },
      "task": true
    },
    {
      "name": "alarmNotification",
      "summary": "Returns alarm notification",
      "description": "Returns alarm notification",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/alarmNotification"
      },
      "task": true
    },
    {
      "name": "postAlarmNotification",
      "summary": "Set alarm notification",
      "description": "Set alarm notification",
      "input": [
        {
          "name": "alarmNotification",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "alarmNotification",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postAlarmNotification"
      },
      "task": true
    },
    {
      "name": "alarmSummary",
      "summary": "Returns summary of active Orchestrator alarms as well as summary of active alarms across all appliances",
      "description": "Returns summary of active Orchestrator alarms as well as summary of active alarms across all appliances",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/alarmSummary"
      },
      "task": true
    },
    {
      "name": "alarmSummaryType",
      "summary": "Returns summary of active Orchestrator alarms or summary of active alarms across all appliances",
      "description": "Returns summary of active Orchestrator alarms or summary of active alarms across all appliances",
      "input": [
        {
          "name": "type",
          "type": "string",
          "info": "Alarm Type",
          "required": true,
          "schema": {
            "title": "type",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/alarmSummaryType"
      },
      "task": true
    },
    {
      "name": "deleteDisabledAlarmsConfig",
      "summary": "Delete disabled alarms configuration",
      "description": "Delete disabled alarms configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deleteDisabledAlarmsConfig"
      },
      "task": true
    },
    {
      "name": "getAllDisabledAlarmsConfig",
      "summary": "Get all disabled alarms configuration",
      "description": "Get all disabled alarms configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllDisabledAlarmsConfig"
      },
      "task": true
    },
    {
      "name": "updateDisabledAlarmsConfig",
      "summary": "Update disabled alarms configuration",
      "description": "Update disabled alarms configuration",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "'action' can be 'ENABLE' or 'DISABLE'. All the fields are required.",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateDisabledAlarmsConfig"
      },
      "task": true
    },
    {
      "name": "applianceGET",
      "summary": "Returns information about appliance(s) managed by Orchestrator",
      "description": "Returns information about appliance(s) managed by Orchestrator",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/applianceGET"
      },
      "task": true
    },
    {
      "name": "adminDistanceConfig",
      "summary": "Gets Admin Distance configurations",
      "description": "Gets Admin Distance configurations",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Internal Id of the appliance from which you want to retrieve config information, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/adminDistanceConfig"
      },
      "task": true
    },
    {
      "name": "approvedAppliance",
      "summary": "Get the all approved appliances",
      "description": "Get the all approved appliances",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/approvedAppliance"
      },
      "task": true
    },
    {
      "name": "backupPost",
      "summary": "Backup appliance configuration to Orchestrator database",
      "description": "The response of this operation is a client key which can be polled to get progress of the requested operation. To poll for status, perform GET /action/status?key=",
      "input": [
        {
          "name": "operation",
          "type": "object",
          "info": "List of appliance primary keys and comments.",
          "required": false,
          "schema": {
            "title": "operation",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/backupPost"
      },
      "task": true
    },
    {
      "name": "backupDelete",
      "summary": "Delete one specified backup record from the database table.",
      "description": "The backup record must exist in Orchestrator.",
      "input": [
        {
          "name": "backupFilePk",
          "type": "number",
          "info": "Primary key of the backup record.",
          "required": true,
          "schema": {
            "title": "backupFilePk",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/backupDelete"
      },
      "task": true
    },
    {
      "name": "backupGet",
      "summary": "Get backup history.",
      "description": "Get backup history.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Primary key of the appliance",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/backupGet"
      },
      "task": true
    },
    {
      "name": "applianceChgGr",
      "summary": "Change one or more appliances' group",
      "description": "To get primary key of Orchestrator groups, perform GET /gms/group",
      "input": [
        {
          "name": "groupPk",
          "type": "string",
          "info": "group primary key",
          "required": true,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "appliancePrimaryKeys",
          "type": "object",
          "info": "An array of appliance primary keys",
          "required": true,
          "schema": {
            "title": "appliancePrimaryKeys",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applianceChgGr"
      },
      "task": true
    },
    {
      "name": "changeAppliancePassword",
      "summary": "Change a user's password on appliance.",
      "description": "Change a user's password on appliance",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nepk of the appliance.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "username",
          "type": "string",
          "info": "The username you want to change the password for",
          "required": true,
          "schema": {
            "title": "username",
            "type": "string"
          }
        },
        {
          "name": "password",
          "type": "object",
          "info": "An object with the password you want to apply",
          "required": true,
          "schema": {
            "title": "password",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/changeAppliancePassword"
      },
      "task": true
    },
    {
      "name": "deleteForRediscovery",
      "summary": "Delete for rediscovery.",
      "description": "The primary key must exist in Orchestrator.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "nePk.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteForRediscovery"
      },
      "task": true
    },
    {
      "name": "deniedAppliance",
      "summary": "Get the all denied appliances",
      "description": "Get the all denied appliances",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/deniedAppliance"
      },
      "task": true
    },
    {
      "name": "getAllDiscoveredAppliances",
      "summary": "Returns the all discovered appliances",
      "description": "Returns the all discovered appliances",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllDiscoveredAppliances"
      },
      "task": true
    },
    {
      "name": "addDiscoveredApplianceToOrchestrator",
      "summary": "Add discovered appliances to Orchestrator",
      "description": "This API is to add the discovered appliance to Orchestrator. To find the ID of the orchestrator groups, see the documentation for the 'group' api. To find the ID of a particular discovered appliance, use the /appliance/discovered api.   To have the appliance licensed/approved. You should use the /license/portal/appliance/grant API (after using this api to add the discovered appliance)",
      "input": [
        {
          "name": "key",
          "type": "string",
          "info": "Primary key of discovered appliance.",
          "required": true,
          "schema": {
            "title": "key",
            "type": "string"
          }
        },
        {
          "name": "id",
          "type": "object",
          "info": "group ID",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/addDiscoveredApplianceToOrchestrator"
      },
      "task": true
    },
    {
      "name": "approveDiscoveredAppliances",
      "summary": "Add and approve discovered appliances",
      "description": "This API is to approve a discovered appliance and add it to Orchestrator. To find the ID of the orchestrator groups, see the documentation for the 'group' api. To find the ID of a particular discovered appliance, use the /appliance/discovered api.",
      "input": [
        {
          "name": "key",
          "type": "string",
          "info": "Primary key of discovered appliance.",
          "required": true,
          "schema": {
            "title": "key",
            "type": "string"
          }
        },
        {
          "name": "id",
          "type": "object",
          "info": "group ID",
          "required": true,
          "schema": {
            "title": "id",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/approveDiscoveredAppliances"
      },
      "task": true
    },
    {
      "name": "denyDiscoveredAppliances",
      "summary": "Deny discovered appliances.",
      "description": "Deny discovered appliances.",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "Primary key of the discovered appliance.",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/denyDiscoveredAppliances"
      },
      "task": true
    },
    {
      "name": "updateDiscoveredAppliances",
      "summary": "Trigger discovered appliances update",
      "description": "A request to this API will trigger the background job that updates discovered appliances to start immediately.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/updateDiscoveredAppliances"
      },
      "task": true
    },
    {
      "name": "dnsCacheConfig",
      "summary": "Gets DNS Cache configurations",
      "description": "Gets DNS Cache configurations",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dnsCacheConfig"
      },
      "task": true
    },
    {
      "name": "deleteApplianceExtraInfo",
      "summary": "Delete the extra information of an appliance",
      "description": "This will delete the extra info of the appliance from Orchestrator.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteApplianceExtraInfo"
      },
      "task": true
    },
    {
      "name": "getApplianceExtraInfo",
      "summary": "Get the extra information of an appliance",
      "description": "This resource returns the extra info of an appliance. Even if the info has not been saved yet, it will return the extra info with blank fields",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getApplianceExtraInfo"
      },
      "task": true
    },
    {
      "name": "saveApplianceExtraInfo",
      "summary": "Saves the extra information for the appliance",
      "description": "Saves or updates the extra information of the appliance. See the Model (Click Model) for more information. For custom IPSEC UDP Port, set isUserDefinedIPSecUDPPort flag to true.",
      "input": [
        {
          "name": "applianceExtraInfo",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "applianceExtraInfo",
            "type": "object"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveApplianceExtraInfo"
      },
      "task": true
    },
    {
      "name": "bridgeInterfaceState",
      "summary": "Lists the Bridge Interfaces State and pass through Tx Interface",
      "description": "Lists the Bridge Interfaces State and pass through Tx Interface",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bridgeInterfaceState"
      },
      "task": true
    },
    {
      "name": "networkRoleAndSiteGet",
      "summary": "To verify or change a Network Role (mesh / hub / spoke) for appliances",
      "description": "To verify or change a Network Role (mesh / hub / spoke) for appliances",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/networkRoleAndSiteGet"
      },
      "task": true
    },
    {
      "name": "networkRoleAndSitePost",
      "summary": "To verify or change a Network Role (mesh / hub / spoke) for appliances and to assign them to a site",
      "description": "To verify or change a Network Role (mesh / hub / spoke) for appliances and to assign them to a site",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "postNetworkRulesAndSites",
          "type": "object",
          "info": "The data to post to this API",
          "required": true,
          "schema": {
            "title": "postNetworkRulesAndSites",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/networkRoleAndSitePost"
      },
      "task": true
    },
    {
      "name": "peerPriorityGet",
      "summary": "Get all peer priority data on the appliance",
      "description": "Get all peer priority data on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Internal Id of the appliance from which you want to retrieve status information",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/peerPriorityGet"
      },
      "task": true
    },
    {
      "name": "checkAppliancesQueuedForDeletion",
      "summary": "Lists appliances ( appliance primary keys) that are queued on the Orchestrator for deletion.",
      "description": "When you delete an appliance on Orchestrator, it is not immediately deleted. It gets queued for deletion. Use this api to get appliances that are in queue for deletion",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/checkAppliancesQueuedForDeletion"
      },
      "task": true
    },
    {
      "name": "applianceGetAPI",
      "summary": "To communicate with appliance GET APIs directly.",
      "description": "Just need to input /shaper in {url} to communicate with /rest/json/shaper.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nepk of the appliance.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "url",
          "type": "string",
          "info": "The API url part behind 'rest/json/' of the appliance.",
          "required": true,
          "schema": {
            "title": "url",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applianceGetAPI"
      },
      "task": true
    },
    {
      "name": "appliancePostAPI",
      "summary": "To communicate with appliance POST APIs directly.",
      "description": "Just need to input /shaper in {url} to communicate with /rest/json/shaper.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nepk of the appliance.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "url",
          "type": "string",
          "info": "The API url part behind 'rest/json/' of the appliance.",
          "required": true,
          "schema": {
            "title": "url",
            "type": "string"
          }
        },
        {
          "name": "data",
          "type": "object",
          "info": "The data to post to the API of the appliance.",
          "required": true,
          "schema": {
            "title": "data",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appliancePostAPI"
      },
      "task": true
    },
    {
      "name": "applianceRestore",
      "summary": "Restore the appliance from the specified back.",
      "description": "Backup file primary key can be obtained using GET /appliance/backup/ . The response of this operation is a client key which can be polled to get progress of the requested operation. To poll for status, perform GET /backgroundTask/status/",
      "input": [
        {
          "name": "operation",
          "type": "object",
          "info": "Backup file",
          "required": true,
          "schema": {
            "title": "operation",
            "type": "object"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance primary key",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applianceRestore"
      },
      "task": true
    },
    {
      "name": "saveChanges",
      "summary": "Save the configuration changes in memory to a file for an array of appliances in Orchestrator",
      "description": "the data to post contains ids, ids is an array of neIds.",
      "input": [
        {
          "name": "saveChangesPostBody",
          "type": "object",
          "info": "JSON object containing an array of neIds",
          "required": true,
          "schema": {
            "title": "saveChangesPostBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveChanges"
      },
      "task": true
    },
    {
      "name": "postApplianceSaveChangesNePk",
      "summary": "Save the configuration changes in memory to a file for an appliances in Orchestrator",
      "description": "The nePk is the id of the appliance in Orchestrator.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The neId.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "saveChangesPostBody",
          "type": "object",
          "info": "This JSON object should contain nothing.",
          "required": true,
          "schema": {
            "title": "saveChangesPostBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postApplianceSaveChangesNePk"
      },
      "task": true
    },
    {
      "name": "statsConfigGet",
      "summary": "To get stats config which will be synchronized to appliances.",
      "description": "To get stats config which will be synchronized to appliances.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/statsConfigGet"
      },
      "task": true
    },
    {
      "name": "statsConfigPost",
      "summary": "To modify stats config which will be synchronized to appliances.",
      "description": "To modify stats config which will be synchronized to appliances.",
      "input": [
        {
          "name": "statsConfigPostData",
          "type": "object",
          "info": "The config data to set for this API.",
          "required": true,
          "schema": {
            "title": "statsConfigPostData",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsConfigPost"
      },
      "task": true
    },
    {
      "name": "statsConfigDefaultGet",
      "summary": "To get default stats config which will be synchronized to appliances.",
      "description": "To get default stats config which will be synchronized to appliances.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/statsConfigDefaultGet"
      },
      "task": true
    },
    {
      "name": "wanNextHopHealthGet",
      "summary": "Get wan next hop health config on the appliance",
      "description": "Get wan next hop health config on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Internal Id of the appliance from which you want to retrieve config information",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/wanNextHopHealthGet"
      },
      "task": true
    },
    {
      "name": "applianceDel",
      "summary": "Delete an appliance from network.",
      "description": "Only use this if you truly want to delete the appliance from the network. This will remove the portal account name/key from the Orchestrator. The primary key must exist in Orchestrator.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "nePk.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applianceDel"
      },
      "task": true
    },
    {
      "name": "applianceGetOne",
      "summary": "Get appliance information",
      "description": "Get appliance information",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "the primary key of appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applianceGetOne"
      },
      "task": true
    },
    {
      "name": "applianceChg",
      "summary": "Modify an appliance's IP address, username, password, networkRole, and webProtocol.",
      "description": "Modify an appliance's IP address, username, password, networkRole, and webProtocol.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance primary key",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "applianceInfo",
          "type": "object",
          "info": "Appliance information",
          "required": true,
          "schema": {
            "title": "applianceInfo",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applianceChg"
      },
      "task": true
    },
    {
      "name": "resyncAppliance",
      "summary": "Synchronize a list of appliances.",
      "description": "Synchronize operation will return a string key. Use /action/status?key=key to get the status of the operation.",
      "input": [
        {
          "name": "applianceKeys",
          "type": "object",
          "info": "JSON object containing list of appliance keys",
          "required": true,
          "schema": {
            "title": "applianceKeys",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/resyncAppliance"
      },
      "task": true
    },
    {
      "name": "appliancesSoftwareVersions",
      "summary": "Returns VXOA software versions information",
      "description": "Returns VXOA software versions information",
      "input": [
        {
          "name": "nePK",
          "type": "string",
          "info": "nePK is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "nePK",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appliancesSoftwareVersions"
      },
      "task": true
    },
    {
      "name": "applicationGet",
      "summary": "Get all built-in and user-defined applications",
      "description": "The schema shows a single application group object",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/applicationGet"
      },
      "task": true
    },
    {
      "name": "builtin",
      "summary": "Get all built-in applications from all appliance",
      "description": "Get all built-in applications from all appliance",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/builtin"
      },
      "task": true
    },
    {
      "name": "userDefined",
      "summary": "Get all userDefined applications from all appliance",
      "description": "Get all userDefined applications from all appliance",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/userDefined"
      },
      "task": true
    },
    {
      "name": "userDefinedConfig",
      "summary": "Get all user-defined application group on appliance",
      "description": "Get all user-defined application group on appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Internal Id of the appliance from which you want to retrieve status information",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/userDefinedConfig"
      },
      "task": true
    },
    {
      "name": "appTagsGet",
      "summary": "return user defined application groups",
      "description": "Use this api to find user defined application groups",
      "input": [
        {
          "name": "resourceKey",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appTagsGet"
      },
      "task": true
    },
    {
      "name": "appTagsPost",
      "summary": "Create user defined application groups",
      "description": "Warning: this api is not used for editing a single application group. Please use the same GET api to find all user defined application groups information first. Use this api to create application groups.",
      "input": [
        {
          "name": "appTagsBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "appTagsBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appTagsPost"
      },
      "task": true
    },
    {
      "name": "appGroupSearchPost",
      "summary": "Search application groups based on wildcard and limit",
      "description": "Use this api to search application groups",
      "input": [
        {
          "name": "searchWildcard",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "searchWildcard",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appGroupSearchPost"
      },
      "task": true
    },
    {
      "name": "appTagsModePost",
      "summary": "Change mode to application groups and user defined applications",
      "description": "You are not allowed to change back to legacy mode if you are currently using our cloud based application definition",
      "input": [
        {
          "name": "mode",
          "type": "string",
          "info": "either 'old' or 'new'",
          "required": true,
          "schema": {
            "title": "mode",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appTagsModePost"
      },
      "task": true
    },
    {
      "name": "appSearchPost",
      "summary": "Search applications based on wildcard and limit",
      "description": "Use this api to search application",
      "input": [
        {
          "name": "searchWildcard",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "searchWildcard",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appSearchPost"
      },
      "task": true
    },
    {
      "name": "compoundGet",
      "summary": "return user defined data for Compound classification",
      "description": "Use this api to view user defined application for Compound classification. Records with id greater 50000 are records from portal modified by user.",
      "input": [
        {
          "name": "resourceKey",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/compoundGet"
      },
      "task": true
    },
    {
      "name": "compoundReorderPost",
      "summary": "Change the order of user defined application related to Compound data",
      "description": "Use this api to change the order for all user defined application for Compound data. Please use the GET api to find all the ids. You need to include all the ids which are less or equal to 50000. You are not allowed to change the order for rules from portal.",
      "input": [
        {
          "name": "compoundIdsConfig",
          "type": "array",
          "info": "an array of comma separated ids. Please excludes ids greater than 50000. Please check the get api to find those ids.",
          "required": true,
          "schema": {
            "title": "compoundIdsConfig",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/compoundReorderPost"
      },
      "task": true
    },
    {
      "name": "compoundDelete",
      "summary": "Delete user defined application related to Compound data",
      "description": "Use this api to delete a user defined application for Compound data",
      "input": [
        {
          "name": "id",
          "type": "number",
          "info": "id",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/compoundDelete"
      },
      "task": true
    },
    {
      "name": "compoundPost",
      "summary": "Create/modify user defined application related to Compound data",
      "description": "Use this api to create or modify a user defined application for Compound data",
      "input": [
        {
          "name": "id",
          "type": "number",
          "info": "id",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        },
        {
          "name": "compoundConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "compoundConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/compoundPost"
      },
      "task": true
    },
    {
      "name": "dnsGet",
      "summary": "return user defined data for Domain Name classification",
      "description": "Use this api to view user defined application for Domain Name classification",
      "input": [
        {
          "name": "resourceKey",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dnsGet"
      },
      "task": true
    },
    {
      "name": "dnsDelete",
      "summary": "Delete user defined application related to Domain Name",
      "description": "Use this api to delete a user defined application for Domain Name",
      "input": [
        {
          "name": "domain",
          "type": "string",
          "info": "domain",
          "required": true,
          "schema": {
            "title": "domain",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dnsDelete"
      },
      "task": true
    },
    {
      "name": "dnsPost",
      "summary": "Create/modify user defined application related to Domain Name",
      "description": "Use this api to create or modify a user defined application for domain name",
      "input": [
        {
          "name": "domain",
          "type": "string",
          "info": "domain",
          "required": true,
          "schema": {
            "title": "domain",
            "type": "string"
          }
        },
        {
          "name": "dnsConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "dnsConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dnsPost"
      },
      "task": true
    },
    {
      "name": "ipIntelligenceGet",
      "summary": "return user defined data for Address Map classification",
      "description": "Use this api to view user defined application for Address Map classification",
      "input": [
        {
          "name": "resourceKey",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ipIntelligenceGet"
      },
      "task": true
    },
    {
      "name": "ipIntelligenceDelete",
      "summary": "Delete user defined application related to Address Map",
      "description": "Use this api to delete a user defined application for Address Map",
      "input": [
        {
          "name": "ipStart",
          "type": "number",
          "info": "starting ip, IPv4 address in 32-bit integer format",
          "required": true,
          "schema": {
            "title": "ipStart",
            "type": "number"
          }
        },
        {
          "name": "ipEnd",
          "type": "number",
          "info": "ending ip, IPv4 address in 32-bit integer format",
          "required": true,
          "schema": {
            "title": "ipEnd",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ipIntelligenceDelete"
      },
      "task": true
    },
    {
      "name": "ipIntelligencePost",
      "summary": "Create/modify user defined application related to Address Map",
      "description": "Use this api to create or modify a user defined application for Address Map",
      "input": [
        {
          "name": "ipStart",
          "type": "number",
          "info": "starting ip, IPv4 address in 32-bit integer format",
          "required": true,
          "schema": {
            "title": "ipStart",
            "type": "number"
          }
        },
        {
          "name": "ipEnd",
          "type": "number",
          "info": "ending ip, IPv4 address in 32-bit integer format",
          "required": true,
          "schema": {
            "title": "ipEnd",
            "type": "number"
          }
        },
        {
          "name": "ipIntelligenceConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "ipIntelligenceConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ipIntelligencePost"
      },
      "task": true
    },
    {
      "name": "legacyUdaGet",
      "summary": "return legacy UDA configuration on each appliance",
      "description": "Use this api to view the legacy UDAs on each appliance. If you do not see anything, this means you do not have any UDAs available on appliance at migration time.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/legacyUdaGet"
      },
      "task": true
    },
    {
      "name": "meterFlowGet",
      "summary": "return user defined data for Meter Flow classification",
      "description": "Use this api to view user defined application for Meter Flow classification",
      "input": [
        {
          "name": "resourceKey",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/meterFlowGet"
      },
      "task": true
    },
    {
      "name": "meterFlowDelete",
      "summary": "Delete user defined application related to Meter Flow",
      "description": "Use this api to delete a user defined application for Meter Flow",
      "input": [
        {
          "name": "flowType",
          "type": "string",
          "info": "flow type, e.g. MF",
          "required": true,
          "schema": {
            "title": "flowType",
            "type": "string"
          }
        },
        {
          "name": "mid",
          "type": "number",
          "info": "id",
          "required": true,
          "schema": {
            "title": "mid",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/meterFlowDelete"
      },
      "task": true
    },
    {
      "name": "meterFlowPost",
      "summary": "Create/modify user defined application related to Meter Flow",
      "description": "Use this api to create or modify a user defined application for Meter Flow",
      "input": [
        {
          "name": "flowType",
          "type": "string",
          "info": "flow type, e.g. MF",
          "required": true,
          "schema": {
            "title": "flowType",
            "type": "string"
          }
        },
        {
          "name": "mid",
          "type": "number",
          "info": "id",
          "required": true,
          "schema": {
            "title": "mid",
            "type": "number"
          }
        },
        {
          "name": "meterFlowConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "meterFlowConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/meterFlowPost"
      },
      "task": true
    },
    {
      "name": "portProtocolGet",
      "summary": "return user defined data for IP/TCP/UDP classification",
      "description": "Use this api to view user defined application for IP/TCP/UDP classification",
      "input": [
        {
          "name": "resourceKey",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portProtocolGet"
      },
      "task": true
    },
    {
      "name": "portProtocolDelete",
      "summary": "Delete user defined application related to IP Protocol, TCP Port, UDP Port",
      "description": "Use this api to delete a user defined application for IP Protocol(port=0), TCP Protocol(protocol=6), UDP Protocol(protocol=17)",
      "input": [
        {
          "name": "port",
          "type": "number",
          "info": "port number",
          "required": true,
          "schema": {
            "title": "port",
            "type": "number"
          }
        },
        {
          "name": "protocol",
          "type": "number",
          "info": "protocol number",
          "required": true,
          "schema": {
            "title": "protocol",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portProtocolDelete"
      },
      "task": true
    },
    {
      "name": "portProtocolPost",
      "summary": "Create/modify user defined application related to IP Protocol, TCP Port, UDP Port",
      "description": "Use this api to create or modify a user defined application for IP Protocol(port=0), TCP Protocol(protocol=6), UDP Protocol(protocol=17)",
      "input": [
        {
          "name": "port",
          "type": "number",
          "info": "port number",
          "required": true,
          "schema": {
            "title": "port",
            "type": "number"
          }
        },
        {
          "name": "protocol",
          "type": "number",
          "info": "protocol number",
          "required": true,
          "schema": {
            "title": "protocol",
            "type": "number"
          }
        },
        {
          "name": "portProtocolConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "portProtocolConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portProtocolPost"
      },
      "task": true
    },
    {
      "name": "saasGet",
      "summary": "return user defined data for SaaS classification",
      "description": "Use this api to view user defined application for SaaS classification.",
      "input": [
        {
          "name": "resourceKey",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saasGet"
      },
      "task": true
    },
    {
      "name": "saasDelete",
      "summary": "Delete user defined application related to SaaS data",
      "description": "Use this api to delete a user defined application for SaaS data",
      "input": [
        {
          "name": "id",
          "type": "number",
          "info": "id",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saasDelete"
      },
      "task": true
    },
    {
      "name": "postApplicationDefinitionSaasClassificationId",
      "summary": "Create/modify user defined application related to SaaS data",
      "description": "Use this api to create or modify a user defined application for SaaS data. Set the saasId to -1 if you need to create a new SaaS application.",
      "input": [
        {
          "name": "id",
          "type": "number",
          "info": "id",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        },
        {
          "name": "saasConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "saasConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postApplicationDefinitionSaasClassificationId"
      },
      "task": true
    },
    {
      "name": "applicationGroups",
      "summary": "Get all applicationGroups on a appliance",
      "description": "Get all applicationGroups on a appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Internal Id of the appliance from which you want to retrieve status information",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applicationGroups"
      },
      "task": true
    },
    {
      "name": "applicationTrends",
      "summary": "Returns bandwidth stats about applications",
      "description": "\"appliance-name\" key corresponds to a specific appliance name and \"appName\" corresponds to a specific application name",
      "input": [
        {
          "name": "startDate",
          "type": "number",
          "info": "Beginning date for stats in milliseconds",
          "required": true,
          "schema": {
            "title": "startDate",
            "type": "number"
          }
        },
        {
          "name": "endDate",
          "type": "number",
          "info": "End date for stats in milliseconds",
          "required": true,
          "schema": {
            "title": "endDate",
            "type": "number"
          }
        },
        {
          "name": "traffic",
          "type": "string",
          "info": "Traffic type",
          "required": true,
          "schema": {
            "title": "traffic",
            "type": "string"
          }
        },
        {
          "name": "bound",
          "type": "string",
          "info": "Traffic direction",
          "required": true,
          "schema": {
            "title": "bound",
            "type": "string"
          }
        },
        {
          "name": "nePKList",
          "type": "string",
          "info": "List of appliances IDs like so: 0.NE,1.NE",
          "required": true,
          "schema": {
            "title": "nePKList",
            "type": "string"
          }
        },
        {
          "name": "customRangeUsed",
          "type": "boolean",
          "info": "Indicates if custom date rage is used",
          "required": false,
          "schema": {
            "title": "customRangeUsed",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applicationTrends"
      },
      "task": true
    },
    {
      "name": "auth",
      "summary": "Get the authentication order and authorization information",
      "description": "the returned data contains aaa, radius and tacacs objects. aaa object includes auth_method and author objects. auth_method represents Authentication Order for the appliance, You can have upto 3 levels of Authentication Order (local, radius and tacacs).  author represents Authorization Information for the appliance and it consists of default user and map order.   radius and tacacs contains server object, The return value is a hash map of RADIUS/TACACS settings keyed by their Order.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/auth"
      },
      "task": true
    },
    {
      "name": "authentication",
      "summary": "Use this api to login to Orchestrator using FORM post. Commonly used to embed orchestrator UI or proxy orchestrator login via a web proxy.",
      "description": "Use this api to login to Orchestrator using FORM post. Commonly used to embed orchestrator UI or proxy orchestrator login via a web proxy.",
      "input": [
        {
          "name": "user",
          "type": "string",
          "info": "User id. Sent as a query param when login form is submitted",
          "required": true,
          "schema": {
            "title": "user",
            "type": "string"
          }
        },
        {
          "name": "password",
          "type": "string",
          "info": "Password. Sent as a query param when login form is submitted",
          "required": true,
          "schema": {
            "title": "password",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/authentication"
      },
      "task": true
    },
    {
      "name": "getAuthenticationLoginStatus",
      "summary": "Get the current authentication status of the HTTP session",
      "description": "Get the current authentication status of the HTTP session",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAuthenticationLoginStatus"
      },
      "task": true
    },
    {
      "name": "postAuthenticationLoginToken",
      "summary": "Send a 2-factor code to user's mailbox for 2-factor authentication",
      "description": "Send a 2-factor code to user's mailbox for 2-factor authentication",
      "input": [
        {
          "name": "requestLoginToken",
          "type": "object",
          "info": "Json object containing user id and password, sent as user authentication information when user want to receive 2-factor code",
          "required": true,
          "schema": {
            "title": "requestLoginToken",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postAuthenticationLoginToken"
      },
      "task": true
    },
    {
      "name": "getAuthenticationLogout",
      "summary": "Logout of current HTTP session",
      "description": "Logout of current HTTP session",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAuthenticationLogout"
      },
      "task": true
    },
    {
      "name": "postAuthenticationPasswordValidation",
      "summary": "Authenticate user's password only, but doesn't mark user's status as login",
      "description": "Authenticate user's password only, but doesn't mark user's status as login",
      "input": [
        {
          "name": "loginToken",
          "type": "object",
          "info": "Json object containing user id and password, sent as query param when user want to validate user's password",
          "required": true,
          "schema": {
            "title": "loginToken",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postAuthenticationPasswordValidation"
      },
      "task": true
    },
    {
      "name": "userAuthType",
      "summary": "Check the two factor authentication methods the user requires to login",
      "description": "Possible authentication types include PASSWORDONLY, MAIL, APP, MAIL_AND_APP",
      "input": [
        {
          "name": "loginToken",
          "type": "object",
          "info": "Json object containing user id and password",
          "required": true,
          "schema": {
            "title": "loginToken",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/userAuthType"
      },
      "task": true
    },
    {
      "name": "userAuthTypeToken",
      "summary": "Check the two factor authentication methods the user has active using a reset password token",
      "description": "Possible authentication types include PASSWORDONLY, MAIL, APP, MAIL_AND_APP",
      "input": [
        {
          "name": "resetPasswordToken",
          "type": "object",
          "info": "Json object containing the reset password token",
          "required": true,
          "schema": {
            "title": "resetPasswordToken",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/userAuthTypeToken"
      },
      "task": true
    },
    {
      "name": "avcMode",
      "summary": "Returns Orchestrator avc Mode",
      "description": "Returns Orchestrator avc Mode",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/avcMode"
      },
      "task": true
    },
    {
      "name": "bannerInfo",
      "summary": "Lists the banner messages on each appliance",
      "description": "Lists the banner messages on each appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bannerInfo"
      },
      "task": true
    },
    {
      "name": "getNeighbor",
      "summary": "Get specific neighbor configuration data.",
      "description": "Get specific neighbor configuration data.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId of the appliance",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getNeighbor"
      },
      "task": true
    },
    {
      "name": "getBGPSystemConfig",
      "summary": "Get BGP system configuration data.",
      "description": "Get BGP system configuration data.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId of the appliance",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getBGPSystemConfig"
      },
      "task": true
    },
    {
      "name": "bGPState",
      "summary": "Get specific appliance bgp state details.",
      "description": "Get specific appliance bgp state details.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId of the appliance",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bGPState"
      },
      "task": true
    },
    {
      "name": "textCustomizationConfigDelete",
      "summary": "Delete all text brand customization configurations",
      "description": "Delete all text brand customization configurations",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/textCustomizationConfigDelete"
      },
      "task": true
    },
    {
      "name": "textCustomizationConfigGet",
      "summary": "Get text brand customization configurations",
      "description": "Get text brand customization configurations",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/textCustomizationConfigGet"
      },
      "task": true
    },
    {
      "name": "textCustomizationConfigPost",
      "summary": "Create new text brand customization configurations",
      "description": "Create new text brand customization configurations",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "POST body is an object of text customization configuration object",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/textCustomizationConfigPost"
      },
      "task": true
    },
    {
      "name": "textCustomizationConfigPut",
      "summary": "Update text brand customization configurations",
      "description": "Update text brand customization configurations",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "PUT body is an object of text customization configuration object",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/textCustomizationConfigPut"
      },
      "task": true
    },
    {
      "name": "fileNameGet",
      "summary": "Return file names for all the uploaded images",
      "description": "Return file names for all the uploaded images",
      "input": [
        {
          "name": "metaData",
          "type": "boolean",
          "info": "Sub-resource type",
          "required": true,
          "schema": {
            "title": "metaData",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/fileNameGet"
      },
      "task": true
    },
    {
      "name": "imageDelete",
      "summary": "Delete image for given type of brand customization and restore default",
      "description": "Delete image for given type of brand customization and restore default",
      "input": [
        {
          "name": "type",
          "type": "string",
          "info": "The type of customization. e.g. 'backgroundImage'.",
          "required": true,
          "schema": {
            "title": "type",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/imageDelete"
      },
      "task": true
    },
    {
      "name": "imagePost",
      "summary": "Upload image for given type of brand customization",
      "description": "Upload image for given type of brand customization",
      "input": [
        {
          "name": "type",
          "type": "string",
          "info": "The type of customization. e.g. 'backgroundImage'.",
          "required": true,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "qqfile",
          "type": "string",
          "info": "File name",
          "required": true,
          "schema": {
            "title": "qqfile",
            "type": "string"
          }
        },
        {
          "name": "qqfileFormData",
          "type": "string",
          "info": "Image file",
          "required": true,
          "schema": {
            "title": "qqfileFormData",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/imagePost"
      },
      "task": true
    },
    {
      "name": "putBrandCustomizationImageType",
      "summary": "Update image for given type of brand customization",
      "description": "Update image for given type of brand customization",
      "input": [
        {
          "name": "type",
          "type": "string",
          "info": "The type of customization. e.g. 'backgroundImage'.",
          "required": true,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "qqfile",
          "type": "string",
          "info": "File name",
          "required": true,
          "schema": {
            "title": "qqfile",
            "type": "string"
          }
        },
        {
          "name": "qqfileFormData",
          "type": "string",
          "info": "Image file",
          "required": true,
          "schema": {
            "title": "qqfileFormData",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putBrandCustomizationImageType"
      },
      "task": true
    },
    {
      "name": "broadcastCliPost",
      "summary": "Broadcasts CLI commands to all the selected appliances",
      "description": "Broadcasts CLI commands to all the selected appliances",
      "input": [
        {
          "name": "operation",
          "type": "object",
          "info": "The data to post to this API",
          "required": true,
          "schema": {
            "title": "operation",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/broadcastCliPost"
      },
      "task": true
    },
    {
      "name": "bypassPost",
      "summary": "Toggles bypass mode - only effective on NX appliances",
      "description": "Toggles bypass mode - only effective on NX appliances",
      "input": [
        {
          "name": "operation",
          "type": "object",
          "info": "The data to post to this API",
          "required": true,
          "schema": {
            "title": "operation",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bypassPost"
      },
      "task": true
    },
    {
      "name": "bypassGet",
      "summary": "Get bypass mode settings of one appliance in Orchestrator.",
      "description": "Get bypass mode settings of one appliance in Orchestrator.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The neId of the appliance in Orchestrator.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Whether to get the info from Orchestrator database.",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/bypassGet"
      },
      "task": true
    },
    {
      "name": "builtinAppGet",
      "summary": "Get all built in applications",
      "description": "Get all built in applications",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/builtinAppGet"
      },
      "task": true
    },
    {
      "name": "interfaceGet",
      "summary": "Get all appliances' interface endpoints' information including IP addresses.",
      "description": "Get all appliances' interface endpoints' information including IP addresses.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/interfaceGet"
      },
      "task": true
    },
    {
      "name": "userAppGet",
      "summary": "Gets the user applications",
      "description": "Gets the user applications",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/userAppGet"
      },
      "task": true
    },
    {
      "name": "cloudAppsConfig",
      "summary": "Get SaaS Optimization configuration information for appliance",
      "description": "This api provides the following information: SaaS Optimization flag (enabled/disabled), RTT Calculation Interval, RTT Ping Interface, and a list of Cloud Applications downloaded from portal",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/cloudAppsConfig"
      },
      "task": true
    },
    {
      "name": "cloudAppsMonitor",
      "summary": "Get reachability/RTT values for SaaS App subnets enabled for advertisement",
      "description": "Get reachability/RTT values for SaaS App subnets enabled for advertisement",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/cloudAppsMonitor"
      },
      "task": true
    },
    {
      "name": "disks",
      "summary": "Get disks information.",
      "description": "the return data contains disks, controller objects and diskImage. disks object is a map of disk partitions keyed by their disk ids. controller object is a map of hard disk drive keyed by their disk ids.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/disks"
      },
      "task": true
    },
    {
      "name": "dbPartition",
      "summary": "Gets Orchestrator database partition details",
      "description": "Gets Orchestrator database partition details",
      "input": [
        {
          "name": "table",
          "type": "string",
          "info": "Name of the table",
          "required": false,
          "schema": {
            "title": "table",
            "type": "string"
          }
        },
        {
          "name": "partition",
          "type": "string",
          "info": "Name of the partition",
          "required": false,
          "schema": {
            "title": "partition",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dbPartition"
      },
      "task": true
    },
    {
      "name": "deletePartition",
      "summary": "Deletes the table's partition",
      "description": "Delete default & current partition cannot be deleted",
      "input": [
        {
          "name": "table",
          "type": "string",
          "info": "Name of the table",
          "required": true,
          "schema": {
            "title": "table",
            "type": "string"
          }
        },
        {
          "name": "partition",
          "type": "string",
          "info": "Name of the partition",
          "required": true,
          "schema": {
            "title": "partition",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deletePartition"
      },
      "task": true
    },
    {
      "name": "cancel",
      "summary": "Cancel download the file",
      "description": "Cancel download the file",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/cancel"
      },
      "task": true
    },
    {
      "name": "deleteGMSDebugFile",
      "summary": "Delete the Orchestrator debug file",
      "description": "Delete the Orchestrator debug file",
      "input": [
        {
          "name": "deleteGMSDebugFile",
          "type": "object",
          "info": "The name of the orchestrator debug file",
          "required": true,
          "schema": {
            "title": "deleteGMSDebugFile",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteGMSDebugFile"
      },
      "task": true
    },
    {
      "name": "deleteNeFile",
      "summary": "Delete the debug file on the appliance",
      "description": "Delete the debug file on the appliance",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "nePk is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "deleteInfoClass",
          "type": "object",
          "info": "The info of the deleted file",
          "required": true,
          "schema": {
            "title": "deleteInfoClass",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteNeFile"
      },
      "task": true
    },
    {
      "name": "getProxyConfig",
      "summary": "Get the proxy config settings",
      "description": "Return data is an object, the keys contains 'proxyHost', 'proxyPassword', 'proxyPort', 'proxyUser' and 'useProxy'",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getProxyConfig"
      },
      "task": true
    },
    {
      "name": "setProxyConfig",
      "summary": "Set the proxy config settings",
      "description": "Set the proxy config settings",
      "input": [
        {
          "name": "proxyConfig",
          "type": "object",
          "info": "The proxy config settings",
          "required": true,
          "schema": {
            "title": "proxyConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/setProxyConfig"
      },
      "task": true
    },
    {
      "name": "debugFiles",
      "summary": "Get the debug files",
      "description": "Returned data is an object, The key is 'debugDump', 'techDump', 'snapshots', 'tcpDump', 'debugFile' and 'log', each value is an object of the debug file info. Each the debug file info contains 'name' and 'stats'. The value of the stats is an object of the stats.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "nePk is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/debugFiles"
      },
      "task": true
    },
    {
      "name": "validateDeployment",
      "summary": "Validate deployment configuration",
      "description": "Validate a deployment configuration, and see whether or not the deployment will require a reboot after apply.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance ne pk.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "deployment",
          "type": "object",
          "info": "The deployment configuration to validate on the appliance",
          "required": true,
          "schema": {
            "title": "deployment",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/validateDeployment"
      },
      "task": true
    },
    {
      "name": "validateDiscoveredDeployment",
      "summary": "Validate deployment configuration for a discovered appliance.",
      "description": "Validate the deployment of an appliance that is discovered but not yet managed.",
      "input": [
        {
          "name": "discoveredApplianceId",
          "type": "string",
          "info": "The ID of the discovered appliance",
          "required": true,
          "schema": {
            "title": "discoveredApplianceId",
            "type": "string"
          }
        },
        {
          "name": "deployment",
          "type": "object",
          "info": "The deployment configuration to validate on the appliance",
          "required": true,
          "schema": {
            "title": "deployment",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/validateDiscoveredDeployment"
      },
      "task": true
    },
    {
      "name": "getApplianceDeployment",
      "summary": "Get the deployment configuration of the appliance, does a direct call to the appliance.",
      "description": "Get the deployment configuration of the appliance, does a direct call to the appliance.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance ne pk.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getApplianceDeployment"
      },
      "task": true
    },
    {
      "name": "dhcpConfigGet",
      "summary": "Get orchestrator DHCP settings",
      "description": "These setting are used to manage a global DHCP pool on the orchestrator. Also they serve as defaults for the DHCP settings in the Deployment Profiles",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/dhcpConfigGet"
      },
      "task": true
    },
    {
      "name": "dhcpConfigPost",
      "summary": "Save orchestrator DHCP settings",
      "description": "Save orchestrator DHCP settings",
      "input": [
        {
          "name": "dhcpConfigPost",
          "type": "object",
          "info": "JSON object containing DHCP settings",
          "required": true,
          "schema": {
            "title": "dhcpConfigPost",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dhcpConfigPost"
      },
      "task": true
    },
    {
      "name": "dhcpdLeases",
      "summary": "Get DHCP leases information.",
      "description": "There may be dynamic fields in the actual data. For details regarding schema for leases file checkout: http://linux.die.net/man/5/dhcpd.leases",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dhcpdLeases"
      },
      "task": true
    },
    {
      "name": "dhcpReservationsGet",
      "summary": "Get list of reserved subnets from the DHCP pool",
      "description": "Get list of reserved subnets from the DHCP pool",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/dhcpReservationsGet"
      },
      "task": true
    },
    {
      "name": "dhcpReservationsPost",
      "summary": "Reserve a subnet in the DHCP pool",
      "description": "Reserve a subnet in the DHCP pool",
      "input": [
        {
          "name": "dhcpConfigPost",
          "type": "object",
          "info": "JSON object containing DHCP pool reservation data",
          "required": true,
          "schema": {
            "title": "dhcpConfigPost",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dhcpReservationsPost"
      },
      "task": true
    },
    {
      "name": "dhcpReservationsGmsPost",
      "summary": "Update DHCP pool reservations list. This api can be used to clear up local reservations (that have not been configured on appliance yet)",
      "description": "Update DHCP pool reservations list. This api can be used to clear up local reservations (that have not been configured on appliance yet)",
      "input": [
        {
          "name": "dhcpConfigGmsPost",
          "type": "array",
          "info": "JSON object containing DHCP pool reservation data",
          "required": true,
          "schema": {
            "title": "dhcpConfigGmsPost",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dhcpReservationsGmsPost"
      },
      "task": true
    },
    {
      "name": "dhcpConfigResetPost",
      "summary": "Remove all DHCP pool reservations",
      "description": "Remove all DHCP pool reservations",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/dhcpConfigResetPost"
      },
      "task": true
    },
    {
      "name": "dhcpdFailoverStates",
      "summary": "Get dhcpd leases report of failover state",
      "description": "There may be dynamic fields in the actual data. For details regarding schema for leases file checkout: http://linux.die.net/man/5/dhcpd.leases",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dhcpdFailoverStates"
      },
      "task": true
    },
    {
      "name": "dnsProxyConfigGet",
      "summary": "Get the DNS proxy config",
      "description": "The returned data is an object. It includes all of the DNS proxy configurations; notably the profiles, domain groups and maps.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dnsProxyConfigGet"
      },
      "task": true
    },
    {
      "name": "tunnelExceptionDelete",
      "summary": "Delete all tunnel exceptions",
      "description": "Use this API to delete all current tunnel exceptions",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/tunnelExceptionDelete"
      },
      "task": true
    },
    {
      "name": "tunnelExceptionGet",
      "summary": "Get all tunnel exceptions",
      "description": "Get all tunnel exceptions",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/tunnelExceptionGet"
      },
      "task": true
    },
    {
      "name": "tunnelExceptionPost",
      "summary": "Create tunnel exceptions",
      "description": "POST body is an array of tunnel exception entries.",
      "input": [
        {
          "name": "requestBody",
          "type": "array",
          "info": "Array of tunnel Exception entry, 'id' of the exception must be 0 or not present",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/tunnelExceptionPost"
      },
      "task": true
    },
    {
      "name": "tunnelExceptionPut",
      "summary": "Update tunnel exceptions",
      "description": "Use this API to update multiple tunnel exceptions in one REST call.",
      "input": [
        {
          "name": "requestBody",
          "type": "array",
          "info": "Array of tunnel exception entries, 'id's of entries must be valid existing",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/tunnelExceptionPut"
      },
      "task": true
    },
    {
      "name": "tunnelExceptionSingleDelete",
      "summary": "Delete single tunnel exceptions",
      "description": "Use this API to delete a specific tunnel exception.",
      "input": [
        {
          "name": "id",
          "type": "number",
          "info": "The valid id of the an existing tunnel exception.",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/tunnelExceptionSingleDelete"
      },
      "task": true
    },
    {
      "name": "tunnelExceptionSingleUpdate",
      "summary": "Update a single tunnel exceptions",
      "description": "Use this API to update a specific tunnel exception.",
      "input": [
        {
          "name": "id",
          "type": "number",
          "info": "The valid id of the an existing tunnel exception.",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "Tunnel exception entry",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/tunnelExceptionSingleUpdate"
      },
      "task": true
    },
    {
      "name": "fileCreation",
      "summary": "This API is to be used with fineuploader.js plugin. See fineuploader.com",
      "description": "This API is to be used with fineuploader.js plugin. See fineuploader.com",
      "input": [
        {
          "name": "type",
          "type": "string",
          "info": "Type of upload",
          "required": true,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "qqfile",
          "type": "string",
          "info": "Name of the file",
          "required": true,
          "schema": {
            "title": "qqfile",
            "type": "string"
          }
        },
        {
          "name": "qqfileFormData",
          "type": "string",
          "info": "Name of the file",
          "required": true,
          "schema": {
            "title": "qqfileFormData",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/fileCreation"
      },
      "task": true
    },
    {
      "name": "flowBandwidthStats",
      "summary": "Returns the so far accumulated bandwidth stats about the flow",
      "description": "Returns the so far accumulated bandwidth stats about the flow",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "id",
          "type": "number",
          "info": "Flow ID",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        },
        {
          "name": "seq",
          "type": "number",
          "info": "Flow sequence number",
          "required": true,
          "schema": {
            "title": "seq",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/flowBandwidthStats"
      },
      "task": true
    },
    {
      "name": "flowDetails",
      "summary": "Returns flow details",
      "description": "Returns flow details",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "id",
          "type": "number",
          "info": "Flow ID",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        },
        {
          "name": "seq",
          "type": "number",
          "info": "Flow sequence number",
          "required": true,
          "schema": {
            "title": "seq",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/flowDetails"
      },
      "task": true
    },
    {
      "name": "flowDetails2",
      "summary": "Returns more detailed info about the flow",
      "description": "Returns more detailed info about the flow",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "id",
          "type": "number",
          "info": "Flow ID",
          "required": true,
          "schema": {
            "title": "id",
            "type": "number"
          }
        },
        {
          "name": "seq",
          "type": "number",
          "info": "Flow sequence number",
          "required": true,
          "schema": {
            "title": "seq",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/flowDetails2"
      },
      "task": true
    },
    {
      "name": "flowsReclassification",
      "summary": "Reclassifies the flow(s)",
      "description": "Reclassifies the flow(s)",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "flowsReClassificationBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "flowsReClassificationBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/flowsReclassification"
      },
      "task": true
    },
    {
      "name": "flowsReset",
      "summary": "Resets the flow(s)",
      "description": "Resets the flow(s)",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "flowsResetBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "flowsResetBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/flowsReset"
      },
      "task": true
    },
    {
      "name": "flows",
      "summary": "Returns active, inactive, or both types of flows on the appliance based on the query parameters supplied",
      "description": "Flows can be more specifically filtered by the available query parameters.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "ip1",
          "type": "string",
          "info": "First IP endpoint",
          "required": false,
          "schema": {
            "title": "ip1",
            "type": "string"
          }
        },
        {
          "name": "mask1",
          "type": "number",
          "info": "Mask for ip1",
          "required": false,
          "schema": {
            "title": "mask1",
            "type": "number"
          }
        },
        {
          "name": "port1",
          "type": "number",
          "info": "Port of first IP endpoint",
          "required": false,
          "schema": {
            "title": "port1",
            "type": "number"
          }
        },
        {
          "name": "ip2",
          "type": "string",
          "info": "Second IP endpoint",
          "required": false,
          "schema": {
            "title": "ip2",
            "type": "string"
          }
        },
        {
          "name": "mask2",
          "type": "number",
          "info": "Mask for ip2",
          "required": false,
          "schema": {
            "title": "mask2",
            "type": "number"
          }
        },
        {
          "name": "port2",
          "type": "number",
          "info": "Port of second IP endpoint",
          "required": false,
          "schema": {
            "title": "port2",
            "type": "number"
          }
        },
        {
          "name": "ipEitherFlag",
          "type": "boolean",
          "info": "Enable directionality for IP. If true, ip1 will be treated as the source IP, and ip2 will be treated as the destination IP",
          "required": false,
          "schema": {
            "title": "ipEitherFlag",
            "type": "boolean"
          }
        },
        {
          "name": "portEitherFlag",
          "type": "boolean",
          "info": "Enable directionality for port. If true, port1 will be treated as the source port, and port2 will be treated as the destination port",
          "required": false,
          "schema": {
            "title": "portEitherFlag",
            "type": "boolean"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Application specific flows. Drop-down only shows built-in apps and not user-defined apps",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "applicationGroup",
          "type": "string",
          "info": "Application groups. Drop-down only shows a small subset of application groups",
          "required": false,
          "schema": {
            "title": "applicationGroup",
            "type": "string"
          }
        },
        {
          "name": "protocol",
          "type": "string",
          "info": "Application protocol",
          "required": false,
          "schema": {
            "title": "protocol",
            "type": "string"
          }
        },
        {
          "name": "vlan",
          "type": "number",
          "info": "Virtual LAN ID",
          "required": false,
          "schema": {
            "title": "vlan",
            "type": "number"
          }
        },
        {
          "name": "dscp",
          "type": "string",
          "info": "DSCP marking",
          "required": false,
          "schema": {
            "title": "dscp",
            "type": "string"
          }
        },
        {
          "name": "overlays",
          "type": "string",
          "info": "Overlay ID. Multiple values must be separated with \"|\". E.g. \"1|2\"",
          "required": false,
          "schema": {
            "title": "overlays",
            "type": "string"
          }
        },
        {
          "name": "transport",
          "type": "string",
          "info": "Transport type. Accepted values: \"fabric\", \"underlay\", \"breakout\". Multiple values must be separated with \"|\". E.g. \"fabric|underlay\". Note: Fabric refers to SD-WAN.",
          "required": false,
          "schema": {
            "title": "transport",
            "type": "string"
          }
        },
        {
          "name": "services",
          "type": "array",
          "info": "Service name. Third party services should be formatted with an asterisk symbol at the end in order to filter by prefix instead of finding a complete match. Multiple servi...(description truncated)",
          "required": false,
          "schema": {
            "title": "services",
            "type": "array"
          }
        },
        {
          "name": "zone1",
          "type": "string",
          "info": "Flows to zone1. Values: \"any\", \"0\" (default), \"zone_id\"",
          "required": false,
          "schema": {
            "title": "zone1",
            "type": "string"
          }
        },
        {
          "name": "zone2",
          "type": "string",
          "info": "Flows from zone2. Values: \"any\", \"0\" (default), \"zone_id\"",
          "required": false,
          "schema": {
            "title": "zone2",
            "type": "string"
          }
        },
        {
          "name": "zoneEither",
          "type": "string",
          "info": "Flows either to zoneEither or from zoneEither. Values: \"any\", \"0\" (default), \"zone_id\"",
          "required": false,
          "schema": {
            "title": "zoneEither",
            "type": "string"
          }
        },
        {
          "name": "filter",
          "type": "string",
          "info": "Flow categories",
          "required": false,
          "schema": {
            "title": "filter",
            "type": "string"
          }
        },
        {
          "name": "edgeHA",
          "type": "boolean",
          "info": "Edge HA flows. \"True\" to include, \"False\" to exclude",
          "required": false,
          "schema": {
            "title": "edgeHA",
            "type": "boolean"
          }
        },
        {
          "name": "builtIn",
          "type": "boolean",
          "info": "Built-in policy flows. \"True\" to include, \"False\" to exclude",
          "required": false,
          "schema": {
            "title": "builtIn",
            "type": "boolean"
          }
        },
        {
          "name": "uptime",
          "type": "string",
          "info": "Active and ended flow timing. If not specified, it defaults to \"anytime\" plus \"term\"",
          "required": false,
          "schema": {
            "title": "uptime",
            "type": "string"
          }
        },
        {
          "name": "bytes",
          "type": "string",
          "info": "Bytes transferred",
          "required": false,
          "schema": {
            "title": "bytes",
            "type": "string"
          }
        },
        {
          "name": "duration",
          "type": "string",
          "info": "Flows that have lasted less than (\" \") the specified duration (in minutes). Value should be \"any\" or a number formatted with a \" \" in front of a value between 0 and 18446...(description truncated)",
          "required": false,
          "schema": {
            "title": "duration",
            "type": "string"
          }
        },
        {
          "name": "anytimeSlowFlows",
          "type": "string",
          "info": "Slow Flows flag. If this flag is present, it will show slow flows only",
          "required": false,
          "schema": {
            "title": "anytimeSlowFlows",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/flows"
      },
      "task": true
    },
    {
      "name": "getAdvProp",
      "summary": "Get Orchestrator advanced properties",
      "description": "Get Orchestrator advanced properties",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAdvProp"
      },
      "task": true
    },
    {
      "name": "postAdvProp",
      "summary": "Update Orchestrator advanced properties",
      "description": "Update Orchestrator advanced properties",
      "input": [
        {
          "name": "advancedProperties",
          "type": "object",
          "info": "JSON object for Orchestrator Advanced Properties.",
          "required": true,
          "schema": {
            "title": "advancedProperties",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postAdvProp"
      },
      "task": true
    },
    {
      "name": "getGmsAdvancedPropertiesMetadata",
      "summary": "Get Orchestrator metadata of the advanced properties",
      "description": "Get Orchestrator metadata of the advanced properties",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getGmsAdvancedPropertiesMetadata"
      },
      "task": true
    },
    {
      "name": "getPreconfigurations",
      "summary": "Get all preconfigurations",
      "description": "Get all preconfigurations",
      "input": [
        {
          "name": "filter",
          "type": "string",
          "info": "Any additional filters to be applied",
          "required": false,
          "schema": {
            "title": "filter",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPreconfigurations"
      },
      "task": true
    },
    {
      "name": "createPreconfiguration",
      "summary": "Create a preconfiguration",
      "description": "Create a preconfiguration",
      "input": [
        {
          "name": "createPreconfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "createPreconfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createPreconfiguration"
      },
      "task": true
    },
    {
      "name": "getDefaultPreconfigurations",
      "summary": "Get the default preconfiguration, this contains the template YAML which has all possible configuration items. You will have to base64 decode configData to see the YAML in plain text",
      "description": "Get the default preconfiguration, this contains the template YAML which has all possible configuration items. You will have to base64 decode configData to see the YAML in plain text",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDefaultPreconfigurations"
      },
      "task": true
    },
    {
      "name": "getMatchingPreconfiguration",
      "summary": "Get the first matching preconfiguration, matching by serial then tag",
      "description": "Get the first matching preconfiguration, matching by serial then tag",
      "input": [
        {
          "name": "matchPreconfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "matchPreconfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getMatchingPreconfiguration"
      },
      "task": true
    },
    {
      "name": "postGmsAppliancePreconfigurationValidate",
      "summary": "Get the first matching preconfiguration, matching by serial then tag",
      "description": "Get the first matching preconfiguration, matching by serial then tag",
      "input": [
        {
          "name": "createPreconfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "createPreconfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postGmsAppliancePreconfigurationValidate"
      },
      "task": true
    },
    {
      "name": "deletePreconfiguration",
      "summary": "Delete one preconfiguration",
      "description": "Delete one preconfiguration",
      "input": [
        {
          "name": "preconfigId",
          "type": "string",
          "info": "The ID of the preconfiguration",
          "required": true,
          "schema": {
            "title": "preconfigId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deletePreconfiguration"
      },
      "task": true
    },
    {
      "name": "getPreconfiguration",
      "summary": "Get one preconfiguration",
      "description": "Get one preconfiguration",
      "input": [
        {
          "name": "preconfigId",
          "type": "string",
          "info": "The ID of the preconfiguration",
          "required": true,
          "schema": {
            "title": "preconfigId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPreconfiguration"
      },
      "task": true
    },
    {
      "name": "modifyPreconfiguration",
      "summary": "Modify one preconfiguration",
      "description": "Modify one preconfiguration",
      "input": [
        {
          "name": "createPreconfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "createPreconfig",
            "type": "object"
          }
        },
        {
          "name": "preconfigId",
          "type": "string",
          "info": "The ID of the preconfiguration",
          "required": true,
          "schema": {
            "title": "preconfigId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/modifyPreconfiguration"
      },
      "task": true
    },
    {
      "name": "getPreconfigurationApplyStatus",
      "summary": "Get the apply status of a preconfiguration",
      "description": "Get the apply status of a preconfiguration",
      "input": [
        {
          "name": "preconfigId",
          "type": "string",
          "info": "The ID of the preconfiguration",
          "required": true,
          "schema": {
            "title": "preconfigId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPreconfigurationApplyStatus"
      },
      "task": true
    },
    {
      "name": "applyDiscoveredPreconfiguration",
      "summary": "Apply preconfiguration to discovered appliance",
      "description": "Use this API when you want to apply preconfiguration to a discovered appliance (this is an appliance that is in the discovered tab in the UI). Applying will happen in the asynchronously, so poll using GET /gms/appliance/preconfiguration/{preconfigId}/apply.",
      "input": [
        {
          "name": "preconfigId",
          "type": "string",
          "info": "The ID of the preconfiguration",
          "required": true,
          "schema": {
            "title": "preconfigId",
            "type": "string"
          }
        },
        {
          "name": "discoveredId",
          "type": "string",
          "info": "The ID of the target discovered appliance",
          "required": true,
          "schema": {
            "title": "discoveredId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applyDiscoveredPreconfiguration"
      },
      "task": true
    },
    {
      "name": "applyManagedPreconfiguration",
      "summary": "Apply preconfiguration to an already managed appliance",
      "description": "Use this API when you want to apply preconfiguration to a managed appliance (this is an appliance that is in the tree in the UI). Applying will happen in the asynchronously, so poll using GET /gms/appliance/preconfiguration/{preconfigId}/apply.",
      "input": [
        {
          "name": "preconfigId",
          "type": "string",
          "info": "The ID of the preconfiguration",
          "required": true,
          "schema": {
            "title": "preconfigId",
            "type": "string"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "The ID of the target managed appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applyManagedPreconfiguration"
      },
      "task": true
    },
    {
      "name": "crashHistory",
      "summary": "Return or sends crash history of all the appliances",
      "description": "Depending on action parameter if the value is empty it returns all the appliance history otherwise it will send all the crash reports to portal",
      "input": [
        {
          "name": "action",
          "type": "string",
          "info": "if the value is empty it returns all the appliance history otherwise it will send all the crash reports to portal",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/crashHistory"
      },
      "task": true
    },
    {
      "name": "rebootHistory",
      "summary": "Return or sends reboot history of all the appliances",
      "description": "Depending on action parameter if the value is empty it returns all the appliance history otherwise it will send all the reboot reports to portal",
      "input": [
        {
          "name": "action",
          "type": "string",
          "info": "if the value is empty it returns all the appliance history otherwise it will send all the reboot reports to portal",
          "required": false,
          "schema": {
            "title": "action",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/rebootHistory"
      },
      "task": true
    },
    {
      "name": "getApplyApplianceWizard",
      "summary": "Get the handle for the currently applying wizard.",
      "description": "Returns a handle to poll. Poll handle with /action/status?key={actionGroupId}",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getApplyApplianceWizard"
      },
      "task": true
    },
    {
      "name": "applyApplianceWizard",
      "summary": "Applies the wizard to an appliance in the background",
      "description": "Applies the wizard to an appliance in the background. The wizard is broken into steps and each step is represented by an object in 'wizardData'. Every step is optional, if you don't want a step to be applied then delete it from the JSON when you POST. Subnets is special in that it will post to /subnets for  =8.1.7 appliances. If you are using an older appliance you will need to adjust the subnets.data section to match the appliance API format.\n The actionGroupId is used to poll the status of app...(description truncated)",
      "input": [
        {
          "name": "applyWizardPost",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "applyWizardPost",
            "type": "object"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applyApplianceWizard"
      },
      "task": true
    },
    {
      "name": "gmsBackupGet",
      "summary": "Returns orchestrator backup information",
      "description": "There is only one orchestrator backup schedule job. Include the orchestrator configuration and orchestrator schedule information. Both the configuration and schedule information can be empty.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/gmsBackupGet"
      },
      "task": true
    },
    {
      "name": "gmsBackupConfig",
      "summary": "add or update orchestrator backup config data",
      "description": "add or update orchestrator backup config data",
      "input": [
        {
          "name": "gmsBackConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "gmsBackConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/gmsBackupConfig"
      },
      "task": true
    },
    {
      "name": "goldenOrchestratorExport",
      "summary": "Create blueprint template",
      "description": "Create blueprint template",
      "input": [
        {
          "name": "mode",
          "type": "string",
          "info": "'template' or 'migration'",
          "required": true,
          "schema": {
            "title": "mode",
            "type": "string"
          }
        },
        {
          "name": "download",
          "type": "string",
          "info": "any value would be considered true",
          "required": true,
          "schema": {
            "title": "download",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/goldenOrchestratorExport"
      },
      "task": true
    },
    {
      "name": "gmsBackupTestConnection",
      "summary": "Test the orchestrator backup remote server whether can connect.",
      "description": "Test the orchestrator backup remote server whether can connect.",
      "input": [
        {
          "name": "gmsBackConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "gmsBackConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/gmsBackupTestConnection"
      },
      "task": true
    },
    {
      "name": "getDiscoveryConfig",
      "summary": "Returns the configuration for Discovery",
      "description": "Returns the configuration for Discovery",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getDiscoveryConfig"
      },
      "task": true
    },
    {
      "name": "updateDiscoveryConfig",
      "summary": "Updates the discovery configuration with the object passed. Note: Replaces the whole configuration with the configuration passed",
      "description": "Updates the discovery configuration with the object passed. Note: Replaces the whole configuration with the configuration passed",
      "input": [
        {
          "name": "emails",
          "type": "array",
          "info": "An array of email addresses to send the discovery (discovered, approved and denied EdgeConnects) email to.",
          "required": true,
          "schema": {
            "title": "emails",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateDiscoveryConfig"
      },
      "task": true
    },
    {
      "name": "getDynamicTopologyConfig",
      "summary": "Returns the configuration for the dynamic topology tab.",
      "description": "Returns the configuration for the dynamic topology tab.",
      "input": [
        {
          "name": "userName",
          "type": "string",
          "info": "The username you want to retrieve the topology config for",
          "required": false,
          "schema": {
            "title": "userName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDynamicTopologyConfig"
      },
      "task": true
    },
    {
      "name": "updateDynamicTopologyConfig",
      "summary": "Updates the dynamic topology configuration for the given user",
      "description": "Updates the dynamic topology configuration for the given user",
      "input": [
        {
          "name": "userName",
          "type": "string",
          "info": "The username you want to update the topology config for",
          "required": true,
          "schema": {
            "title": "userName",
            "type": "string"
          }
        },
        {
          "name": "request",
          "type": "object",
          "info": "The topology configuration to save, where the user's username is the key.",
          "required": true,
          "schema": {
            "title": "request",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateDynamicTopologyConfig"
      },
      "task": true
    },
    {
      "name": "getUserDynamicTopologyConfig",
      "summary": "Deprecated. Use the GET /gms/dynamicTopologyConfig with the userName query parameter",
      "description": "Deprecated. Use the GET /gms/dynamicTopologyConfig with the userName query parameter",
      "input": [
        {
          "name": "username",
          "type": "string",
          "info": "The username of the user to retrieve the dynamic topology configuration of.",
          "required": true,
          "schema": {
            "title": "username",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getUserDynamicTopologyConfig"
      },
      "task": true
    },
    {
      "name": "saveDynamicTopologyConfig",
      "summary": "Deprecated. Use POST /gms/dynamicTopologyConfig with the username query parameter",
      "description": "Deprecated. Use POST /gms/dynamicTopologyConfig with the username query parameter",
      "input": [
        {
          "name": "username",
          "type": "string",
          "info": "The username to save the configuration under.",
          "required": true,
          "schema": {
            "title": "username",
            "type": "string"
          }
        },
        {
          "name": "request",
          "type": "object",
          "info": "The dynamic topology configuration to save, where the user's username is the key.",
          "required": true,
          "schema": {
            "title": "request",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveDynamicTopologyConfig"
      },
      "task": true
    },
    {
      "name": "mgmInterfaceByGet",
      "summary": "Gets setting for GMS registration on appliance",
      "description": "Please use /gms/gmsRegistration2",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/mgmInterfaceByGet"
      },
      "task": true
    },
    {
      "name": "mgmInterfaceByPost",
      "summary": "update setting for GMS registration on appliance",
      "description": "Please use /gms/gmsRegistration2",
      "input": [
        {
          "name": "dnsDetails",
          "type": "object",
          "info": "Json object containing primary dns,secondary dns and domain name",
          "required": true,
          "schema": {
            "title": "dnsDetails",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/mgmInterfaceByPost"
      },
      "task": true
    },
    {
      "name": "getGmsGmsRegistration2",
      "summary": "Gets setting for GMS registration on appliance",
      "description": "This configuration determines what appliances will use to connect to Orchestrator. If the customDefaultIP is a blank string, Orchestrator will send it's internal management IP (returned as internalManagementIP) as the default.    If any labels are configured, it will push that IP/domain instead.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getGmsGmsRegistration2"
      },
      "task": true
    },
    {
      "name": "postGmsGmsRegistration2",
      "summary": "update setting for GMS registration on appliance",
      "description": "Configure what IP or domain is sent to appliances (to connect to Orchestrator). If the customDefaultIP is set to blank, Orchestrator will send it's internal management IP to the appliances. Otherwise, the default will be the customDefaultIP.    Under 'label' you can also specify which IP or domain to send if the appliance is using the label in it's deployment configuration.    If Orchestrator is managed by Orchestrator SP, the customDefaultIP cannot be empty",
      "input": [
        {
          "name": "dnsDetails",
          "type": "object",
          "info": "Json object containing the custom default IP (if you don't want to use the Orchestrator's internal IP), and the specific label configuration (not required)",
          "required": true,
          "schema": {
            "title": "dnsDetails",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postGmsGmsRegistration2"
      },
      "task": true
    },
    {
      "name": "allGRNodeGet",
      "summary": "Get appliance positions on a map for topology",
      "description": "Get appliance positions on a map for topology",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/allGRNodeGet"
      },
      "task": true
    },
    {
      "name": "grNodeUpdateByNePk",
      "summary": "Update appliance position by nePk",
      "description": "Updates an appliance position by nePk. Will only update the values (wx, wy, latitude, longitude) if the value is not 0.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance's nePk",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "gRNodeUpdatePostBody",
          "type": "object",
          "info": "Position object",
          "required": true,
          "schema": {
            "title": "gRNodeUpdatePostBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/grNodeUpdateByNePk"
      },
      "task": true
    },
    {
      "name": "grNodeGet",
      "summary": "Get appliance position by graphical node primary key",
      "description": "Get appliance position by graphical node primary key",
      "input": [
        {
          "name": "grNodePk",
          "type": "string",
          "info": "Graphical node primary key",
          "required": true,
          "schema": {
            "title": "grNodePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/grNodeGet"
      },
      "task": true
    },
    {
      "name": "grNodeUpdate",
      "summary": "Update appliance position",
      "description": "Update appliance position",
      "input": [
        {
          "name": "grNodePk",
          "type": "string",
          "info": "Graphical node primary key",
          "required": true,
          "schema": {
            "title": "grNodePk",
            "type": "string"
          }
        },
        {
          "name": "gRNodeUpdatePostBody",
          "type": "object",
          "info": "Position object",
          "required": true,
          "schema": {
            "title": "gRNodeUpdatePostBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/grNodeUpdate"
      },
      "task": true
    },
    {
      "name": "allGroupsGet",
      "summary": "Get all orchestrator groups. A group is a logical collection of appliances managed by orchestrator",
      "description": "There are system groups and there are user defined groups. System groups are groups with id: 0.Network(Root group), 1.Network(Internal purposes) and 2.Network(Auto discovered group). User defined groups start with id: 3.Network onwards",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/allGroupsGet"
      },
      "task": true
    },
    {
      "name": "groupAdd",
      "summary": "Add new group",
      "description": "Only name and parentId are required. Background image URL is optional.",
      "input": [
        {
          "name": "groupNewPostBody",
          "type": "object",
          "info": "Group information",
          "required": true,
          "schema": {
            "title": "groupNewPostBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/groupAdd"
      },
      "task": true
    },
    {
      "name": "rootGroupGet",
      "summary": "Get root group",
      "description": "Get root group",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/rootGroupGet"
      },
      "task": true
    },
    {
      "name": "groupDelete",
      "summary": "Delete a group",
      "description": "Delete a group",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "group primary key",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/groupDelete"
      },
      "task": true
    },
    {
      "name": "groupGet",
      "summary": "Get a single group",
      "description": "There are system groups and there are user defined groups. System groups are groups with id: 0.Network(Root group), 1.Network(Internal purposes) and 2.Network(Auto discovered group). User defined groups start with id: 3.Network onwards",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "group primary key. Looks like \"10.Network\"",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/groupGet"
      },
      "task": true
    },
    {
      "name": "groupUpdate",
      "summary": "Update a group",
      "description": "There are system groups and there are user defined groups. System groups are groups with id: 0.Network(Root group), 1.Network(Internal purposes) and 2.Network(Auto discovered group). User defined groups start with id: 3.Network onwards",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "group primary key. Looks like \"10.Network\"",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "groupUpdatePostBody",
          "type": "object",
          "info": "group information",
          "required": true,
          "schema": {
            "title": "groupUpdatePostBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/groupUpdate"
      },
      "task": true
    },
    {
      "name": "httpsCertificateValidation",
      "summary": "upload the intermediate certs, certificate and key files",
      "description": "upload the intermediate certs, certificate and key files",
      "input": [
        {
          "name": "certificateKeyData",
          "type": "object",
          "info": "A JSON object representing intermediate certs, certificate and key files",
          "required": true,
          "schema": {
            "title": "certificateKeyData",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/httpsCertificateValidation"
      },
      "task": true
    },
    {
      "name": "postGmsHttpsCertificateValidation",
      "summary": "Validate the certificate and key",
      "description": "Validate the certificate and key",
      "input": [
        {
          "name": "certificateKeyData",
          "type": "object",
          "info": "A JSON object representing certificate and key files",
          "required": true,
          "schema": {
            "title": "certificateKeyData",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postGmsHttpsCertificateValidation"
      },
      "task": true
    },
    {
      "name": "getInterfaceLabels",
      "summary": "Returns all the interface labels saved",
      "description": "Returns all the interface labels saved",
      "input": [
        {
          "name": "active",
          "type": "boolean",
          "info": "Boolean flag to return only the active (active = true) or only inactive (acive = false)",
          "required": false,
          "schema": {
            "title": "active",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getInterfaceLabels"
      },
      "task": true
    },
    {
      "name": "postInterfaceLabels",
      "summary": "Save interface labels, will completely replace the current implementation.",
      "description": "Save interface labels, will completely replace the current implementation. You cannot remove labels that are in use in an overlay",
      "input": [
        {
          "name": "newLabels",
          "type": "object",
          "info": "Object of labels you wish to save (will overwrite the current lan labels list). To remove a label, set the 'active' to false.",
          "required": true,
          "schema": {
            "title": "newLabels",
            "type": "object"
          }
        },
        {
          "name": "deleteDependencies",
          "type": "boolean",
          "info": "Whether or not you want to delete the labels from port profiles and templates using it",
          "required": false,
          "schema": {
            "title": "deleteDependencies",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postInterfaceLabels"
      },
      "task": true
    },
    {
      "name": "getLabelsForType",
      "summary": "Returns all the labels for the given type",
      "description": "Returns all the labels for the given type",
      "input": [
        {
          "name": "type",
          "type": "string",
          "info": "The type of interface that you want to retrieve the list of labels of [wan, lan].",
          "required": true,
          "schema": {
            "title": "type",
            "type": "string"
          }
        },
        {
          "name": "active",
          "type": "boolean",
          "info": "Boolean flag to return only the active (active = true) or only inactive (acive = false)",
          "required": false,
          "schema": {
            "title": "active",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getLabelsForType"
      },
      "task": true
    },
    {
      "name": "getInternalSubnets",
      "summary": "Get the internal subnets",
      "description": "This is the list of internal subnets used to classify internet traffic. Any traffic not matching these internal subnets will be classified as internet traffic. This list will be pushed to appliances.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getInternalSubnets"
      },
      "task": true
    },
    {
      "name": "saveInternalSubnets",
      "summary": "Save internal subnets",
      "description": "Save the list of internal subnets to use to classify internet traffic. Any traffic not matching the internal subnets will be classified as internet traffic. This list will be pushed to all appliances. User can configure up to 512 subnets in each ipv4 and ipv6 entry.",
      "input": [
        {
          "name": "body",
          "type": "string",
          "info": "",
          "required": false,
          "schema": {
            "title": "body",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveInternalSubnets"
      },
      "task": true
    },
    {
      "name": "getIPWhitelistDrops",
      "summary": "Get the IP addresses of the dropped requests to this server",
      "description": "The IP addresses of the dropped requests on this server",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getIPWhitelistDrops"
      },
      "task": true
    },
    {
      "name": "getExternalIPWhitelist",
      "summary": "Get the external IP/mask white list",
      "description": "This is the list of external subnet addresses allowed to access this server.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getExternalIPWhitelist"
      },
      "task": true
    },
    {
      "name": "setExternalIPWhitelist",
      "summary": "Set the external IP/mask white list",
      "description": "This is the list of external subnet addresses allowed to access this server.",
      "input": [
        {
          "name": "subnets",
          "type": "array",
          "info": "This is the list of external subnet addresses allowed to access this server.",
          "required": true,
          "schema": {
            "title": "subnets",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/setExternalIPWhitelist"
      },
      "task": true
    },
    {
      "name": "scheduledJobsGet",
      "summary": "Get all the scheduled jobs in Orchestrator",
      "description": "Return all the scheduled jobs.   &quot;Minute schedule - Every minute starting at effectiveTime(in epoch sec )&quot;  &quot;schedule&quot;: {  &quot;effectiveTime&quot;: 1431323520,  &quot;recurrence&quot;: {  &quot;minutes&quot;: 1  }  },      &quot;Hourly Schedule - every seven hours starting from effectiveTime&quot;  &quot;schedule&quot;: {  &quot;effectiveTime&quot;: 1431323520,  &quot;recurrence&quot;: {  &quot;hourly&quot;: 7  }  },    &quot;Daily Schedule - every weekday at 2:03 am&quot; ...(description truncated)",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/scheduledJobsGet"
      },
      "task": true
    },
    {
      "name": "scheduledJob2Post",
      "summary": "Schedule a new job in Orchestrator",
      "description": "&quot;Job category for Orchestrator jobs. &quot;  2 - Orchestrator Report, 3 - Orchestrator Backup, 4 - Appliance Reboot or Shutdown, 5 - Appliance QOS Scheduling, 6 - IPsec Pre-shared Key Rotation;    &quot;Sample POST&quot;  {  &quot;jobCategory&quot;: 2,   &quot;schedule&quot;: {  &quot;effectiveTime&quot;: 1431323520,  &quot;recurrence&quot;: {  &quot;minutes&quot;: 1  }  },   &quot;config&quot;: {&quot;a&quot;: 1},   &quot;description&quot;: &quot;minute schedule&quot;,   &quot;targetAppl...(description truncated)",
      "input": [
        {
          "name": "scheduledJobs2Post",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "scheduledJobs2Post",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/scheduledJob2Post"
      },
      "task": true
    },
    {
      "name": "historicalJobsGet",
      "summary": "Get the historical jobs by parameter. If all parameter is empty. Get 1000 latest historical jobs entities.",
      "description": "Every job on its completion, will make an entry to historical jobs table. This api will return all the historical jobs",
      "input": [
        {
          "name": "lastXDays",
          "type": "number",
          "info": "Jobs ended in last x days, Can combine use with scheduleId",
          "required": false,
          "schema": {
            "title": "lastXDays",
            "type": "number"
          }
        },
        {
          "name": "scheduleId",
          "type": "number",
          "info": "get historical Jobs by scheduleId",
          "required": false,
          "schema": {
            "title": "scheduleId",
            "type": "number"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "get latest historical Job, Can combine use with scheduleId",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/historicalJobsGet"
      },
      "task": true
    },
    {
      "name": "historicalJobsGetById",
      "summary": "Get the historical job by Id.",
      "description": "Every job on its completion, will make an entry to historical jobs table.",
      "input": [
        {
          "name": "jobId",
          "type": "string",
          "info": "Get historical Job by Id.",
          "required": true,
          "schema": {
            "title": "jobId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/historicalJobsGetById"
      },
      "task": true
    },
    {
      "name": "scheduledJobDelete",
      "summary": "Deletes a schedule job",
      "description": "Deletes a schedule job",
      "input": [
        {
          "name": "jobId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "jobId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/scheduledJobDelete"
      },
      "task": true
    },
    {
      "name": "scheduledJob2Get",
      "summary": "Get scheduled jobs list for one specified appliance based on the nePk Id",
      "description": "Get scheduled jobs list for one specified appliance based on the nePk Id",
      "input": [
        {
          "name": "jobId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "jobId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/scheduledJob2Get"
      },
      "task": true
    },
    {
      "name": "scheduledJobModify",
      "summary": "Modify a scheduled job.",
      "description": "&quot;Job category for Orchestrator jobs. &quot;  2 - Orchestrator Report, 3 - Orchestrator Backup, 4 - Appliance Reboot or Shutdown, 5 - Appliance QOS Scheduling, 6 - IPsec Pre-shared Key Rotation;    &quot;Sample POST&quot;  {  &quot;jobCategory&quot;: 2,   &quot;schedule&quot;: {  &quot;effectiveTime&quot;: 1431323520,  &quot;recurrence&quot;: {  &quot;minutes&quot;: 1  }  },   &quot;config&quot;: {&quot;a&quot;: 1},   &quot;description&quot;: &quot;minute schedule&quot;,   &quot;targetAppl...(description truncated)",
      "input": [
        {
          "name": "jobId",
          "type": "string",
          "info": "The id of the job.",
          "required": true,
          "schema": {
            "title": "jobId",
            "type": "string"
          }
        },
        {
          "name": "scheduledJob2Post",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "scheduledJob2Post",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/scheduledJobModify"
      },
      "task": true
    },
    {
      "name": "stopJob",
      "summary": "Stop a scheduled job",
      "description": "Stop a scheduled job",
      "input": [
        {
          "name": "jobId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "jobId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/stopJob"
      },
      "task": true
    },
    {
      "name": "getAllMenuItems",
      "summary": "All the checked menu items with different menu type names",
      "description": "All the checked menu items with different menu type names",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllMenuItems"
      },
      "task": true
    },
    {
      "name": "addMenuType",
      "summary": "Store or update the checked menu items for a special menu type name",
      "description": "Store or update the checked menu items for a special menu type name",
      "input": [
        {
          "name": "newMenuType",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "newMenuType",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/addMenuType"
      },
      "task": true
    },
    {
      "name": "updateMenuTypeItems",
      "summary": "Configure users for menu types and set default menu type for monitoring users",
      "description": "Configure users for menu types and set default menu type for monitoring users",
      "input": [
        {
          "name": "usersUpdate",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "usersUpdate",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateMenuTypeItems"
      },
      "task": true
    },
    {
      "name": "deleteExistingMenuType",
      "summary": "Delete the a special menu type, including its checked menu items and configured users",
      "description": "Delete the a special menu type, including its checked menu items and configured users",
      "input": [
        {
          "name": "menuTypeName",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "menuTypeName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteExistingMenuType"
      },
      "task": true
    },
    {
      "name": "getAllOverlayApplianceAssociations",
      "summary": "Get the list of appliances associated with all overlays",
      "description": "This resource returns an object, where the keys are overlay IDs, and the value is an array of appliances belonging to that overlay.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllOverlayApplianceAssociations"
      },
      "task": true
    },
    {
      "name": "addOverlayApplianceAssociations",
      "summary": "Add appliances to overlays",
      "description": "The request body is an object, where the keys are overlay IDs and the values are appliances to add to the respective overlays",
      "input": [
        {
          "name": "associations",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "associations",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/addOverlayApplianceAssociations"
      },
      "task": true
    },
    {
      "name": "removeAppliancesFromOverlays",
      "summary": "Remove appliances from overlays",
      "description": "The request body is an object, where the keys are overlay IDs and the values are appliances to remove from the respective overlays",
      "input": [
        {
          "name": "appliancesToRemove",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "appliancesToRemove",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/removeAppliancesFromOverlays"
      },
      "task": true
    },
    {
      "name": "getAppliancesForOverlay",
      "summary": "Get appliances in an overlay",
      "description": "Get appliances in an overlay",
      "input": [
        {
          "name": "overlayId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAppliancesForOverlay"
      },
      "task": true
    },
    {
      "name": "deleteOverlayApplianceAssociation",
      "summary": "Remove an appliance from an overlay",
      "description": "Removes the appliance from the overlay, given the appliance ID (nePk) and overlay ID (overlayId).",
      "input": [
        {
          "name": "overlayId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "string"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteOverlayApplianceAssociation"
      },
      "task": true
    },
    {
      "name": "getAllOverlays",
      "summary": "All the overlays stored in the Orchestrator",
      "description": "All the overlays stored in the Orchestrator",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllOverlays"
      },
      "task": true
    },
    {
      "name": "addNewOverlay",
      "summary": "Saves a new overlay to the Orchestrator",
      "description": "Use this API to add a new overlay configuration. If successful, the API will return the ID of the overlay added.   Please see the model for more information (click 'Model' under Data Type)   Valid values:   Topology type:    1 - Mesh   2 - Hub and Spoke      Bonding Policy:      1 - High availability   2 - High quality   3 - High throughput   4 - High efficiency      Overlay Fallback Option      1 - pass-through   3 - drop   label_{labelId} - pass-through an interface with a specific label      ...(description truncated)",
      "input": [
        {
          "name": "newOverlay",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "newOverlay",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/addNewOverlay"
      },
      "task": true
    },
    {
      "name": "getMaxNumberOfOverlays",
      "summary": "Get the max number of overlays",
      "description": "Get the max number of overlays you are allowed to have on this Orchestrator",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getMaxNumberOfOverlays"
      },
      "task": true
    },
    {
      "name": "getAllRegionalOverlays",
      "summary": "All the overlays stored in the Orchestrator keyed by overlayId and regionId",
      "description": "All the overlays stored in the Orchestrator keyed by overlayId and regionId",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllRegionalOverlays"
      },
      "task": true
    },
    {
      "name": "postAllRegionalOverlays",
      "summary": "Post regional overlay configurations",
      "description": "Use this API to post an exhaustive representation of regionalized overlays. The body of this request should be a map keyed by overlayId whose value is a map of regionId to regional overlay configuration. Please see the model for more information (click 'Model' under Data Type)   Valid values:   Topology type:    1 - Mesh   2 - Hub and Spoke      Bonding Policy:      1 - High availability   2 - High quality   3 - High throughput   4 - High efficiency      Overlay Fallback Option      1 - pass-thr...(description truncated)",
      "input": [
        {
          "name": "allOverlays",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "allOverlays",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postAllRegionalOverlays"
      },
      "task": true
    },
    {
      "name": "getRegionalOverlay",
      "summary": "Get regional overlay by overlayId and regionId",
      "description": "Get regional overlay by overlayId and regionId",
      "input": [
        {
          "name": "overlayId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "string"
          }
        },
        {
          "name": "regionId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "regionId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRegionalOverlay"
      },
      "task": true
    },
    {
      "name": "modifyRegionalOverlay",
      "summary": "Modify regional overlay",
      "description": "Modify regional overlay",
      "input": [
        {
          "name": "overlayId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "string"
          }
        },
        {
          "name": "regionId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "regionId",
            "type": "string"
          }
        },
        {
          "name": "overlayConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/modifyRegionalOverlay"
      },
      "task": true
    },
    {
      "name": "deleteExistingOverlay",
      "summary": "Deletes the overlay from the Orchestrator. Removes any appliances from the overlay and deletes any reports specifically for this overlay.",
      "description": "Deletes the overlay from the Orchestrator. Removes any appliances from the overlay and deletes any reports specifically for this overlay.",
      "input": [
        {
          "name": "overlayId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteExistingOverlay"
      },
      "task": true
    },
    {
      "name": "getOverlay",
      "summary": "Returns one overlay that has the id of the passed overlayId parameter",
      "description": "Returns one overlay that has the id of the passed overlayId parameter",
      "input": [
        {
          "name": "overlayId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getOverlay"
      },
      "task": true
    },
    {
      "name": "updateExistingOverlay",
      "summary": "Update the properties of an existing overlay",
      "description": "Use this API to update an existing overlay configuration. If you are using regions and have customized regional BIO per region, it will be overridden. To avoid this use the other PUT api which takes regionID as an input. Any changes made to the overlay configuration will be pushed to the appliances automatically.   Please see the model for more information (click 'Model' under Data Type)   Valid values:   Topology type:    1 - Mesh   2 - Hub and Spoke      Bonding Policy:      1 - High availabil...(description truncated)",
      "input": [
        {
          "name": "overlayId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "string"
          }
        },
        {
          "name": "updatedOverlay",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "updatedOverlay",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateExistingOverlay"
      },
      "task": true
    },
    {
      "name": "getOverlayPriorityMap",
      "summary": "Get the overlay priority order",
      "description": "This API returns a JSON object where the key is the priority, and the value of the key is the overlay ID with that priority.    Example:   { 1 : 2, 2 : 3, 3 : 1 }   This would order the overlays with the overlay with ID 2 first, overlay with ID 3 second, etc.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getOverlayPriorityMap"
      },
      "task": true
    },
    {
      "name": "saveOverlayPriority",
      "summary": "Change the overlay priorities",
      "description": "This API sets the overlay priorities, specifically the order of the different overlays' route maps. The priority is a JSON object where the key is the priority, and the value of the key is the overlay ID with that priority.   Example:   { 1 : 2, 2 : 3, 3 : 1 }   This would order the overlays with the overlay with ID 2 first, overlay with ID 3 second, etc.",
      "input": [
        {
          "name": "overlayPriority",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "overlayPriority",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveOverlayPriority"
      },
      "task": true
    },
    {
      "name": "getScheduleTimezone",
      "summary": "Returns the configured timezone for scheduled jobs and reports",
      "description": "Returns the configured timezone for scheduled jobs and reports",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getScheduleTimezone"
      },
      "task": true
    },
    {
      "name": "updateScheduleTimezone",
      "summary": "Updates the schedule timezone used with for the scheduled jobs and reports.",
      "description": "Updates the schedule timezone used with for the scheduled jobs and reports.",
      "input": [
        {
          "name": "defaultTimezone",
          "type": "string",
          "info": "The timezone to set for the scheduled jobs and reports.",
          "required": true,
          "schema": {
            "title": "defaultTimezone",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateScheduleTimezone"
      },
      "task": true
    },
    {
      "name": "getServices",
      "summary": "Returns all the services",
      "description": "The list of services is used to provide options in the Overlay editor's Internet Policy section. For every service, a 'Send to  ' option will be shown in the available options list. The service name will correspond to the peer name of the pass through tunnel the internet traffic will go on. It is the user's responsibility to create these pass through tunnels on appliances.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getServices"
      },
      "task": true
    },
    {
      "name": "saveServices",
      "summary": "Save the service list",
      "description": "Saving a new service list will completely replace the current implementation. Any service IDs that were saved previously, but not included in the POST body will be removed. These services will also be removed from the overlay's policy list.",
      "input": [
        {
          "name": "newServices",
          "type": "object",
          "info": "Object of services you wish to save.",
          "required": true,
          "schema": {
            "title": "newServices",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveServices"
      },
      "task": true
    },
    {
      "name": "sessionTimeout",
      "summary": "Returns information of auto logout and max login session",
      "description": "Returns information of auto logout and max login session",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/sessionTimeout"
      },
      "task": true
    },
    {
      "name": "putGmsSessionTimeout",
      "summary": "Update auto logout and max login session",
      "description": "Update auto logout and max login session",
      "input": [
        {
          "name": "sessionDetail",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "sessionDetail",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putGmsSessionTimeout"
      },
      "task": true
    },
    {
      "name": "statsCollection",
      "summary": "Gets stats collection enable/disable details",
      "description": "Gets stats collection enable/disable details",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/statsCollection"
      },
      "task": true
    },
    {
      "name": "postGmsStatsCollection",
      "summary": "Used to enable/disable stats collection by orchestrator",
      "description": "Used to enable/disable stats collection by orchestrator",
      "input": [
        {
          "name": "statsCollection",
          "type": "object",
          "info": "Json object for enable/disable stats collection by orchestrator",
          "required": true,
          "schema": {
            "title": "statsCollection",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postGmsStatsCollection"
      },
      "task": true
    },
    {
      "name": "statsCollectionDefault",
      "summary": "To get default values for stats collection",
      "description": "To get default values for stats collection",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/statsCollectionDefault"
      },
      "task": true
    },
    {
      "name": "getThirdPartyServices",
      "summary": "Returns all the Third Party Services",
      "description": "The list of services is used to provide options in the Overlay editor's Internet Policy section. For every service, a dynamically generated options list will be shown in the available options list. The service name will correspond to the peer name of the pass through tunnel the internet traffic will go on. Pass through tunnels will be generated automatically.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getThirdPartyServices"
      },
      "task": true
    },
    {
      "name": "getDefaultTopologyConfig",
      "summary": "Returns the configuration for the topology tab. The key in the configuration will be the username.",
      "description": "Returns the configuration for the topology tab. The key in the configuration will be the username.",
      "input": [
        {
          "name": "userName",
          "type": "string",
          "info": "The username you want to retrieve the topology config for",
          "required": false,
          "schema": {
            "title": "userName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getDefaultTopologyConfig"
      },
      "task": true
    },
    {
      "name": "updateTopologyConfig",
      "summary": "Updates the topology configuration for the given user",
      "description": "Updates the topology configuration for the given user",
      "input": [
        {
          "name": "userName",
          "type": "string",
          "info": "The username you want to update the topology config for",
          "required": true,
          "schema": {
            "title": "userName",
            "type": "string"
          }
        },
        {
          "name": "request",
          "type": "object",
          "info": "The topology configuration to save, where the user's username is the key.",
          "required": true,
          "schema": {
            "title": "request",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateTopologyConfig"
      },
      "task": true
    },
    {
      "name": "saveMapImage",
      "summary": "Update the map image",
      "description": "Update the map image",
      "input": [
        {
          "name": "defaultParam",
          "type": "object",
          "info": "The map image to save.",
          "required": true,
          "schema": {
            "title": "defaultParam",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveMapImage"
      },
      "task": true
    },
    {
      "name": "getUserTopologyConfig",
      "summary": "Deprecated. Use GET /gms/topologyConfig with the username query parameter",
      "description": "Deprecated. Use GET /gms/topologyConfig with the username query parameter",
      "input": [
        {
          "name": "username",
          "type": "string",
          "info": "The username of the user to retrieve the topology configuration of.",
          "required": true,
          "schema": {
            "title": "username",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getUserTopologyConfig"
      },
      "task": true
    },
    {
      "name": "saveTopologyConfig",
      "summary": "Deprecated. Use POST /gms/topologyConfig with the username query parameter",
      "description": "Deprecated. Use POST /gms/topologyConfig with the username query parameter",
      "input": [
        {
          "name": "username",
          "type": "string",
          "info": "The username to save the configuration under.",
          "required": true,
          "schema": {
            "title": "username",
            "type": "string"
          }
        },
        {
          "name": "request",
          "type": "object",
          "info": "The topology configuration to save, where the user's username is the key.",
          "required": true,
          "schema": {
            "title": "request",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveTopologyConfig"
      },
      "task": true
    },
    {
      "name": "getAllTunnelGroupApplianceAssociations",
      "summary": "Get the list of all tunnel group appliance lists",
      "description": "This resource returns an object, where the keys are tunnel group IDs, and the value is an array of appliances belonging to that tunnel group.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllTunnelGroupApplianceAssociations"
      },
      "task": true
    },
    {
      "name": "addTunnelGroupApplianceAssociations",
      "summary": "Add appliances to tunnel groups",
      "description": "The request body is an object, where the keys are tunnel group IDs and the values are appliances to add to the respective tunnel groups",
      "input": [
        {
          "name": "associations",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "associations",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/addTunnelGroupApplianceAssociations"
      },
      "task": true
    },
    {
      "name": "getAppliancesForTunnelGroup",
      "summary": "Get appliances in a tunnel group",
      "description": "Get appliances in a tunnel group",
      "input": [
        {
          "name": "tunnelGroupId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "tunnelGroupId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAppliancesForTunnelGroup"
      },
      "task": true
    },
    {
      "name": "deleteTunnelGroupApplianceAssociation",
      "summary": "Remove an appliance from a tunnel group",
      "description": "Removes the appliance from the tunnel group, given the appliance ID (nePk) and tunnel group ID (tunnelGroupId).",
      "input": [
        {
          "name": "tunnelGroupId",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "tunnelGroupId",
            "type": "string"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteTunnelGroupApplianceAssociation"
      },
      "task": true
    },
    {
      "name": "getAllTunnelGroups",
      "summary": "Returns all the tunnel group configurations stored in the Orchestrator",
      "description": "Returns all the tunnel group configurations stored in the Orchestrator",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllTunnelGroups"
      },
      "task": true
    },
    {
      "name": "addNewTunnelGroup",
      "summary": "Saves a new tunnel group configuration to the Orchestrator",
      "description": "Saves a new tunnel group configuration to the Orchestrator",
      "input": [
        {
          "name": "newTunnelGroup",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "newTunnelGroup",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/addNewTunnelGroup"
      },
      "task": true
    },
    {
      "name": "deleteExistingTunnelGroup",
      "summary": "Deletes the tunnel group from the Orchestrator. Removes any appliances from the tunnel group.",
      "description": "Deletes the tunnel group from the Orchestrator. Removes any appliances from the tunnel group.",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteExistingTunnelGroup"
      },
      "task": true
    },
    {
      "name": "getTunnelGroup",
      "summary": "Returns one tunnel group that matches the ID given",
      "description": "Returns one tunnel group that matches the ID given",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTunnelGroup"
      },
      "task": true
    },
    {
      "name": "updateExistingTunnelGroup",
      "summary": "Update the properties of an existing tunnel group",
      "description": "Update the properties of an existing tunnel group",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "updatedTunnelGroup",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "updatedTunnelGroup",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateExistingTunnelGroup"
      },
      "task": true
    },
    {
      "name": "getTunnelGroupProperties",
      "summary": "Get the tunnel group management properties",
      "description": "Get the tunnel group management properties",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTunnelGroupProperties"
      },
      "task": true
    },
    {
      "name": "setTunnelGroupProperties",
      "summary": "Set the tunnel group management properties",
      "description": "Set the tunnel group management properties",
      "input": [
        {
          "name": "tunnelGroupProperties",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "tunnelGroupProperties",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/setTunnelGroupProperties"
      },
      "task": true
    },
    {
      "name": "versionInfo",
      "summary": "Returns available orchestrator versions",
      "description": "Returns available orchestrator versions",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/versionInfo"
      },
      "task": true
    },
    {
      "name": "gmsConfig",
      "summary": "Returns all Orchestrator configs",
      "description": "Returns all Orchestrator configs",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/gmsConfig"
      },
      "task": true
    },
    {
      "name": "postGmsConfig",
      "summary": "Creates an Orchestrator config",
      "description": "Creates an Orchestrator config",
      "input": [
        {
          "name": "gmsConfigCreation",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "gmsConfigCreation",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postGmsConfig"
      },
      "task": true
    },
    {
      "name": "deleteGmsConfigBase",
      "summary": "Deletes an Orchestrator config",
      "description": "Deletes an Orchestrator config",
      "input": [
        {
          "name": "base",
          "type": "string",
          "info": "resource name",
          "required": true,
          "schema": {
            "title": "base",
            "type": "string"
          }
        },
        {
          "name": "resourceKey",
          "type": "string",
          "info": "if provided, it will only delete the sub-resource",
          "required": false,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteGmsConfigBase"
      },
      "task": true
    },
    {
      "name": "getGmsConfigBase",
      "summary": "Returns specific Orchestrator config. But a specific Orchestrator config could have multiple sub-resources, that's why it returns an array. However, If \"resourceKey\" is  provided, response will be an object(sub-resource) instead of an array",
      "description": "Returns specific Orchestrator config. But a specific Orchestrator config could have multiple sub-resources, that's why it returns an array. However, If \"resourceKey\" is  provided, response will be an object(sub-resource) instead of an array",
      "input": [
        {
          "name": "base",
          "type": "string",
          "info": "name resource",
          "required": true,
          "schema": {
            "title": "base",
            "type": "string"
          }
        },
        {
          "name": "resourceKey",
          "type": "string",
          "info": "if provided, response will be an object instead of an array",
          "required": false,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getGmsConfigBase"
      },
      "task": true
    },
    {
      "name": "putGmsConfigBase",
      "summary": "Updates a versioned Orchestrator config. Current resource version number needs to be provided when updating",
      "description": "Updates a versioned Orchestrator config. Current resource version number needs to be provided when updating",
      "input": [
        {
          "name": "base",
          "type": "string",
          "info": "resource name",
          "required": true,
          "schema": {
            "title": "base",
            "type": "string"
          }
        },
        {
          "name": "resourceKey",
          "type": "string",
          "info": "if provided, it will update the sub-resource",
          "required": false,
          "schema": {
            "title": "resourceKey",
            "type": "string"
          }
        },
        {
          "name": "gmsConfigUpdate",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "gmsConfigUpdate",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/putGmsConfigBase"
      },
      "task": true
    },
    {
      "name": "hostnameByGet",
      "summary": "Get the host name of orchestrator.",
      "description": "Get the host name of orchestrator.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/hostnameByGet"
      },
      "task": true
    },
    {
      "name": "licenseByGet",
      "summary": "Get current license key and information",
      "description": "Get current license key and information",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/licenseByGet"
      },
      "task": true
    },
    {
      "name": "licenseByPut",
      "summary": "Set Orchestrator license key",
      "description": "Set Orchestrator license key",
      "input": [
        {
          "name": "licenseKey",
          "type": "object",
          "info": "Orchestrator license key",
          "required": true,
          "schema": {
            "title": "licenseKey",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/licenseByPut"
      },
      "task": true
    },
    {
      "name": "validateKey",
      "summary": "Validate a new license key",
      "description": "Validate a new license key",
      "input": [
        {
          "name": "licenseKey",
          "type": "string",
          "info": "License key to validate",
          "required": true,
          "schema": {
            "title": "licenseKey",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/validateKey"
      },
      "task": true
    },
    {
      "name": "osInfo",
      "summary": "Returns Orchestrator Operating system type",
      "description": "Returns Orchestrator Operating system type",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/osInfo"
      },
      "task": true
    },
    {
      "name": "gmsRemoteAuthGet",
      "summary": "Get current Radius or TACACS+ configuration",
      "description": "Get current Radius or TACACS+ configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/gmsRemoteAuthGet"
      },
      "task": true
    },
    {
      "name": "gmsRemoteAuthPost",
      "summary": "Modify Radius or TACACS+ configuration",
      "description": "Modify Radius or TACACS+ configuration",
      "input": [
        {
          "name": "remoteAuthData",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "remoteAuthData",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/gmsRemoteAuthPost"
      },
      "task": true
    },
    {
      "name": "sMTP",
      "summary": "Delete custom SMTP",
      "description": "Delete custom SMTP",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/sMTP"
      },
      "task": true
    },
    {
      "name": "getGmsSMTP",
      "summary": "Gets SMTP details",
      "description": "Gets SMTP details",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getGmsSMTP"
      },
      "task": true
    },
    {
      "name": "sMTPPost",
      "summary": "used to set SMTP settings",
      "description": "used to set SMTP settings",
      "input": [
        {
          "name": "sMTPDetails",
          "type": "object",
          "info": "Json object for setting values of SMPT user name, password, email server address etc...",
          "required": true,
          "schema": {
            "title": "sMTPDetails",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sMTPPost"
      },
      "task": true
    },
    {
      "name": "delUnverifiedEmails",
      "summary": "Delete unverified emails",
      "description": "Delete unverified email addresses",
      "input": [
        {
          "name": "emails",
          "type": "array",
          "info": "a list of unverified email addresses to delete",
          "required": true,
          "schema": {
            "title": "emails",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/delUnverifiedEmails"
      },
      "task": true
    },
    {
      "name": "sendVerificationEmail",
      "summary": "Send a verification email to an email address",
      "description": "Send a verification email with a unique verification link including a secure random string to an address",
      "input": [
        {
          "name": "address",
          "type": "string",
          "info": "the address to whom will the email be sent",
          "required": true,
          "schema": {
            "title": "address",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sendVerificationEmail"
      },
      "task": true
    },
    {
      "name": "sMTPTestMail",
      "summary": "used to send test mail",
      "description": "used to send test mail",
      "input": [
        {
          "name": "sMTPDetails",
          "type": "object",
          "info": "Json object for setting values of SMPT user name, password, email server address etc...",
          "required": true,
          "schema": {
            "title": "sMTPDetails",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sMTPTestMail"
      },
      "task": true
    },
    {
      "name": "listUnverifiedEmails",
      "summary": "Get unverified email addresses",
      "description": "Get all unverified email addresses from gms db",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/listUnverifiedEmails"
      },
      "task": true
    },
    {
      "name": "verifyEmailAddress",
      "summary": "verify an email address",
      "description": "Use a secure random string in the verification email to verify an email address",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "The secure random string in the verification email to identify an email address",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/verifyEmailAddress"
      },
      "task": true
    },
    {
      "name": "gmsBriefInfo",
      "summary": "Returns orchestrator server information such as used disk hostname, up time, version etc...",
      "description": "Returns orchestrator server information such as used disk hostname, up time, version etc...",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/gmsBriefInfo"
      },
      "task": true
    },
    {
      "name": "hello",
      "summary": "Returns hello message.",
      "description": "Returns hello message.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/hello"
      },
      "task": true
    },
    {
      "name": "gmsServerInfo",
      "summary": "Returns orchestrator server information such as used disk space, hostname,release etc...",
      "description": "Returns orchestrator server information such as used disk space, hostname,release etc...",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/gmsServerInfo"
      },
      "task": true
    },
    {
      "name": "gmsPingInfo",
      "summary": "Returns orchestrator server information such as used disk hostname, up time, version etc...",
      "description": "Returns orchestrator server information such as used disk hostname, up time, version etc...",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/gmsPingInfo"
      },
      "task": true
    },
    {
      "name": "haGroupsGet",
      "summary": "Returns a collection of appliances paired in a HA configuration",
      "description": "Returns a collection of appliances paired in a HA configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/haGroupsGet"
      },
      "task": true
    },
    {
      "name": "haGroupsPost",
      "summary": "Modify appliances paired in a HA configuration",
      "description": "Modify appliances paired in a HA configuration",
      "input": [
        {
          "name": "haGroups",
          "type": "object",
          "info": "JSON object containing collection of appliances paired in a HA configuration",
          "required": true,
          "schema": {
            "title": "haGroups",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/haGroupsPost"
      },
      "task": true
    },
    {
      "name": "healthSummary",
      "summary": "Returns health summary of all appliances",
      "description": "\"appliance-id\" key corresponds to a specific appliance id",
      "input": [
        {
          "name": "healthSummaryGetPostBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "healthSummaryGetPostBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/healthSummary"
      },
      "task": true
    },
    {
      "name": "getHealthAlarmPeriodSummary",
      "summary": "Returns summary of alarms for a given appliance for that time period",
      "description": "Returns summary of alarms for a given appliance for that time period",
      "input": [
        {
          "name": "from",
          "type": "number",
          "info": "Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "from",
            "type": "number"
          }
        },
        {
          "name": "to",
          "type": "number",
          "info": "Long(Signed 64 bits) value of milliseconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "to",
            "type": "number"
          }
        },
        {
          "name": "applianceId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "applianceId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getHealthAlarmPeriodSummary"
      },
      "task": true
    },
    {
      "name": "jitterPeriodSummary",
      "summary": "Returns summary of jitter for a given appliance for that time period",
      "description": "Returns summary of jitter for a given appliance for that time period",
      "input": [
        {
          "name": "time",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "time",
            "type": "number"
          }
        },
        {
          "name": "overlayId",
          "type": "number",
          "info": "Overlay id. -1 == all overlays",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "number"
          }
        },
        {
          "name": "applianceId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "applianceId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/jitterPeriodSummary"
      },
      "task": true
    },
    {
      "name": "latencyPeriodSummary",
      "summary": "Returns summary of latency for a given appliance for that time period",
      "description": "Returns summary of latency for a given appliance for that time period",
      "input": [
        {
          "name": "time",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "time",
            "type": "number"
          }
        },
        {
          "name": "overlayId",
          "type": "number",
          "info": "Overlay id. -1 == all overlays",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "number"
          }
        },
        {
          "name": "applianceId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "applianceId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/latencyPeriodSummary"
      },
      "task": true
    },
    {
      "name": "lossPeriodSummary",
      "summary": "Returns summary of loss for a given appliance for that time period",
      "description": "Returns summary of loss for a given appliance for that time period",
      "input": [
        {
          "name": "time",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "time",
            "type": "number"
          }
        },
        {
          "name": "overlayId",
          "type": "number",
          "info": "Overlay id. -1 == all overlays",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "number"
          }
        },
        {
          "name": "applianceId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "applianceId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/lossPeriodSummary"
      },
      "task": true
    },
    {
      "name": "mosPeriodSummary",
      "summary": "Returns summary of mos for a given appliance for that time period",
      "description": "Returns summary of mos for a given appliance for that time period",
      "input": [
        {
          "name": "time",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "time",
            "type": "number"
          }
        },
        {
          "name": "overlayId",
          "type": "number",
          "info": "Overlay id. -1 == all overlays",
          "required": true,
          "schema": {
            "title": "overlayId",
            "type": "number"
          }
        },
        {
          "name": "applianceId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "applianceId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/mosPeriodSummary"
      },
      "task": true
    },
    {
      "name": "applyHostname",
      "summary": "add/updates the gms hostname",
      "description": "Change the hostname of a managed appliance",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance's ne pk",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "hostName",
          "type": "object",
          "info": "Json object containing the appliance host name",
          "required": true,
          "schema": {
            "title": "hostName",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applyHostname"
      },
      "task": true
    },
    {
      "name": "idleTime",
      "summary": "Clear idle time",
      "description": "Clear idle time",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/idleTime"
      },
      "task": true
    },
    {
      "name": "getIdleIncrement",
      "summary": "Increment idle time",
      "description": "Increment idle time",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getIdleIncrement"
      },
      "task": true
    },
    {
      "name": "ikeless",
      "summary": "Get UDP IPSec key status for all appliances",
      "description": "Returns a representation of key status with whether or not the current key is present, its activation status, and an arbitrary seed number. If an appliance has an arbitrary id of 0, it has the same key as orchestrator. If two appliances have 1 and 2 as their arbitrary ids, it means that their keys do not match orchestrator, nor do they match one another's",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/ikeless"
      },
      "task": true
    },
    {
      "name": "applyLabelsToAppliance",
      "summary": "Pushes the active interface labels on Orchestrator to appliance",
      "description": "Pushes the active interface labels on Orchestrator to appliance",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance you wish to apply the labels to",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applyLabelsToAppliance"
      },
      "task": true
    },
    {
      "name": "interfaceState",
      "summary": "Get node configuration data from Orchestrator database or from the specified appliance.",
      "description": "Get node configuration data from Orchestrator database or from the specified appliance.",
      "input": [
        {
          "name": "cached",
          "type": "boolean",
          "info": "True means to get data from Orchestrator database, and false means to get data from appliance.",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        },
        {
          "name": "neId",
          "type": "string",
          "info": "The node Id of the appliance.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/interfaceState"
      },
      "task": true
    },
    {
      "name": "licensing",
      "summary": "Retrieves NX licensed appliances",
      "description": "Retrieves NX licensed appliances",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/licensing"
      },
      "task": true
    },
    {
      "name": "getLicensePortalAppliance",
      "summary": "Retrieves portal licensed appliances",
      "description": "Retrieves portal licensed appliances",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getLicensePortalAppliance"
      },
      "task": true
    },
    {
      "name": "grant",
      "summary": "Grant an appliance a base license via Cloud Portal",
      "description": "Grant an appliance a base license via Cloud Portal",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance primary key",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/grant"
      },
      "task": true
    },
    {
      "name": "deleteLicenseToken",
      "summary": "Delete an appliance's license token via the appliance",
      "description": "Used after revoking an appliance.\n Warning: This will stop the appliance from passing traffic immediately.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance primary key",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteLicenseToken"
      },
      "task": true
    },
    {
      "name": "postLicensePortalApplianceRevokeNePk",
      "summary": "Revoke an appliance a base license via Cloud Portal",
      "description": "Revoke an appliance a base license via Cloud Portal",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance primary key",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postLicensePortalApplianceRevokeNePk"
      },
      "task": true
    },
    {
      "name": "postLicensePortalEcNePk",
      "summary": "Changes appliance boost and plus settings",
      "description": "Changes appliance boost and plus settings",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance primary key",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "applianceInfo",
          "type": "object",
          "info": "Appliance boost and plus information",
          "required": true,
          "schema": {
            "title": "applianceInfo",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postLicensePortalEcNePk"
      },
      "task": true
    },
    {
      "name": "getLicensePortalSummary",
      "summary": "Retrieves summary of portal licensed appliances",
      "description": "Retrieves summary of portal licensed appliances",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getLicensePortalSummary"
      },
      "task": true
    },
    {
      "name": "getLicenseVx",
      "summary": "Retrieves VX licensed appliances",
      "description": "Retrieves VX licensed appliances",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getLicenseVx"
      },
      "task": true
    },
    {
      "name": "linkIntegrityTestRun",
      "summary": "POST operation to start link integrity test between two appliances.",
      "description": "This API allows you to start link integrity test between two appliances using desired test program.",
      "input": [
        {
          "name": "linkIntegrityTestRun",
          "type": "object",
          "info": "JSON object that contains the setups for link integrity test.",
          "required": true,
          "schema": {
            "title": "linkIntegrityTestRun",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/linkIntegrityTestRun"
      },
      "task": true
    },
    {
      "name": "linkIntegrityStatus",
      "summary": "Operation to retrieve current link integrity test status for desired appliance.",
      "description": "Operation to retrieve current link integrity test status for desired appliance.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Internal ID of the appliance from which you want to retrieve status information.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/linkIntegrityStatus"
      },
      "task": true
    },
    {
      "name": "addressLookup",
      "summary": "Lookup the latitude,longitude of an address",
      "description": "Lookup the latitude and longitude of an address. It will return an array of locations that match the object, in the order of the locations that match the address the best. So if you're looking for the best match, you should use the first element in the array.",
      "input": [
        {
          "name": "address",
          "type": "string",
          "info": "A string that represents the address to query",
          "required": true,
          "schema": {
            "title": "address",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/addressLookup"
      },
      "task": true
    },
    {
      "name": "getLoggingSettings",
      "summary": "Get logging settings form appliance or gmsdb",
      "description": "Returned data is an object, contains logging remote and config settings.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "If true, get settings from gmsdb, otherwise get from appliance.",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getLoggingSettings"
      },
      "task": true
    },
    {
      "name": "sessions",
      "summary": "Returns all the current sessions",
      "description": "Returns all the current sessions",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/sessions"
      },
      "task": true
    },
    {
      "name": "getMaintenanceMode",
      "summary": "Get maintenance mode appliances",
      "description": "Includes pause orchestration list and suppress alarm list.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getMaintenanceMode"
      },
      "task": true
    },
    {
      "name": "setMaintenanceMode",
      "summary": "Set maintenance mode for appliances",
      "description": "Includes pause orchestration list and suppress alarm list.",
      "input": [
        {
          "name": "maintenanceModePostBody",
          "type": "object",
          "info": "Maintenance Mode Configuration",
          "required": true,
          "schema": {
            "title": "maintenanceModePostBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/setMaintenanceMode"
      },
      "task": true
    },
    {
      "name": "deleteUploadedMap",
      "summary": "Delete certain uploaded map",
      "description": "Delete certain uploaded map",
      "input": [
        {
          "name": "imageName",
          "type": "string",
          "info": "name of file to be deleted",
          "required": true,
          "schema": {
            "title": "imageName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteUploadedMap"
      },
      "task": true
    },
    {
      "name": "getUploadedMaps",
      "summary": "Get list of uploaded maps",
      "description": "Get list of uploaded maps",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getUploadedMaps"
      },
      "task": true
    },
    {
      "name": "multicastConfigGet",
      "summary": "Get multicast config info on the appliance",
      "description": "Get multicast config info on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/multicastConfigGet"
      },
      "task": true
    },
    {
      "name": "multicastEnableGet",
      "summary": "Get multicast enabled info on the appliance",
      "description": "Get multicast enabled info on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/multicastEnableGet"
      },
      "task": true
    },
    {
      "name": "multicastInterfaceStateGet",
      "summary": "Get multicast interface state info on the appliance",
      "description": "Get multicast interface state info on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/multicastInterfaceStateGet"
      },
      "task": true
    },
    {
      "name": "multicastNeighborStateGet",
      "summary": "Get multicast neighbor state  info on the appliance",
      "description": "Get multicast neighbor state  info on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/multicastNeighborStateGet"
      },
      "task": true
    },
    {
      "name": "multicastRouteStateGet",
      "summary": "Get multicast route state  info on the appliance",
      "description": "Get multicast route state  info on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/multicastRouteStateGet"
      },
      "task": true
    },
    {
      "name": "getAllNat",
      "summary": "Returns all NAT Config",
      "description": "Returns all NAT Config",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAllNat"
      },
      "task": true
    },
    {
      "name": "branchNatMapsGet",
      "summary": "Get NAT Maps",
      "description": "Sample response:\n {\"map1\":{\"prio\":{\"10\":{\"dir\":\"outbound\",\"enable\":true,\"comment\":\"\",\"gms_marked\":false,\"match\":{\"intf\":\"lan0\",\"src_subnet\":\"10.16.112.0/24\",\"dst_subnet\":\"10.16.55.0/24\"},\"set\":{\"trans_src\":\"1.1.1.0/24\",\"trans_dst\":\"10.16.112.0/24\"}},\"20\":{\"dir\":\"inbound\",\"enable\":true,\"comment\":\"\",\"gms_marked\":false,\"match\":{\"intf\":\"lan1\",\"dst_subnet\":\"100.100.0.0/24\"},\"set\":{\"trans_dst\":\"100.100.100.0/24\"}}}}}",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/branchNatMapsGet"
      },
      "task": true
    },
    {
      "name": "getAllNatPools",
      "summary": "Returns all NAT Pools",
      "description": "Returns all NAT Pools",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAllNatPools"
      },
      "task": true
    },
    {
      "name": "getNetFlowData",
      "summary": "Get flow export data from appliance or gmsdb",
      "description": "Returned data is an object and contains the following data: active_timeout (NetFlow), ipfix_tmplt_rfrsh_t (IPFIX), port1, if_wan_tx, enable, ipaddr1, if_lan_rx, if_lan_tx, ipaddr2, if_wan_rx and port2, collector_type1, collector_type2",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "If true, get data from gmsdb, otherwise get from appliance.",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getNetFlowData"
      },
      "task": true
    },
    {
      "name": "eraseNmPost",
      "summary": "Erase Network Memory on one or more appliances.",
      "description": "Erase Network Memory on one or more appliances.",
      "input": [
        {
          "name": "applianceKeys",
          "type": "object",
          "info": "JSON object containing list of appliance keys",
          "required": true,
          "schema": {
            "title": "applianceKeys",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/eraseNmPost"
      },
      "task": true
    },
    {
      "name": "delNotification",
      "summary": "Remove the message of notification banner.",
      "description": "Remove the message of notification banner.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/delNotification"
      },
      "task": true
    },
    {
      "name": "getNotification",
      "summary": "Get the message of notification banner.",
      "description": "Get the message of notification banner.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getNotification"
      },
      "task": true
    },
    {
      "name": "postNotification",
      "summary": "Add or update the message of notification banner.",
      "description": "Set the message of notification banner.",
      "input": [
        {
          "name": "notificationConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "notificationConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postNotification"
      },
      "task": true
    },
    {
      "name": "getInterfaceConfigDta",
      "summary": "Get OSPF interfaces configuration data.",
      "description": "Get OSPF interfaces configuration data.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getInterfaceConfigDta"
      },
      "task": true
    },
    {
      "name": "getOSPFSystemConfig",
      "summary": "Get appliance's OSPF system level configuration data.",
      "description": "Get appliance's OSPF system level configuration data.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getOSPFSystemConfig"
      },
      "task": true
    },
    {
      "name": "oSPFInterfaceStateObj",
      "summary": "Gets the state of the OSPF interfaces.",
      "description": "Gets the state of the OSPF interfaces.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/oSPFInterfaceStateObj"
      },
      "task": true
    },
    {
      "name": "oSPFNeighborsStateObj",
      "summary": "Gets the state of the OSPF neighbors.",
      "description": "Gets the state of the OSPF neighbors.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/oSPFNeighborsStateObj"
      },
      "task": true
    },
    {
      "name": "oSPFStateObj",
      "summary": "Gets the state of the OSPF.",
      "description": "Gets the state of the OSPF.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/oSPFStateObj"
      },
      "task": true
    },
    {
      "name": "getOverlayMngProps",
      "summary": "Get the overlay manager properties in the Orchestrator.",
      "description": "Get the overlay manager properties in the Orchestrator.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getOverlayMngProps"
      },
      "task": true
    },
    {
      "name": "setOverlayMngProps",
      "summary": "Set the overlay manager properties in the Orchestrator.",
      "description": "Set the overlay manager properties in the Orchestrator.",
      "input": [
        {
          "name": "overlayManagerProperties",
          "type": "object",
          "info": "Json object containing overlay manager properties.",
          "required": true,
          "schema": {
            "title": "overlayManagerProperties",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/setOverlayMngProps"
      },
      "task": true
    },
    {
      "name": "portForwardingGet",
      "summary": "Get port forwarding rules on a VXOA.",
      "description": "Get port forwarding rules on a VXOA.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Ne Id of the VXOA to get",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portForwardingGet"
      },
      "task": true
    },
    {
      "name": "portProfilesGet",
      "summary": "Get a list of all Deployment Profile templates",
      "description": "Get a list of all Deployment Profile templates",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/portProfilesGet"
      },
      "task": true
    },
    {
      "name": "portProfilesPost",
      "summary": "Create a new Deployment Profile template",
      "description": "Create a new Deployment Profile template",
      "input": [
        {
          "name": "portProfilesPost",
          "type": "object",
          "info": "JSON object containing Deployment Profile template configuration data",
          "required": true,
          "schema": {
            "title": "portProfilesPost",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portProfilesPost"
      },
      "task": true
    },
    {
      "name": "portProfilesDelete",
      "summary": "Delete a Deployment Profile template matching the id",
      "description": "Delete a Deployment Profile template matching the id",
      "input": [
        {
          "name": "portProfileId",
          "type": "string",
          "info": "System generated unique identifier for the Deployment Profile",
          "required": true,
          "schema": {
            "title": "portProfileId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portProfilesDelete"
      },
      "task": true
    },
    {
      "name": "getPortProfilesConfigPortProfileId",
      "summary": "Get a Deployment Profile template matching the id",
      "description": "Get a Deployment Profile template matching the id",
      "input": [
        {
          "name": "portProfileId",
          "type": "string",
          "info": "System generated unique identifier for the Deployment Profile",
          "required": true,
          "schema": {
            "title": "portProfileId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPortProfilesConfigPortProfileId"
      },
      "task": true
    },
    {
      "name": "portProfilesPut",
      "summary": "Update a Deployment Profile template matching the id",
      "description": "Update a Deployment Profile template matching the id",
      "input": [
        {
          "name": "portProfileId",
          "type": "string",
          "info": "System generated unique identifier for the Deployment Profile",
          "required": true,
          "schema": {
            "title": "portProfileId",
            "type": "string"
          }
        },
        {
          "name": "portProfilesPost",
          "type": "object",
          "info": "JSON object containing Deployment Profile template configuration data",
          "required": true,
          "schema": {
            "title": "portProfilesPost",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portProfilesPut"
      },
      "task": true
    },
    {
      "name": "portProfilesLabelInUseGet",
      "summary": "Check if an interface label is in use by any of the existing deployment profiles",
      "description": "Check if an interface label is in use by any of the existing deployment profiles",
      "input": [
        {
          "name": "labelId",
          "type": "string",
          "info": "Unique id for interface label",
          "required": true,
          "schema": {
            "title": "labelId",
            "type": "string"
          }
        },
        {
          "name": "labelSide",
          "type": "string",
          "info": "Enum to donate LAN/WAN side label. Valid values (lan or wan)",
          "required": true,
          "schema": {
            "title": "labelSide",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portProfilesLabelInUseGet"
      },
      "task": true
    },
    {
      "name": "getAllApplianceAccessGroups",
      "summary": "Get all appliance access groups / assets",
      "description": "Get all appliance access groups / assets",
      "input": [
        {
          "name": "assigned",
          "type": "boolean",
          "info": "To get assigned appliance access group / asset provide assigned = true; Otherwise it will return list of all appliance access groups / assets",
          "required": false,
          "schema": {
            "title": "assigned",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getAllApplianceAccessGroups"
      },
      "task": true
    },
    {
      "name": "createOrUpdateApplianceAccessGroup",
      "summary": "Create or update appliance access group / asset.",
      "description": "Create or update appliance access group / asset.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "Either applianceGroups or applianceRegions should be empty (not null).",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createOrUpdateApplianceAccessGroup"
      },
      "task": true
    },
    {
      "name": "deleteApplianceAccessGroupByName",
      "summary": "Delete appliance access group / asset by name",
      "description": "Delete appliance access group / asset by name",
      "input": [
        {
          "name": "applianceAccessGroupName",
          "type": "string",
          "info": "appliance access group/asset name",
          "required": true,
          "schema": {
            "title": "applianceAccessGroupName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteApplianceAccessGroupByName"
      },
      "task": true
    },
    {
      "name": "getApplianceAccessGroupByName",
      "summary": "Get appliance access group / asset by name",
      "description": "Get appliance access group / asset by name",
      "input": [
        {
          "name": "applianceAccessGroupName",
          "type": "string",
          "info": "appliance access group/asset name",
          "required": true,
          "schema": {
            "title": "applianceAccessGroupName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getApplianceAccessGroupByName"
      },
      "task": true
    },
    {
      "name": "getAllRbacAssignments",
      "summary": "Get all rbac assignments",
      "description": "Get all rbac assignments",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllRbacAssignments"
      },
      "task": true
    },
    {
      "name": "createOrUpdateRbacAssignment",
      "summary": "Create or update rbacAssignment.",
      "description": "Create or update rbacAssignment.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "If you do not want to assign asset or roles to a user, then send 'null' value for the respective property.",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createOrUpdateRbacAssignment"
      },
      "task": true
    },
    {
      "name": "deleteRbacAssignment",
      "summary": "Delete rbacAssignment by username",
      "description": "Delete rbacAssignment by username",
      "input": [
        {
          "name": "username",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "username",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteRbacAssignment"
      },
      "task": true
    },
    {
      "name": "getRbacAssignmentByUsername",
      "summary": "Get rbacAssignment by username",
      "description": "Get rbacAssignment by username",
      "input": [
        {
          "name": "username",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "username",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRbacAssignmentByUsername"
      },
      "task": true
    },
    {
      "name": "getAllRoles",
      "summary": "Get all roles.",
      "description": "Get all roles.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAllRoles"
      },
      "task": true
    },
    {
      "name": "saveRole",
      "summary": "Create role or Update existing role.",
      "description": "Create role or Update existing role.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "menuTypeItems can not be null or empty",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/saveRole"
      },
      "task": true
    },
    {
      "name": "getAssignedMenus",
      "summary": "Get list of accessible menus",
      "description": "It will return no data if user is not customized",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getAssignedMenus"
      },
      "task": true
    },
    {
      "name": "deleteRoleByRoleName",
      "summary": "Delete role By name. If role is assigned to one or more users then API will return HTTP 423",
      "description": "Delete role By name. If role is assigned to one or more users then API will return HTTP 423",
      "input": [
        {
          "name": "roleName",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "roleName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteRoleByRoleName"
      },
      "task": true
    },
    {
      "name": "getRoleByRoleName",
      "summary": "Get role by name if exists",
      "description": "Get role by name if exists",
      "input": [
        {
          "name": "roleName",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "roleName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRoleByRoleName"
      },
      "task": true
    },
    {
      "name": "reachabilityFromAppliance",
      "summary": "Get the reachability status from the appliance",
      "description": "Returned data is an object, each key is IP of the appliance, each value is an object of the reachability status. Each the reachability status contains 'rest', 'ssh', 'https' and 'webSocket'.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/reachabilityFromAppliance"
      },
      "task": true
    },
    {
      "name": "reachabilityFromGMS",
      "summary": "Get the reachability status from the Orchestrator",
      "description": "Returned data is an object. Each the reachability status contains 'id', 'userName', 'state', 'neId', 'hostName', 'actualWebProtocolType' and 'unsavedChanges'.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/reachabilityFromGMS"
      },
      "task": true
    },
    {
      "name": "realtimeStats",
      "summary": "Get per second statistics from a VXOA appliance",
      "description": "Tunnel stats: Set 'type' to 'tunnel'. Set 'name' to one of the tunnel names or 'pass-through' or 'pass-through-unshaped'. 'filter' is not used for tunnel statistics.   TrafficType stats: Set the 'type' to 'trafficType' to retrieve two aggregate real-time stats: optimized, all-traffic. For optimized, set 'name' to '0' and for all-traffic, set 'name' to '3'. 'filter' is not used. Application stats: Set 'type' to 'app'. Set 'name' to application name. 'filter' is required. DSCP stats: Set 'type' to...(description truncated)",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance primary key",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/realtimeStats"
      },
      "task": true
    },
    {
      "name": "regionGet",
      "summary": "Get all regions",
      "description": "Get all regions",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/regionGet"
      },
      "task": true
    },
    {
      "name": "regionPost",
      "summary": "Create region",
      "description": "Create region",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/regionPost"
      },
      "task": true
    },
    {
      "name": "regionAssociationGET",
      "summary": "Get all region association",
      "description": "Get all region association",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/regionAssociationGET"
      },
      "task": true
    },
    {
      "name": "regionAssociationPost",
      "summary": "Create region association",
      "description": "Create region association",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "Map of appliance nePK and regionId, example: {'0.NE':'1', '1.NE':'3'}",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/regionAssociationPost"
      },
      "task": true
    },
    {
      "name": "getRegionsAppliancesNePkNePK",
      "summary": "Get region association by nePK",
      "description": "Get region association by nePK",
      "input": [
        {
          "name": "nePK",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "nePK",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRegionsAppliancesNePkNePK"
      },
      "task": true
    },
    {
      "name": "getRegionsAppliancesRegionIdRegionId",
      "summary": "Get region association by region ID",
      "description": "Get region association by region ID",
      "input": [
        {
          "name": "regionId",
          "type": "number",
          "info": "",
          "required": true,
          "schema": {
            "title": "regionId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRegionsAppliancesRegionIdRegionId"
      },
      "task": true
    },
    {
      "name": "regionAssociationPut",
      "summary": "Update region association",
      "description": "Use this API to update region association",
      "input": [
        {
          "name": "nePK",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "nePK",
            "type": "string"
          }
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/regionAssociationPut"
      },
      "task": true
    },
    {
      "name": "regionDelete",
      "summary": "Delete region by regionId",
      "description": "Use this API to delete region",
      "input": [
        {
          "name": "regionId",
          "type": "number",
          "info": "",
          "required": true,
          "schema": {
            "title": "regionId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/regionDelete"
      },
      "task": true
    },
    {
      "name": "regionSingleGet",
      "summary": "Get region by regionId",
      "description": "Get region by regionId",
      "input": [
        {
          "name": "regionId",
          "type": "number",
          "info": "",
          "required": true,
          "schema": {
            "title": "regionId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/regionSingleGet"
      },
      "task": true
    },
    {
      "name": "regionPut",
      "summary": "Update regions",
      "description": "Use this API to change region name",
      "input": [
        {
          "name": "regionId",
          "type": "number",
          "info": "",
          "required": true,
          "schema": {
            "title": "regionId",
            "type": "number"
          }
        },
        {
          "name": "requestBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/regionPut"
      },
      "task": true
    },
    {
      "name": "releases",
      "summary": "Gets all the Releases for orchestrator and vxoa",
      "description": "Gets all the Releases for orchestrator and vxoa",
      "input": [
        {
          "name": "filter",
          "type": "boolean",
          "info": "If filter is true it returns only new releases of orchestrator and vxoa",
          "required": true,
          "schema": {
            "title": "filter",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/releases"
      },
      "task": true
    },
    {
      "name": "releaseNotifications",
      "summary": "Get release notifications",
      "description": "This API will return all the notifications that are meant to be shown in Orchestrator. This means the notification is new, it's 'remind me' date is past, and it has not been dismissed.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/releaseNotifications"
      },
      "task": true
    },
    {
      "name": "delayReleaseNotification",
      "summary": "Delay a release notification",
      "description": "Delay the notificaiton by a number of hours.",
      "input": [
        {
          "name": "version",
          "type": "string",
          "info": "The version of the release the notification is for",
          "required": true,
          "schema": {
            "title": "version",
            "type": "string"
          }
        },
        {
          "name": "delayRequest",
          "type": "object",
          "info": "The number of hours to delay the notification by",
          "required": true,
          "schema": {
            "title": "delayRequest",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/delayReleaseNotification"
      },
      "task": true
    },
    {
      "name": "dismissReleaseNotification",
      "summary": "Dismiss a release notification",
      "description": "Dismiss a release, so it's no longer shown to the user.",
      "input": [
        {
          "name": "version",
          "type": "string",
          "info": "The version of the release the notification is for",
          "required": true,
          "schema": {
            "title": "version",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dismissReleaseNotification"
      },
      "task": true
    },
    {
      "name": "remoteLogReceiverGet",
      "summary": "To get all remote log receiver configurations",
      "description": "Remote log receiver configurations are returned in an array of objects.\n\n Response body: Array of Config Objects.\n\nHTTP(S)ReceiverConfig:\n {\n\"id\": integer,\n\"receiverType\": integer,\n\"enabled\": boolean,\n\"name\": string,\n\"logType\": integer,\n\"url\": string\n}\n\nKAFKAProducerConfig:\n {\n\"id\": integer,\n\"receiverType\": integer,\n\"enabled\": boolean,\n\"name\": string,\n\"logType\": integer,\n\"topic\": string,\n\"brokers\": string,\n\"acks\": string,\n\"retries\": integer,\n\"batchSize\": integer,\n\"bufferSize\": integer,\n\"linge...(description truncated)",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/remoteLogReceiverGet"
      },
      "task": true
    },
    {
      "name": "remoteLogReceiverAdd",
      "summary": "Add remote log receiver(s) with configuration provided in the request body",
      "description": "Post body is an array of objects WITHOUT id field.\n [\n{\n\"receiverType\": 0,\n\"enabled\": true,\n\"name\": \"HTTP_SERVER01\",\n\"logType\": 0,\n\"url\": \"www.example.com\"\n}\n]",
      "input": [
        {
          "name": "requestBody",
          "type": "object",
          "info": "Post body is an array of objects WITHOUT id field",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/remoteLogReceiverAdd"
      },
      "task": true
    },
    {
      "name": "remoteLogReceiverPut",
      "summary": "Update remote log receiver(s) with data provided in the request body",
      "description": "PUT request body is an array of objects with valid receiver ids.\n [\n{\n \"id\": 0,\n \"receiverType\": 0,\n\"enabled\": true,\n\"name\": \"HTTP_SERVER01\",\n\"logType\": 0,\n\"url\": \"www.example.com\"\n}\n]",
      "input": [
        {
          "name": "requestBody",
          "type": "string",
          "info": "PUT request body is an array of objects with valid receiver ids",
          "required": true,
          "schema": {
            "title": "requestBody",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/remoteLogReceiverPut"
      },
      "task": true
    },
    {
      "name": "remoteLogReceiverDelete",
      "summary": "Delete a remote log receiver",
      "description": "Delete a remote log receiver",
      "input": [
        {
          "name": "receiverId",
          "type": "number",
          "info": "The valid id of the receiver to be deleted.",
          "required": true,
          "schema": {
            "title": "receiverId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/remoteLogReceiverDelete"
      },
      "task": true
    },
    {
      "name": "remoteLogReceiverSubscribe",
      "summary": "To query specific log(s) with log type and sequence id(s) provided in the request body",
      "description": "To query specific log(s) with log type and sequence id(s) provided in the request body",
      "input": [
        {
          "name": "receiverId",
          "type": "number",
          "info": "The valid id of the receiver.",
          "required": true,
          "schema": {
            "title": "receiverId",
            "type": "number"
          }
        },
        {
          "name": "fetchingParam",
          "type": "object",
          "info": "Parameter for fetch specific log message. The id field is an array of strings, item in the array can be a single number or a range, for example: id: [\"1\", \"3\", \"4-6\"], me...(description truncated)",
          "required": true,
          "schema": {
            "title": "fetchingParam",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/remoteLogReceiverSubscribe"
      },
      "task": true
    },
    {
      "name": "dns",
      "summary": "Get the current DNS IP address and domain names configured for an appliance.",
      "description": "Get the current DNS IP address and domain names configured for an appliance.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dns"
      },
      "task": true
    },
    {
      "name": "restApiConfigGet",
      "summary": "Get the REST API config",
      "description": "Get the REST API config",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/restApiConfigGet"
      },
      "task": true
    },
    {
      "name": "restApiConfigPost",
      "summary": "Set the REST API config",
      "description": "Set the REST API config",
      "input": [
        {
          "name": "restApiConfigPost",
          "type": "object",
          "info": "Set the REST API config",
          "required": true,
          "schema": {
            "title": "restApiConfigPost",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/restApiConfigPost"
      },
      "task": true
    },
    {
      "name": "getRestRequestTimeStatsSummary",
      "summary": "Returns summary of time used info of rest requests sent to appliances",
      "description": "The summary is grouped by nepk, resource and portalWS",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "nePk of the appliance, 'all' means all appliances",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "resource",
          "type": "string",
          "info": "Base resource of the appliance to sent to, 'all' means all resources",
          "required": true,
          "schema": {
            "title": "resource",
            "type": "string"
          }
        },
        {
          "name": "portalWS",
          "type": "boolean",
          "info": "Through what web socket the requests were sent, true -- portal web socket, false -- direct web socket",
          "required": true,
          "schema": {
            "title": "portalWS",
            "type": "boolean"
          }
        },
        {
          "name": "timedout",
          "type": "boolean",
          "info": "Whether the requests timedout",
          "required": true,
          "schema": {
            "title": "timedout",
            "type": "boolean"
          }
        },
        {
          "name": "from",
          "type": "number",
          "info": "The minimum epoch time when the requests were sent",
          "required": true,
          "schema": {
            "title": "from",
            "type": "number"
          }
        },
        {
          "name": "to",
          "type": "number",
          "info": "The maximum epoch time when the requests were sent, 0 stands for till now",
          "required": true,
          "schema": {
            "title": "to",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRestRequestTimeStatsSummary"
      },
      "task": true
    },
    {
      "name": "getRestRequestTimeStatsDetails",
      "summary": "The time used details of all rest requests sent to an appliance's specific resource through portal web socket or web socket",
      "description": "The time used details of all rest requests sent to an appliance's specific resource through portal web socket or web socket",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "nePk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "resource",
          "type": "string",
          "info": "Base resource of the appliance to sent to, for example /webconfig should just be typed webconfig here",
          "required": true,
          "schema": {
            "title": "resource",
            "type": "string"
          }
        },
        {
          "name": "portalWS",
          "type": "boolean",
          "info": "Through what web socket this request was sent, true -- portal web socket, false -- direct web socket",
          "required": true,
          "schema": {
            "title": "portalWS",
            "type": "boolean"
          }
        },
        {
          "name": "method",
          "type": "string",
          "info": "The request method",
          "required": true,
          "schema": {
            "title": "method",
            "type": "string"
          }
        },
        {
          "name": "from",
          "type": "number",
          "info": "The minimum epoch time when the requests were sent",
          "required": true,
          "schema": {
            "title": "from",
            "type": "number"
          }
        },
        {
          "name": "to",
          "type": "number",
          "info": "The maximum epoch time when the requests were sent, 0 stands for till now",
          "required": true,
          "schema": {
            "title": "to",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getRestRequestTimeStatsDetails"
      },
      "task": true
    },
    {
      "name": "applyRmaWizard",
      "summary": "Applies the RMA wizard",
      "description": "notes",
      "input": [
        {
          "name": "applyRmaWizard",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "applyRmaWizard",
            "type": "object"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance to be replaced",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/applyRmaWizard"
      },
      "task": true
    },
    {
      "name": "samap",
      "summary": "Get built-in policy information",
      "description": "Get built-in policies from appliance by given appliance key(nePk)",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance nePk",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/samap"
      },
      "task": true
    },
    {
      "name": "securityMaps",
      "summary": "Get Security Policies configured on the appliance",
      "description": "Sample response:\n { \"map1\": { \"self\": \"map1\", \"20_21\": { \"self\": \"20_21\", \"prio\": { \"1000\": { \"match\": { \"acl\": \"\", \"either_dns\": \"*google.com\" }, \"self\": 1000, \"misc\": { \"rule\": \"enable\", \"logging\": \"disable\", \"logging_priority\": \"0\" }, \"comment\": \"\", \"gms_marked\": false, \"set\": { \"action\": \"allow\" } }, \"65535\": { \"match\": { \"acl\": \"\" }, \"self\": 65535, \"misc\": { \"rule\": \"enable\", \"logging\": \"disable\", \"logging_priority\": \"0\" }, \"comment\": \"\", \"gms_marked\": false, \"set\": { \"action\": \"deny\" } } ...(description truncated)",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/securityMaps"
      },
      "task": true
    },
    {
      "name": "getSessionActiveSessions",
      "summary": "Returns all the current active sessions",
      "description": "Returns all the current active sessions",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getSessionActiveSessions"
      },
      "task": true
    },
    {
      "name": "snmpGet",
      "summary": "Get SNMP information.",
      "description": "Get SNMP information.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "the primary key of appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/snmpGet"
      },
      "task": true
    },
    {
      "name": "spPortalAccountKeyChangeCount",
      "summary": "Number of times account key has been changed",
      "description": "This API contacts Portal to get the number of times this account key has been changed. Requires Portal connectivity.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalAccountKeyChangeCount"
      },
      "task": true
    },
    {
      "name": "spPortalAccountKeyChangeStatus",
      "summary": "Current account key change status",
      "description": "Current account key change status",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalAccountKeyChangeStatus"
      },
      "task": true
    },
    {
      "name": "spPortalAccountKeyGeneratePut",
      "summary": "Request Portal to generate a new account key",
      "description": "Requires Portal connectivity.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalAccountKeyGeneratePut"
      },
      "task": true
    },
    {
      "name": "spPortalECSPLicenseAssign",
      "summary": "Assign EC-SP licenses on Portal",
      "description": "Assign EC-SP licenses on Portal",
      "input": [
        {
          "name": "spPortalECSPLicenseAssign",
          "type": "object",
          "info": "JSON object containing appliance to license id mappings",
          "required": true,
          "schema": {
            "title": "spPortalECSPLicenseAssign",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/spPortalECSPLicenseAssign"
      },
      "task": true
    },
    {
      "name": "spPortalECSPLicensesGet",
      "summary": "Get EC-SP licenses from Portal",
      "description": "Get EC-SP licenses from Portal",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalECSPLicensesGet"
      },
      "task": true
    },
    {
      "name": "spPortalECSPLicenseUnassign",
      "summary": "Unassign EC-SP licenses on Portal",
      "description": "Unassign EC-SP licenses on Portal",
      "input": [
        {
          "name": "spPortalECSPLicenseUnassign",
          "type": "object",
          "info": "JSON object containing license ids to be unassigned",
          "required": true,
          "schema": {
            "title": "spPortalECSPLicenseUnassign",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/spPortalECSPLicenseUnassign"
      },
      "task": true
    },
    {
      "name": "spPortalAccountLicenseFeatureGet",
      "summary": "Get account license feature from Portal",
      "description": "Get account license feature from Portal",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalAccountLicenseFeatureGet"
      },
      "task": true
    },
    {
      "name": "spPortalAccountLicenseTypeGet",
      "summary": "Get account license type from Portal",
      "description": "Get account license type from Portal",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalAccountLicenseTypeGet"
      },
      "task": true
    },
    {
      "name": "spPortalDeleteOldKey",
      "summary": "Delete old account key from Portal",
      "description": "Acts as \"commit\" for a previous account key change. Make sure all managed appliances have the new account key before calling this.\n Successful response code is 204: no content. Requires Portal connectivity.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalDeleteOldKey"
      },
      "task": true
    },
    {
      "name": "checkApplianceReachabilityUsingWSGet",
      "summary": "Test if appliance is reachable via websocket from orchestrator",
      "description": "Returns status of orchestrator > portal > appliance websocket and orchestrator > appliance websocket connections. Must provide valid neId.",
      "input": [
        {
          "name": "neId",
          "type": "number",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/checkApplianceReachabilityUsingWSGet"
      },
      "task": true
    },
    {
      "name": "appGroupTmpGet",
      "summary": "Get application groups from portal",
      "description": "Returns a collection of application groups",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/appGroupTmpGet"
      },
      "task": true
    },
    {
      "name": "appGroupTmpHashCodeGet",
      "summary": "Get the hash code for application groups data from portal",
      "description": "Returns a hash code for application groups data. It is used as version number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/appGroupTmpHashCodeGet"
      },
      "task": true
    },
    {
      "name": "compoundTmpGet",
      "summary": "Get application definition for Compound data from portal",
      "description": "Returns a collection of application definition",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/compoundTmpGet"
      },
      "task": true
    },
    {
      "name": "compoundTmpHashCodeGet",
      "summary": "Get the hash code for application definition data for Compound data from portal",
      "description": "Returns a hash code for application definition data. It is used as version number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/compoundTmpHashCodeGet"
      },
      "task": true
    },
    {
      "name": "spPortalConfigGet",
      "summary": "Get Silver Peak Cloud Portal registration information",
      "description": "Get Silver Peak Cloud Portal registration information",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalConfigGet"
      },
      "task": true
    },
    {
      "name": "spPortalConfigPost",
      "summary": "Post Silver Peak Cloud Portal registration information",
      "description": "Post Silver Peak Cloud Portal registration information",
      "input": [
        {
          "name": "spPortalConfig",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "spPortalConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/spPortalConfigPost"
      },
      "task": true
    },
    {
      "name": "connectivityGet",
      "summary": "Get Orchestrator to Silver Peak Portal connectivity status",
      "description": "This API returns enums for portal connectivity status. 0: Unable to connect 1: Connected 2: Connecting",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/connectivityGet"
      },
      "task": true
    },
    {
      "name": "spPortalCreateCasePost",
      "summary": "Create a case",
      "description": "Create a case for the Orchestrator or an appliance.\n\n caseEmail: If Orchestrator is not registered to Portal, a valid Silver Peak support account email address is required in order to create a case.\n orchSerialNum: For Orchestrators, leave this field empty (\"\"). For appliances, enter the nePk (E.g. \"0.NE\"). The corresponding serial number will then be retrieved based on these inputs.",
      "input": [
        {
          "name": "spPortalCreateCaseWithPortal",
          "type": "object",
          "info": "JSON object containing case information that will be used to create a case.",
          "required": true,
          "schema": {
            "title": "spPortalCreateCaseWithPortal",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/spPortalCreateCasePost"
      },
      "task": true
    },
    {
      "name": "dnsTmpGet",
      "summary": "Get application definition for Domain Name from portal",
      "description": "Returns an array of application definition",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/dnsTmpGet"
      },
      "task": true
    },
    {
      "name": "dnsTmpHashCodeGet",
      "summary": "Get the hash code for application definition data for Domain Name from portal",
      "description": "Returns a hash code for application definition data. It is used as version number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/dnsTmpHashCodeGet"
      },
      "task": true
    },
    {
      "name": "geoLocationPost",
      "summary": "Get geolocation information for multiple ip's from portal",
      "description": "Returns a collection of GeoLocationObjects indexed by ip address value. IP addresses should be provided as array of 32-bit integers",
      "input": [
        {
          "name": "geoLocationPostBody",
          "type": "array",
          "info": "JSON object containing array of ip's to be geo located",
          "required": true,
          "schema": {
            "title": "geoLocationPostBody",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/geoLocationPost"
      },
      "task": true
    },
    {
      "name": "geoLocationGet",
      "summary": "Get geolocation information for a single ip from portal",
      "description": "IP address should be provided in 32-bit integer format",
      "input": [
        {
          "name": "ip",
          "type": "number",
          "info": "IP Address to be geo located in 32-bit integer format",
          "required": true,
          "schema": {
            "title": "ip",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/geoLocationGet"
      },
      "task": true
    },
    {
      "name": "ipIntelligenceTmpGet",
      "summary": "Get application definition data for Address Map from portal",
      "description": "Returns an array of IP intelligence data which starts at start id with a total limit. Start id starts from 0. Maximum limit is 10000.",
      "input": [
        {
          "name": "start",
          "type": "number",
          "info": "start id, start from 0",
          "required": true,
          "schema": {
            "title": "start",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "limit number, maximum is 10000",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/ipIntelligenceTmpGet"
      },
      "task": true
    },
    {
      "name": "ipIntelligenceTmpTimeGet",
      "summary": "Get the last update time for application definition data for Address Map from portal",
      "description": "Returns a timestamp for application definition data. It is used as version number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/ipIntelligenceTmpTimeGet"
      },
      "task": true
    },
    {
      "name": "getSpPortalInternetDbIpIntelligenceSearch",
      "summary": "Search application definition data for Address Map from portal",
      "description": "If provides a valid IPv4 address in 32-bit integer format, it will search through ip. Otherwise it will search by match filter[app name, description, country, organization]. Returns an array of IP intelligence data with top 5000 results only, coz the data may be too large.",
      "input": [
        {
          "name": "ip",
          "type": "number",
          "info": "IPv4 address in 32-bit integer format",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "number"
          }
        },
        {
          "name": "filter",
          "type": "string",
          "info": "String filter",
          "required": false,
          "schema": {
            "title": "filter",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getSpPortalInternetDbIpIntelligenceSearch"
      },
      "task": true
    },
    {
      "name": "ipIntelligenceTmpTotal",
      "summary": "Get count for application definition data for Address Map from portal",
      "description": "Get count for application definition data for Address Map from portal",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/ipIntelligenceTmpTotal"
      },
      "task": true
    },
    {
      "name": "serviceIdToSaasIdGet",
      "summary": "Get service id to service details mapping",
      "description": "This API returns collection of service id to service details [serviceId, saasId, country, countryCode, org, saasAppName, displayName, priority] mapping. If no filters are specified this returns top 100 results only coz the data may be too large. You can specify filters to query the dataset.",
      "input": [
        {
          "name": "matchAny",
          "type": "string",
          "info": "Wildcard match on country, org, saasAppName",
          "required": false,
          "schema": {
            "title": "matchAny",
            "type": "string"
          }
        },
        {
          "name": "org",
          "type": "string",
          "info": "Wildcard match on org",
          "required": false,
          "schema": {
            "title": "org",
            "type": "string"
          }
        },
        {
          "name": "serviceIds",
          "type": "string",
          "info": "Only return these serviceIds. Separate multiple serviceIds with a comma ','",
          "required": false,
          "schema": {
            "title": "serviceIds",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Return top x matches",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/serviceIdToSaasIdGet"
      },
      "task": true
    },
    {
      "name": "serviceIdToSaasIdCountGet",
      "summary": "Get count of internet services on this appliance",
      "description": "Get count of internet services on this appliance",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/serviceIdToSaasIdCountGet"
      },
      "task": true
    },
    {
      "name": "serviceIdToSaasIdCountriesGet",
      "summary": "Get a list of unique countries in the internet services database",
      "description": "This API returns collection of service id to country details [serviceId, saasId, country, countryCode, org, saasAppName, displayName, priority] mapping.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/serviceIdToSaasIdCountriesGet"
      },
      "task": true
    },
    {
      "name": "serviceIdToSaasIdSaasAppGet",
      "summary": "Get a list of unique saas applications in the internet services database",
      "description": "This API returns a list of saas applications",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/serviceIdToSaasIdSaasAppGet"
      },
      "task": true
    },
    {
      "name": "ipProtocolNumbersGet",
      "summary": "Get IP Protocol Numbers data",
      "description": "This API returns list of IP Protocol Numbers",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/ipProtocolNumbersGet"
      },
      "task": true
    },
    {
      "name": "meterFlowTmpGet",
      "summary": "Get application definition for Meter Flow from portal",
      "description": "Returns a collection of application definition",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/meterFlowTmpGet"
      },
      "task": true
    },
    {
      "name": "meterFlowTmpHashCodeGet",
      "summary": "Get the hash code for application definition data for Meter Flow from portal",
      "description": "Returns a hash code for application definition data. It is used as version number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/meterFlowTmpHashCodeGet"
      },
      "task": true
    },
    {
      "name": "portProtocolTmpGet",
      "summary": "Get application definition for IP Protocol, TCP Port, UDP Port from portal",
      "description": "Returns a collection of application definition",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/portProtocolTmpGet"
      },
      "task": true
    },
    {
      "name": "portProtocolTmpHashCodeGet",
      "summary": "Get the hash code for application definition data for IP Protocol, TCP Port, UDP Port from portal",
      "description": "Returns a hash code for application definition data. It is used as version number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/portProtocolTmpHashCodeGet"
      },
      "task": true
    },
    {
      "name": "gmsPortalRegistrationGet",
      "summary": "Get current GMS-Portal registration status",
      "description": "Get current GMS-Portal registration status",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/gmsPortalRegistrationGet"
      },
      "task": true
    },
    {
      "name": "gmsPortalRegistrationPost",
      "summary": "Initiate GMS-Portal Registration",
      "description": "Use this API to reset the GMS-Portal registration state and initiate new Registration cycle. There is no post data required for this API, to edit portal credentials (Account Key, Account Name, Group, Site) use /gmsConfig/spPortal. Registration cycle may take up to two minutes to get an update from Portal, use GET /spPortal/registration to poll.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/gmsPortalRegistrationPost"
      },
      "task": true
    },
    {
      "name": "saasTmpGet",
      "summary": "Get application definition for SaaS data from portal",
      "description": "Returns a collection of application definition",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/saasTmpGet"
      },
      "task": true
    },
    {
      "name": "saasTmpHashCodeGet",
      "summary": "Get the hash code for application definition data for SaaS data from portal",
      "description": "Returns a hash code for application definition data. It is used as version number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/saasTmpHashCodeGet"
      },
      "task": true
    },
    {
      "name": "spPortalStatusGet",
      "summary": "Debug API to view current status of all Portal related services",
      "description": "Debug API to view current status of all Portal related services",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/spPortalStatusGet"
      },
      "task": true
    },
    {
      "name": "tcpUdpPortsGet",
      "summary": "Get TCP/UDP ports data",
      "description": "This API returns list of TCP, UDP ports and their applications",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/tcpUdpPortsGet"
      },
      "task": true
    },
    {
      "name": "topSitesGet",
      "summary": "Get list of top internet sites",
      "description": "This API returns array of top internet sites fetched from Silver Peak Cloud Portal",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/topSitesGet"
      },
      "task": true
    },
    {
      "name": "tbTmpGet",
      "summary": "Get traffic behavior categories from portal",
      "description": "Returns a collection of traffic behavior configuration and names",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/tbTmpGet"
      },
      "task": true
    },
    {
      "name": "tbTmpHashCodeGet",
      "summary": "Get the hash code for traffic behavior categories data from portal",
      "description": "Returns a hash code for traffic behavior data. It is used as version number.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/tbTmpHashCodeGet"
      },
      "task": true
    },
    {
      "name": "sslCertsGet",
      "summary": "Get all SSL certificates on the appliance",
      "description": "The schema shows a single SSL certificate object. The return value is a list of SSL certificates keyed by unique hash code value",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Internal Id of the appliance from which you want to retrieve status information",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sslCertsGet"
      },
      "task": true
    },
    {
      "name": "sslCACertGetTextPost",
      "summary": "This API will take certificate date and return certificate information in text",
      "description": "This API will take certificate date and return certificate information in text",
      "input": [
        {
          "name": "sslCACertsFile",
          "type": "object",
          "info": "A JSON object representing CA SSL certificate data",
          "required": true,
          "schema": {
            "title": "sslCACertsFile",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sslCACertGetTextPost"
      },
      "task": true
    },
    {
      "name": "sslCACertValidation",
      "summary": "Validate the SSL CA certificate file.",
      "description": "Validate the SSL CA certificate file.",
      "input": [
        {
          "name": "sslCACertValidation",
          "type": "object",
          "info": "A JSON object representing SSL certificate",
          "required": true,
          "schema": {
            "title": "sslCACertValidation",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sslCACertValidation"
      },
      "task": true
    },
    {
      "name": "sslCACerts",
      "summary": "Get all CA SSL certificates on the appliance.",
      "description": "Get all CA SSL certificates on the appliance.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Internal Id of the appliance from which you want to retrieve status information",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sslCACerts"
      },
      "task": true
    },
    {
      "name": "sslCertGetInfoPost",
      "summary": "This API will take certificate date and return certificate information",
      "description": "This API will take certificate date and return certificate information",
      "input": [
        {
          "name": "sslCertGetInfoPost",
          "type": "object",
          "info": "A JSON object representing SSL certificate",
          "required": true,
          "schema": {
            "title": "sslCertGetInfoPost",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sslCertGetInfoPost"
      },
      "task": true
    },
    {
      "name": "sslCertGetTextPost",
      "summary": "This API will take certificate date and return certificate information in text",
      "description": "This API will take certificate date and return certificate information in text",
      "input": [
        {
          "name": "sslCertGetTextPost",
          "type": "object",
          "info": "A JSON object representing SSL certificate",
          "required": true,
          "schema": {
            "title": "sslCertGetTextPost",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sslCertGetTextPost"
      },
      "task": true
    },
    {
      "name": "sslSubstituteCertValidation",
      "summary": "Validate the SSL Substitute certificate",
      "description": "Validate the SSL Substitute certificate",
      "input": [
        {
          "name": "sslSubstituteCertValidation",
          "type": "object",
          "info": "A JSON object representing SSL Substitute certificate file",
          "required": true,
          "schema": {
            "title": "sslSubstituteCertValidation",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sslSubstituteCertValidation"
      },
      "task": true
    },
    {
      "name": "sslSubstituteCertGet",
      "summary": "Get all SSL Substitute certificates on the appliance.",
      "description": "Get all SSL Substitute certificates on the appliance.",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "Internal Id of the appliance from which you want to retrieve status information",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/sslSubstituteCertGet"
      },
      "task": true
    },
    {
      "name": "statsAggregateTunnel",
      "summary": "Get aggregate appliance stats data filter by query parameters.",
      "description": "This operation is used to retrieve appliance aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateTunnel"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateAppliance",
      "summary": "Get aggregate appliance stats data filter by query parameters.",
      "description": "This operation is used to retrieve appliance aggregate stats and it's identical to the GET operation on this URL except that you need to pass a request body containing appliance ids that you want to filter on to it. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateAppliance"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateApplianceNePk",
      "summary": "Get aggregate appliance stats data for a single appliance filter by query parameters.",
      "description": "This operation is used to retrieve appliance aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateApplianceNePk"
      },
      "task": true
    },
    {
      "name": "statsAggregateApplication",
      "summary": "Get aggregate application stats data filter by query parameters",
      "description": "This operation is used to retrieve application aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateApplication"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateApplication",
      "summary": "Get aggregate application stats data filter by query parameters",
      "description": "This operation is used to retrieve application aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateApplication"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateApplicationNePk",
      "summary": "Get aggregate application stats data for a single appliance filter by query parameters",
      "description": "This operation is used to retrieve application aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateApplicationNePk"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateApplication2",
      "summary": "Get aggregate application stats data filter by query parameters",
      "description": "This operation is used to retrieve application aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Retrieve top 10 applications by throughput.",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateApplication2"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateApplication2",
      "summary": "Get aggregate application stats data filter by query parameters",
      "description": "This operation is used to retrieve application aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Retrieve top 10 applications by throughput.",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateApplication2"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateApplication2NePk",
      "summary": "Get aggregate application stats data for a single appliance filter by query parameters",
      "description": "This operation is used to retrieve application aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Retrieve top 10 applications by throughput.",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateApplication2NePk"
      },
      "task": true
    },
    {
      "name": "boostAggregateStats",
      "summary": "Get aggregate boost stats data",
      "description": "This operation is used to retrieve boost aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/boostAggregateStats"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateBoostNePk",
      "summary": "Get aggregate boost stats data",
      "description": "This operation is used to retrieve boost aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "tunnelName",
          "type": "string",
          "info": "Filter for data which belongs to tunnel with name {tunnelName}",
          "required": false,
          "schema": {
            "title": "tunnelName",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "When it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded tunnels associated with the overlay id.",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateBoostNePk"
      },
      "task": true
    },
    {
      "name": "dNSStatsAggregate",
      "summary": "Get aggregate dns stats data filter by query parameters.",
      "description": "This operation is used to retrieve DNS aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "isSource",
          "type": "number",
          "info": "Integer value representing whether dns is from source or destination",
          "required": false,
          "schema": {
            "title": "isSource",
            "type": "number"
          }
        },
        {
          "name": "splitType",
          "type": "number",
          "info": "Filter data for a specific type, where 0 is for 'http', 1 is for 'https', 2 is for 'unassigned' and 3 is for 'others'",
          "required": false,
          "schema": {
            "title": "splitType",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "splitByNe",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to split aggregate stats by appliance, if true is provided, there will be an extra level of key inside each stats object indicat...(description truncated)",
          "required": false,
          "schema": {
            "title": "splitByNe",
            "type": "boolean"
          }
        },
        {
          "name": "groupBy",
          "type": "string",
          "info": "Group the data based on this value. Default value is dns.",
          "required": false,
          "schema": {
            "title": "groupBy",
            "type": "string"
          }
        },
        {
          "name": "groupBySubDomains",
          "type": "number",
          "info": "Group the data based on this value.Integer value represents number of sub-domains. Default value is 2.",
          "required": false,
          "schema": {
            "title": "groupBySubDomains",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/dNSStatsAggregate"
      },
      "task": true
    },
    {
      "name": "statsAggregateDns",
      "summary": "Get aggregate dns stats data filter by query parameters.",
      "description": "This operation is used to retrieve dns aggregate stats and it's identical to the GET operation on this URL except that you need to pass a request body containing appliance ids that you want to filter on to it. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "isSource",
          "type": "number",
          "info": "Integer value representing whether dns is from source or destination",
          "required": false,
          "schema": {
            "title": "isSource",
            "type": "number"
          }
        },
        {
          "name": "splitType",
          "type": "number",
          "info": "Filter data for a specific type, where 0 is for 'http', 1 is for 'https', 2 is for 'unassigned' and 3 is for 'others'",
          "required": false,
          "schema": {
            "title": "splitType",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "splitByNe",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to split aggregate stats by appliance, if true is provided, there will be an extra level of key inside each stats object indicat...(description truncated)",
          "required": false,
          "schema": {
            "title": "splitByNe",
            "type": "boolean"
          }
        },
        {
          "name": "groupBy",
          "type": "string",
          "info": "Group the data based on this value. Default value is dns.",
          "required": false,
          "schema": {
            "title": "groupBy",
            "type": "string"
          }
        },
        {
          "name": "groupBySubDomains",
          "type": "number",
          "info": "Group the data based on this value.Integer value represents number of sub-domains. Default value is 2.",
          "required": false,
          "schema": {
            "title": "groupBySubDomains",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateDns"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateDnsNePk",
      "summary": "Get aggregate dns stats data for a single appliance filter by query parameters.",
      "description": "This operation is used to retrieve dns aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "isSource",
          "type": "number",
          "info": "Integer value representing whether dns is from source or destination",
          "required": false,
          "schema": {
            "title": "isSource",
            "type": "number"
          }
        },
        {
          "name": "splitType",
          "type": "number",
          "info": "Filter data for a specific type, where 0 is for 'http', 1 is for 'https', 2 is for 'unassigned' and 3 is for 'others'",
          "required": false,
          "schema": {
            "title": "splitType",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "splitByNe",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to split aggregate stats by appliance, if true is provided, there will be an extra level of key inside each stats object indicat...(description truncated)",
          "required": false,
          "schema": {
            "title": "splitByNe",
            "type": "boolean"
          }
        },
        {
          "name": "groupBy",
          "type": "string",
          "info": "Group the data based on this value. Default value is dns.",
          "required": false,
          "schema": {
            "title": "groupBy",
            "type": "string"
          }
        },
        {
          "name": "groupBySubDomains",
          "type": "number",
          "info": "Group the data based on this value.Integer value represents number of sub-domains. Default value is 2.",
          "required": false,
          "schema": {
            "title": "groupBySubDomains",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateDnsNePk"
      },
      "task": true
    },
    {
      "name": "statsAggregateDrcTunnel",
      "summary": "Get aggregate tunnel drc stats data filter by query parameters.",
      "description": "This operation is used to retrieve tunnel aggregate drc stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra column inside each tunnel stats record in CSV...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateDrcTunnel"
      },
      "task": true
    },
    {
      "name": "statsDrcAggregateTunnel",
      "summary": "Get aggregate tunnel drc stats data filter by query parameters.",
      "description": "This operation is used to retrieve tunnel aggregate stats and it's identical to the GET operation on this URL except that you need to pass a request body containing appliance ids that you want to filter on to it. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra column inside each tunnel stats record in CSV...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsDrcAggregateTunnel"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateDrcNePk",
      "summary": "Get aggregate tunnel drc stats data for a single appliance filter by query parameters.",
      "description": "This operation is used to retrieve tunnel aggregate drc stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "tunnelName",
          "type": "string",
          "info": "Filter for data which belongs to tunnel with name {tunnelName}",
          "required": false,
          "schema": {
            "title": "tunnelName",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra column inside each tunnel stats record in CSV...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateDrcNePk"
      },
      "task": true
    },
    {
      "name": "statsAggregateDscp",
      "summary": "Get aggregate dscp stats data filter by query parameters",
      "description": "This operation is used to retrieve dscp aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "dscp",
          "type": "number",
          "info": "Filter for data which belongs to a certain flow type. Valid DSCP: 0 - 63",
          "required": false,
          "schema": {
            "title": "dscp",
            "type": "number"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateDscp"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateDscp",
      "summary": "Get aggregate dscp stats data filter by query parameters",
      "description": "This operation is used to retrieve dscp aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "dscp",
          "type": "number",
          "info": "Filter for data which belongs to a certain flow type. Valid DSCP: 0 - 63",
          "required": false,
          "schema": {
            "title": "dscp",
            "type": "number"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateDscp"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateDscpNePk",
      "summary": "Get aggregate dscp stats data for a single appliance filter by query parameters",
      "description": "This operation is used to retrieve dscp aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": false,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "dscp",
          "type": "number",
          "info": "Filter for data which belongs to a certain flow type. Valid DSCP: 0 - 63",
          "required": false,
          "schema": {
            "title": "dscp",
            "type": "number"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateDscpNePk"
      },
      "task": true
    },
    {
      "name": "statsAggregateFlow",
      "summary": "Get aggregate flow stats data filter by query parameters",
      "description": "This operation is used to retrieve flow aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "flow",
          "type": "string",
          "info": "Filter for data which belongs to a certain flow type.",
          "required": false,
          "schema": {
            "title": "flow",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateFlow"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateFlow",
      "summary": "Get aggregate flow stats data filter by query parameters",
      "description": "This operation is used to retrieve flow aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "flow",
          "type": "string",
          "info": "Filter for data which belongs to a certain flow type.",
          "required": false,
          "schema": {
            "title": "flow",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateFlow"
      },
      "task": true
    },
    {
      "name": "getActiveFlowCounts",
      "summary": "Get active flow counts by NE id",
      "description": "Get active flow counts by NE id",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getActiveFlowCounts"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateFlowNePk",
      "summary": "Get aggregate flow stats data for a single appliance filter by query parameters",
      "description": "This operation is used to retrieve flow aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": false,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "flow",
          "type": "string",
          "info": "Filter for data which belongs to a certain flow type.",
          "required": false,
          "schema": {
            "title": "flow",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateFlowNePk"
      },
      "task": true
    },
    {
      "name": "interfaceAggregateStats",
      "summary": "Get aggregate interface stats data for a all appliance filter by query parameters",
      "description": "This operation is used to retrieve interface aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/interfaceAggregateStats"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateInterface",
      "summary": "Get aggregate interface stats data",
      "description": "This operation is used to retrieve interface aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateInterface"
      },
      "task": true
    },
    {
      "name": "interfaceOverlayTransportAggregateStats",
      "summary": "Get aggregate interface overlay transport stats data",
      "description": "This operation is used to retrieve interface overlay transport aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "interfaceName",
          "type": "string",
          "info": "Interface name you want to filter on.",
          "required": false,
          "schema": {
            "title": "interfaceName",
            "type": "string"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "When it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded tunnels associated with the overlay id.",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/interfaceOverlayTransportAggregateStats"
      },
      "task": true
    },
    {
      "name": "jitterStatsAggregate",
      "summary": "Get aggregate jitter stats data filter by query parameters.",
      "description": "This operation is used to retrieve jitter aggregate stats. Depend on what query parameters are provided.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/jitterStatsAggregate"
      },
      "task": true
    },
    {
      "name": "statsAggregateJitter",
      "summary": "Get aggregate jitter stats data filter by query parameters.",
      "description": "This operation is identical to the GET operation on this URL except that you need to pass a request body containing appliance ids that you want to filter on to it.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateJitter"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateJitterNePk",
      "summary": "Get aggregate jitter stats data filter by query parameters.",
      "description": "This operation is used to retrieve jitter aggregate stats. Depend on what query parameters are provided.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        },
        {
          "name": "tunnelName",
          "type": "string",
          "info": "Filter for data which belongs to tunnel with name {tunnelName}",
          "required": false,
          "schema": {
            "title": "tunnelName",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateJitterNePk"
      },
      "task": true
    },
    {
      "name": "mosAggregateStats",
      "summary": "Get aggregate Mean Opinion Score stats data",
      "description": "This operation is used to retrieve mos aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "When it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded tunnels associated with the overlay id.",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/mosAggregateStats"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateMosNePk",
      "summary": "Get aggregate Mean Opinion Score stats data",
      "description": "This operation is used to retrieve mos aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "tunnelName",
          "type": "string",
          "info": "Filter for data which belongs to tunnel with name {tunnelName}",
          "required": false,
          "schema": {
            "title": "tunnelName",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "When it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded tunnels associated with the overlay id.",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateMosNePk"
      },
      "task": true
    },
    {
      "name": "portStatsAggregate",
      "summary": "Get aggregate ports stats data filter by query parameters.",
      "description": "This operation is used to retrieve ports aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "isSource",
          "type": "number",
          "info": "Integer value representing whether port is from source or destination",
          "required": false,
          "schema": {
            "title": "isSource",
            "type": "number"
          }
        },
        {
          "name": "isKnown",
          "type": "number",
          "info": "Integer value representing whether port is assigned to a application(1) or not(0)",
          "required": false,
          "schema": {
            "title": "isKnown",
            "type": "number"
          }
        },
        {
          "name": "protocol",
          "type": "number",
          "info": "Integer value representing whether protocol used by port",
          "required": false,
          "schema": {
            "title": "protocol",
            "type": "number"
          }
        },
        {
          "name": "port",
          "type": "number",
          "info": "Integer value representing whether port number",
          "required": false,
          "schema": {
            "title": "port",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "splitByNe",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to split aggregate stats by appliance, if true is provided, there will be an extra level of key inside each stats object indicat...(description truncated)",
          "required": false,
          "schema": {
            "title": "splitByNe",
            "type": "boolean"
          }
        },
        {
          "name": "lastHour",
          "type": "boolean",
          "info": "Boolean value representing whether to fetch data one hour behind from last hour if data is not found in last hour time range",
          "required": false,
          "schema": {
            "title": "lastHour",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/portStatsAggregate"
      },
      "task": true
    },
    {
      "name": "statsAggregatePorts",
      "summary": "Get aggregate ports stats data filter by query parameters.",
      "description": "This operation is used to retrieve ports aggregate stats and it's identical to the GET operation on this URL except that you need to pass a request body containing appliance ids that you want to filter on to it. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "isSource",
          "type": "number",
          "info": "Integer value representing whether dns is from source or destination",
          "required": false,
          "schema": {
            "title": "isSource",
            "type": "number"
          }
        },
        {
          "name": "isKnown",
          "type": "number",
          "info": "Integer value representing whether port is assigned to a application(1) or not(0)",
          "required": false,
          "schema": {
            "title": "isKnown",
            "type": "number"
          }
        },
        {
          "name": "protocol",
          "type": "number",
          "info": "Integer value representing whether protocol used by port",
          "required": false,
          "schema": {
            "title": "protocol",
            "type": "number"
          }
        },
        {
          "name": "port",
          "type": "number",
          "info": "Integer value representing whether port number",
          "required": false,
          "schema": {
            "title": "port",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "splitByNe",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to split aggregate stats by appliance, if true is provided, there will be an extra level of key inside each stats object indicat...(description truncated)",
          "required": false,
          "schema": {
            "title": "splitByNe",
            "type": "boolean"
          }
        },
        {
          "name": "lastHour",
          "type": "boolean",
          "info": "Boolean value representing whether to fetch data one hour behind from last hour if data is not found in last hour time range",
          "required": false,
          "schema": {
            "title": "lastHour",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregatePorts"
      },
      "task": true
    },
    {
      "name": "getStatsAggregatePortsNePk",
      "summary": "Get aggregate ports stats data filter by query parameters.",
      "description": "This operation is used to retrieve ports aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "isSource",
          "type": "number",
          "info": "Integer value representing whether port is from source or destination",
          "required": false,
          "schema": {
            "title": "isSource",
            "type": "number"
          }
        },
        {
          "name": "isKnown",
          "type": "number",
          "info": "Integer value representing whether port is assigned to a application(1) or not(0)",
          "required": false,
          "schema": {
            "title": "isKnown",
            "type": "number"
          }
        },
        {
          "name": "protocol",
          "type": "number",
          "info": "Integer value representing whether protocol used by port",
          "required": false,
          "schema": {
            "title": "protocol",
            "type": "number"
          }
        },
        {
          "name": "port",
          "type": "number",
          "info": "Integer value representing whether port number",
          "required": false,
          "schema": {
            "title": "port",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "splitByNe",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to split aggregate stats by appliance, if true is provided, there will be an extra level of key inside each stats object indicat...(description truncated)",
          "required": false,
          "schema": {
            "title": "splitByNe",
            "type": "boolean"
          }
        },
        {
          "name": "lastHour",
          "type": "boolean",
          "info": "Boolean value representing whether to fetch data one hour behind from last hour if data is not found in last hour time range",
          "required": false,
          "schema": {
            "title": "lastHour",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregatePortsNePk"
      },
      "task": true
    },
    {
      "name": "securityPolicyAggregateStats",
      "summary": "Get aggregate security policy stats data",
      "description": "This operation is used to retrieve security policy aggregate stats.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv, and the response data format would be different if this field is provided",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance. Default value is true.",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/securityPolicyAggregateStats"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateSecurityPolicyNePk",
      "summary": "Get aggregate security policy stats data",
      "description": "This operation is used to retrieve security policy aggregate stats.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "fromZone",
          "type": "string",
          "info": "Filter for data which come from the zone indicated by this zone internal ID",
          "required": true,
          "schema": {
            "title": "fromZone",
            "type": "string"
          }
        },
        {
          "name": "toZone",
          "type": "string",
          "info": "Filter for data which go to the zone indicated by this zone internal ID",
          "required": true,
          "schema": {
            "title": "toZone",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Indicate top x items",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv, and the response data format would be different if this field is provided",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance. Default value is true.",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateSecurityPolicyNePk"
      },
      "task": true
    },
    {
      "name": "topTalkersStatsAggregate",
      "summary": "Get aggregate topTalkers stats data filter by query parameters.",
      "description": "This operation is used to retrieve topTalkers aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "splitByNe",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to split aggregate stats by appliance, if true is provided, there will be an extra level of key inside each stats object indicat...(description truncated)",
          "required": false,
          "schema": {
            "title": "splitByNe",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/topTalkersStatsAggregate"
      },
      "task": true
    },
    {
      "name": "statsAggregateTopTalkers",
      "summary": "Get aggregate topTalkers stats data filter by query parameters.",
      "description": "This operation is used to retrieve topTalkers aggregate stats and it's identical to the GET operation on this URL except that you need to pass a request body containing appliance ids that you want to filter on to it. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "splitByNe",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to split aggregate stats by appliance, if true is provided, there will be an extra level of key inside each stats object indicat...(description truncated)",
          "required": false,
          "schema": {
            "title": "splitByNe",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateTopTalkers"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateTopTalkersSplitNePk",
      "summary": "Get aggregate topTalkers stats data for a single appliance filter by query parameters.",
      "description": "This operation is used to retrieve topTalkers aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "sourceIp",
          "type": "string",
          "info": "Source IP address",
          "required": false,
          "schema": {
            "title": "sourceIp",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateTopTalkersSplitNePk"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateTopTalkersNePk",
      "summary": "Get aggregate topTalkers stats data for a single appliance filter by query parameters.",
      "description": "This operation is used to retrieve topTalkers aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "No. of rows to return",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateTopTalkersNePk"
      },
      "task": true
    },
    {
      "name": "trafficBehavior",
      "summary": "Get aggregate Traffic Behavioral stats data filter by query parameters",
      "description": "This operation is used to retrieve Traffic Behavioral aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Start time ( epoch time in seconds ) of time range that stats are requested for",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "End time ( epoch time in seconds ) of time range that stats are requested for",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "behavioralCate",
          "type": "string",
          "info": "Filter for data which belongs to behavioral Category with name { behavioral_category }",
          "required": false,
          "schema": {
            "title": "behavioralCate",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/trafficBehavior"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateTrafficBehavior",
      "summary": "Get aggregate Traffic Behavioral stats data for a single appliance filter by query parameters",
      "description": "This operation is used to retrieve Traffic Behavioral stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Start time ( epoch time in seconds ) of time range that stats are requested for",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "End time ( epoch time in seconds ) of time range that stats are requested for",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "behavioralCate",
          "type": "string",
          "info": "Filter for data which belongs to behavioral Category with name { behavioral_category }",
          "required": false,
          "schema": {
            "title": "behavioralCate",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Restrict Applications for each behavior category to Top N",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "lastHour",
          "type": "boolean",
          "info": "Boolean value representing whether to fetch data one hour behind from last hour if data is not found in last hour time range",
          "required": false,
          "schema": {
            "title": "lastHour",
            "type": "boolean"
          }
        },
        {
          "name": "isAggregated",
          "type": "boolean",
          "info": "Get (aggregate) Traffic Behavioral stats data",
          "required": false,
          "schema": {
            "title": "isAggregated",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateTrafficBehavior"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateTrafficBehaviorNePk",
      "summary": "Get aggregate Traffic Behavioral stats data filter by query parameters",
      "description": "This operation is used to retrieve Traffic Behavioral stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Start time ( epoch time in seconds ) of time range that stats are requested for",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "End time ( epoch time in seconds ) of time range that stats are requested for",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "behavioralCate",
          "type": "string",
          "info": "Filter for data which belongs to behavioral Category with name { behavioral_category }",
          "required": false,
          "schema": {
            "title": "behavioralCate",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": false,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "Restrict Applications for each behavior category to Top N",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "lastHour",
          "type": "boolean",
          "info": "Boolean value representing whether to fetch data one hour behind from last hour if data is not found in last hour time range",
          "required": false,
          "schema": {
            "title": "lastHour",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateTrafficBehaviorNePk"
      },
      "task": true
    },
    {
      "name": "statsAggregateTrafficClass",
      "summary": "Get aggregate traffic class stats data filter by query parameters",
      "description": "This operation is used to retrieve traffic class aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": false,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsAggregateTrafficClass"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateTrafficClass",
      "summary": "Get aggregate traffic class stats data filter by query parameters",
      "description": "This operation is used to retrieve traffic class aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": false,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateTrafficClass"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateTrafficClassNePk",
      "summary": "Get aggregate trafficClass stats data for a single appliance filter by query parameters",
      "description": "This operation is used to retrieve trafficClass aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": false,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": false,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateTrafficClassNePk"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateTunnel",
      "summary": "Get aggregate tunnel stats data filter by query parameters.",
      "description": "This operation is used to retrieve tunnel aggregate stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Filter data for a specific group",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateTunnel"
      },
      "task": true
    },
    {
      "name": "postStatsAggregateTunnel",
      "summary": "Get aggregate tunnel stats data filter by query parameters.",
      "description": "This operation is used to retrieve tunnel aggregate stats and it's identical to the GET operation on this URL except that you need to pass a request body containing appliance ids that you want to filter on to it. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsAggregateTunnel"
      },
      "task": true
    },
    {
      "name": "getStatsAggregateTunnelNePk",
      "summary": "Get aggregate tunnel stats data for a single appliance filter by query parameters.",
      "description": "This operation is used to retrieve tunnel aggregate stats for a single appliance. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Appliance internal id to filter from.",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "tunnelName",
          "type": "string",
          "info": "Filter for data which belongs to tunnel with name {tunnelName}",
          "required": false,
          "schema": {
            "title": "tunnelName",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key.",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "metric",
          "type": "string",
          "info": "If this query parameter is given, we aggregate stats in a way that we sort stats by this {metric}. This query parameter could also be used with {top} query parameters to ...(description truncated)",
          "required": false,
          "schema": {
            "title": "metric",
            "type": "string"
          }
        },
        {
          "name": "top",
          "type": "number",
          "info": "This parameter should be provided together with {metric} as this query parameter is used to indicate top x items of a metric. Example, if metric=throughput&top=10 is prov...(description truncated)",
          "required": false,
          "schema": {
            "title": "top",
            "type": "number"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "when it is 'all',return all bonded tunnels;when it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded ...(description truncated)",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "groupByNE",
          "type": "boolean",
          "info": "Boolean value indicating whether you want to group aggregate stats by appliance, if true is provided, there will be an extra level of key inside each tunnel stats object ...(description truncated)",
          "required": false,
          "schema": {
            "title": "groupByNE",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsAggregateTunnelNePk"
      },
      "task": true
    },
    {
      "name": "statsDnsInfo",
      "summary": "Get domain name by IP address from dns stats table",
      "description": "Get domain name by IP address from dns stats table",
      "input": [
        {
          "name": "ip",
          "type": "string",
          "info": "IP address to get dns name.",
          "required": true,
          "schema": {
            "title": "ip",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsDnsInfo"
      },
      "task": true
    },
    {
      "name": "statsTimeseriesAppliance",
      "summary": "Get appliance time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsTimeseriesAppliance"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesAppliance",
      "summary": "Get appliance time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesAppliance"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesApplianceNePk",
      "summary": "Get appliance time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesApplianceNePk"
      },
      "task": true
    },
    {
      "name": "statsOfApplianceProcessState",
      "summary": "Stats of appliance Process State.",
      "description": "This operation returns a JSON object containing Appliance Process State.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "nepk id",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsOfApplianceProcessState"
      },
      "task": true
    },
    {
      "name": "statsTimeseriesApplication",
      "summary": "Get application time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": true,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsTimeseriesApplication"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesApplication",
      "summary": "Get application time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": true,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesApplication"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesApplicationNePk",
      "summary": "Get application time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": true,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesApplicationNePk"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesApplication2",
      "summary": "Get new application time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": true,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "total",
          "type": "boolean",
          "info": "get all app's total value",
          "required": false,
          "schema": {
            "title": "total",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesApplication2"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesApplication2",
      "summary": "Get new application time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": true,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "total",
          "type": "boolean",
          "info": "get all app's total value",
          "required": false,
          "schema": {
            "title": "total",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesApplication2"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesApplication2NePk",
      "summary": "Get new application time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "application",
          "type": "string",
          "info": "Filter for data which belongs to application with name {application}",
          "required": true,
          "schema": {
            "title": "application",
            "type": "string"
          }
        },
        {
          "name": "total",
          "type": "boolean",
          "info": "get all app's total value",
          "required": false,
          "schema": {
            "title": "total",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesApplication2NePk"
      },
      "task": true
    },
    {
      "name": "boostTimeSeriesStats",
      "summary": "Get boost time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation is used to retrieve boost time series stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/boostTimeSeriesStats"
      },
      "task": true
    },
    {
      "name": "statsTimeseriesDrcTunnel",
      "summary": "Get tunnel drc time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsTimeseriesDrcTunnel"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesDrc",
      "summary": "Get tunnel time series drc stats data filter by certain query parameters and certain appliance IDs.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesDrc"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesDrcNePk",
      "summary": "Get tunnel time series drc stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "tunnelName",
          "type": "string",
          "info": "Filter for data which belongs to tunnel with name {tunnelName}",
          "required": true,
          "schema": {
            "title": "tunnelName",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesDrcNePk"
      },
      "task": true
    },
    {
      "name": "statsTimeseriesDscp",
      "summary": "Get dscp time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "dscp",
          "type": "number",
          "info": "Filter for data which belongs to a certain flow type. Valid DSCP: 0 - 63",
          "required": true,
          "schema": {
            "title": "dscp",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsTimeseriesDscp"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesDscp",
      "summary": "Get dscp time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "dscp",
          "type": "number",
          "info": "Filter for data which belongs to a certain flow type. Valid DSCP: 0 - 63",
          "required": true,
          "schema": {
            "title": "dscp",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesDscp"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesDscpNePk",
      "summary": "Get dscp time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "dscp",
          "type": "number",
          "info": "Filter for data which belongs to a certain flow type. Valid DSCP: 0 - 63",
          "required": true,
          "schema": {
            "title": "dscp",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesDscpNePk"
      },
      "task": true
    },
    {
      "name": "statsTimeseriesFlow",
      "summary": "Get flow time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "flowType",
          "type": "string",
          "info": "Filter for data which belongs to a certain flow type.",
          "required": true,
          "schema": {
            "title": "flowType",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsTimeseriesFlow"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesFlow",
      "summary": "Get flow time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "flowType",
          "type": "string",
          "info": "Filter for data which belongs to a certain flow type.",
          "required": true,
          "schema": {
            "title": "flowType",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesFlow"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesFlowNePk",
      "summary": "Get flow time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "flowType",
          "type": "string",
          "info": "Filter for data which belongs to a certain flow type.",
          "required": true,
          "schema": {
            "title": "flowType",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesFlowNePk"
      },
      "task": true
    },
    {
      "name": "interfaceTimeseriesStats",
      "summary": "Get interface time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing data objects of each interface is an array, each data object contains the stats for a particular timestamp.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "interfaceName",
          "type": "string",
          "info": "Filter for data which belongs to interface with name {interface}",
          "required": false,
          "schema": {
            "title": "interfaceName",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/interfaceTimeseriesStats"
      },
      "task": true
    },
    {
      "name": "interfaceOverlayTransportTimeseriesStats",
      "summary": "Get interface overlay transport time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing data objects of each interface overlay transport is an array, each data object contains the stats for a particular timestamp.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "overlay",
          "type": "string",
          "info": "When it is '0',return all physical tunnels;when it is not given,return all bonded and physical tunnels;otherwise,return bonded tunnels associated with the overlay id.",
          "required": false,
          "schema": {
            "title": "overlay",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/interfaceOverlayTransportTimeseriesStats"
      },
      "task": true
    },
    {
      "name": "statsTimeseriesInternalDrops",
      "summary": "Get internalDrops time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsTimeseriesInternalDrops"
      },
      "task": true
    },
    {
      "name": "statsTimeseriesTunnel",
      "summary": "Get tunnel time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "key",
          "type": "string",
          "info": "for filter resource by key.",
          "required": true,
          "schema": {
            "title": "key",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsTimeseriesTunnel"
      },
      "task": true
    },
    {
      "name": "mOSTimeSeriesStats",
      "summary": "Get Mean Opinion Score time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation is used to retrieve mos time series stats. Depend on what query parameters are provided. The response format may look different.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "tunnel",
          "type": "string",
          "info": "Filter for data which belongs to tunnel with name",
          "required": true,
          "schema": {
            "title": "tunnel",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/mOSTimeSeriesStats"
      },
      "task": true
    },
    {
      "name": "securityPolicyTimeSeriesStats",
      "summary": "Get security policy time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation is used to retrieve security policy time series stats.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "fromZone",
          "type": "string",
          "info": "Limit the id of source zone from which the traffic passes through.",
          "required": true,
          "schema": {
            "title": "fromZone",
            "type": "string"
          }
        },
        {
          "name": "toZone",
          "type": "string",
          "info": "Limit the id of destination zone to which the traffic goes.",
          "required": true,
          "schema": {
            "title": "toZone",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/securityPolicyTimeSeriesStats"
      },
      "task": true
    },
    {
      "name": "shaperTimeseriesStats",
      "summary": "Get Shaper time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "Get Shaper time series stats data filter by certain query parameters and certain appliance IDs.",
      "input": [
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": true,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "direction",
          "type": "number",
          "info": "0 - Outbound/1 - Inbound",
          "required": true,
          "schema": {
            "title": "direction",
            "type": "number"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/shaperTimeseriesStats"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesShaper",
      "summary": "Get Shaper time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "Get Shaper time series stats data filter by certain query parameters and certain appliance IDs.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": true,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "direction",
          "type": "number",
          "info": "0 - Outbound/1 - Inbound",
          "required": true,
          "schema": {
            "title": "direction",
            "type": "number"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesShaper"
      },
      "task": true
    },
    {
      "name": "statsTimeseriesTrafficClass",
      "summary": "Get traffic class time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": true,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/statsTimeseriesTrafficClass"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesTrafficClass",
      "summary": "Get traffic class time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": true,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesTrafficClass"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesTrafficClassNePk",
      "summary": "Get traffic class time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "trafficType",
          "type": "string",
          "info": "Filter for data for given traffic type",
          "required": true,
          "schema": {
            "title": "trafficType",
            "type": "string"
          }
        },
        {
          "name": "trafficClass",
          "type": "number",
          "info": "Filter for data which belongs to trafficClass by integer value {trafficClass} 1 - 10",
          "required": true,
          "schema": {
            "title": "trafficClass",
            "type": "number"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesTrafficClassNePk"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesTunnel",
      "summary": "Get tunnel time series stats data filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "groupPk",
          "type": "string",
          "info": "Internal group ID of a group for which you want to retrieve stats",
          "required": false,
          "schema": {
            "title": "groupPk",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesTunnel"
      },
      "task": true
    },
    {
      "name": "postStatsTimeseriesTunnel",
      "summary": "Get tunnel time series stats data filter by certain query parameters and certain appliance IDs.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "applianceIDs",
          "type": "object",
          "info": "JSON array containing appliance IDs you want to filter on.",
          "required": true,
          "schema": {
            "title": "applianceIDs",
            "type": "object"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postStatsTimeseriesTunnel"
      },
      "task": true
    },
    {
      "name": "getStatsTimeseriesTunnelNePk",
      "summary": "Get tunnel time series stats data of a single appliance filter by certain query parameters.",
      "description": "This operation returns a JSON object containing COLUMN_DEF and DATA. COLUMN_DEF is an array containing the names indicating what corresponding number in data array means. Data objects of each appliance is an array of data arrays, each data array contains the stats for a particular timestamp. Each number is data array corresponds to a name in COLUMN_DEF.    DATA object contains only values not keys.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "Internal ID of the appliance to filter from",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "startTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the starting time boundary of data time range",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "number"
          }
        },
        {
          "name": "endTime",
          "type": "number",
          "info": "Long(Signed 64 bits) value of seconds since EPOCH time indicating the ending time boundary of data time range",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "number"
          }
        },
        {
          "name": "granularity",
          "type": "string",
          "info": "Data granularity filtering whether data is minutely data, hourly data or daily data.",
          "required": true,
          "schema": {
            "title": "granularity",
            "type": "string"
          }
        },
        {
          "name": "tunnelName",
          "type": "string",
          "info": "Filter for data which belongs to tunnel with name {tunnelName}",
          "required": true,
          "schema": {
            "title": "tunnelName",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "Limit the number of stats entity retrieved. Default and maximum limits are both 10000.",
          "required": false,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "format",
          "type": "string",
          "info": "The only format other than JSON we support currently is CSV, so format=csv.",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        },
        {
          "name": "ip",
          "type": "boolean",
          "info": "Using IP as key for grouping stats instead of using internal appliance id as key. Default value if false",
          "required": false,
          "schema": {
            "title": "ip",
            "type": "boolean"
          }
        },
        {
          "name": "latest",
          "type": "number",
          "info": "Instead of providing {startTime} and {endTime}, using {latest} query parameter could provide you stats for, say latest 10 minutes. Unit is minute. Example: latest=10. Def...(description truncated)",
          "required": false,
          "schema": {
            "title": "latest",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getStatsTimeseriesTunnelNePk"
      },
      "task": true
    },
    {
      "name": "confSubnets",
      "summary": "Configure an appliance's subnets.",
      "description": "This api is used only for the older appliance whose version is less than 8.1.7.0.   The subnets list in the request body will be compared to the list of current subnets configured on the appliance. Any subnets which are in posted list but not on the appliance are added. Similarly, missing subnets are removed. Matching subnets are updated.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "The node Id of the appliance.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "operation",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "operation",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/confSubnets"
      },
      "task": true
    },
    {
      "name": "getSubnetsForDiscoveredAppliance",
      "summary": "Get a discovered appliance's subnets information.",
      "description": "Get a discovered appliance's subnets information.",
      "input": [
        {
          "name": "discoveredId",
          "type": "string",
          "info": "The appliance's discovered ID",
          "required": true,
          "schema": {
            "title": "discoveredId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getSubnetsForDiscoveredAppliance"
      },
      "task": true
    },
    {
      "name": "setSubnetSharingOptions",
      "summary": "Configure appliance's subnet sharing options",
      "description": "Configure an appliance's subnet sharing options (enable/disable use shared subnet information and automatically include local subnets.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "The node Id of the appliance.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "subnetsSystemJson",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "subnetsSystemJson",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/setSubnetSharingOptions"
      },
      "task": true
    },
    {
      "name": "getSubnets",
      "summary": "Get an appliance's subnets information.",
      "description": "Get an appliance's subnets information.",
      "input": [
        {
          "name": "getCachedData",
          "type": "boolean",
          "info": "True means to get the information from Orchestrator database, while false means to get from the appliance .",
          "required": true,
          "schema": {
            "title": "getCachedData",
            "type": "boolean"
          }
        },
        {
          "name": "neId",
          "type": "string",
          "info": "The node id of the appliance.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "subnet",
          "type": "string",
          "info": "The subnet to filter the routes received from the appliance(s). Supports IPv4 and IPv6 address types.",
          "required": false,
          "schema": {
            "title": "subnet",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getSubnets"
      },
      "task": true
    },
    {
      "name": "appSystemDeployInfo",
      "summary": "Get Appliance System  Deployment Information",
      "description": "Get Appliance System  Deployment Information",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appSystemDeployInfo"
      },
      "task": true
    },
    {
      "name": "discoveredAppSystemDeployInfo",
      "summary": "Discovered  Appliance System  Deployment Information",
      "description": "Use this API to get the system information for a discovered appliance.",
      "input": [
        {
          "name": "discoveredId",
          "type": "string",
          "info": "The discovered appliance ID",
          "required": true,
          "schema": {
            "title": "discoveredId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/discoveredAppSystemDeployInfo"
      },
      "task": true
    },
    {
      "name": "appSystemStateInfo",
      "summary": "Get Appliance System State Information",
      "description": "Get Appliance System State Information",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/appSystemStateInfo"
      },
      "task": true
    },
    {
      "name": "getTunnelTca",
      "summary": "Get tunnel threshold crossing alerts",
      "description": "Currently the tunnel tca contains: reduction, oop-post-poc, loss-pre-fec, loss-post-fec, latency, utilization and oop-pre-poc.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "If true, get data from gmsdb, otherwise get from appliance.",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTunnelTca"
      },
      "task": true
    },
    {
      "name": "getSystemTca",
      "summary": "Get system threshold crossing alerts",
      "description": "Currently the system tca contains: oop-pre-poc, file-system-utilization, utilization, lan-side-rx-throughput, optimized-flows, latency, loss-post-fec, loss-pre-fec, oop-post-poc, wan-side-tx-throughput, reduction and total-flows.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "If true, get data from gmsdb, otherwise get from appliance.",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getSystemTca"
      },
      "task": true
    },
    {
      "name": "tcpdumpRun",
      "summary": "POST operation to start the packet capture process.",
      "description": "This API allows you to start the packet capture process.",
      "input": [
        {
          "name": "postRunConfig",
          "type": "object",
          "info": "The run data",
          "required": true,
          "schema": {
            "title": "postRunConfig",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/tcpdumpRun"
      },
      "task": true
    },
    {
      "name": "tcpdumpStatus",
      "summary": "GET operation to show current packet capture process status.",
      "description": "This API allows you to retrieve status information of current packet capture process.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/tcpdumpStatus"
      },
      "task": true
    },
    {
      "name": "getTcpdumpTcpdumpStatus",
      "summary": "Get the primary keys of all running tcp dumps.",
      "description": "Get the primary keys of all running tcp dumps.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTcpdumpTcpdumpStatus"
      },
      "task": true
    },
    {
      "name": "associationAll",
      "summary": "Returns the complete association map of appliances to template groups",
      "description": "Returns the complete association map of appliances to template groups",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/associationAll"
      },
      "task": true
    },
    {
      "name": "associationOne",
      "summary": "Returns the association map of template groups for a single appliance",
      "description": "Returns the association map of template groups for a single appliance",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/associationOne"
      },
      "task": true
    },
    {
      "name": "associationOnePost",
      "summary": "Associates the templates with a specific appliance. The array posted is the complete association for that appliance.",
      "description": "Associates the templates with a specific appliance. The array posted is the complete association for that appliance.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "Template names",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/associationOnePost"
      },
      "task": true
    },
    {
      "name": "template",
      "summary": "Returns the list of template groups applied to the appliance",
      "description": "Returns the list of template groups applied to the appliance",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/template"
      },
      "task": true
    },
    {
      "name": "getTemplateHistoryNePk",
      "summary": "Returns history of applied templates by nePk",
      "description": "Returns history of applied templates by nePk",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "latestOnly",
          "type": "boolean",
          "info": "",
          "required": true,
          "schema": {
            "title": "latestOnly",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTemplateHistoryNePk"
      },
      "task": true
    },
    {
      "name": "postTemplateTemplateCreate",
      "summary": "Creates a new template group",
      "description": "In the request body, you will pass in the templates you want to create/modify with the template group. For details on the structure of the template configuration, please see the default template group. One way to get the exact JSON object to use for your configuration is to view the rest API call the Orchestrator Templates tab makes when you save a template.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postTemplateTemplateCreate"
      },
      "task": true
    },
    {
      "name": "getTemplateTemplateGroups",
      "summary": "Returns template configurations for all template groups",
      "description": "The returned objects inside the array are template-specific.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/getTemplateTemplateGroups"
      },
      "task": true
    },
    {
      "name": "deleteTemplateTemplateGroupsTemplateGroup",
      "summary": "Deletes a template group",
      "description": "Deletes a template group",
      "input": [
        {
          "name": "templateGroup",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "templateGroup",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteTemplateTemplateGroupsTemplateGroup"
      },
      "task": true
    },
    {
      "name": "getTemplateTemplateGroupsTemplateGroup",
      "summary": "Returns template configurations for the specified template group only",
      "description": "The returned objects inside the array are template-specific.",
      "input": [
        {
          "name": "templateGroup",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "templateGroup",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTemplateTemplateGroupsTemplateGroup"
      },
      "task": true
    },
    {
      "name": "postTemplateTemplateGroupsTemplateGroup",
      "summary": "Creates a new template group from an existing one or updates the configuration of the requested template group",
      "description": "In the request body, you will pass in the templates you want to create/modify with the template group. For details on the structure of the template configuration, please see the default template group. One way to get the exact JSON object to use for your configuration is to view the rest API call the Orchestrator Templates tab makes when you save a template.",
      "input": [
        {
          "name": "templateGroup",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "templateGroup",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postTemplateTemplateGroupsTemplateGroup"
      },
      "task": true
    },
    {
      "name": "groupPrioGet",
      "summary": "Returns the order that template groups will be applied in",
      "description": "Returns the order that template groups will be applied in",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/groupPrioGet"
      },
      "task": true
    },
    {
      "name": "groupPrioPost",
      "summary": "Post the order that template groups should be applied in, groups not listed are not in a deterministic order",
      "description": "Post the order that template groups should be applied in, groups not listed are not in a deterministic order",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": "Template names",
          "required": true,
          "schema": {
            "title": "body",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/groupPrioPost"
      },
      "task": true
    },
    {
      "name": "getTemplateTemplateSelectionTemplateGroup",
      "summary": "Returns the selected templates in the template group",
      "description": "Returns the selected templates in the template group",
      "input": [
        {
          "name": "templateGroup",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "templateGroup",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTemplateTemplateSelectionTemplateGroup"
      },
      "task": true
    },
    {
      "name": "postTemplateTemplateSelectionTemplateGroup",
      "summary": "Selects the provided templates in the request body",
      "description": "Selects the provided templates in the request body",
      "input": [
        {
          "name": "templateGroup",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "templateGroup",
            "type": "string"
          }
        },
        {
          "name": "body",
          "type": "array",
          "info": "Template names",
          "required": true,
          "schema": {
            "title": "body",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postTemplateTemplateSelectionTemplateGroup"
      },
      "task": true
    },
    {
      "name": "rdPartyLicenses",
      "summary": "Gets all third party licenses information",
      "description": "Gets all third party licenses information",
      "input": [
        {
          "name": "format",
          "type": "string",
          "info": "Type of the response format(currently it supports 'txt' only).",
          "required": false,
          "schema": {
            "title": "format",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/rdPartyLicenses"
      },
      "task": true
    },
    {
      "name": "zscalerConfigurationGet",
      "summary": "Returns Zscaler configuration, including tunnel setting, selected interface label order",
      "description": "Returns Zscaler configuration, including tunnel setting, selected interface label order",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/zscalerConfigurationGet"
      },
      "task": true
    },
    {
      "name": "zscalerConfigurationPost",
      "summary": "Update Returns Zscaler configuration, including tunnel setting, selected interface label order",
      "description": "Update Returns Zscaler configuration, including tunnel setting, selected interface label order",
      "input": [
        {
          "name": "configuration",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "configuration",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/zscalerConfigurationPost"
      },
      "task": true
    },
    {
      "name": "zscalerConnectivityGet",
      "summary": "Returns Zscaler connectivity status",
      "description": "Returns Zscaler connectivity status",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/zscalerConnectivityGet"
      },
      "task": true
    },
    {
      "name": "zscalerDefaultTunnelSettingGet",
      "summary": "Returns recommend tunnel setting for Zscaler",
      "description": "Returns recommend tunnel setting for Zscaler",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/zscalerDefaultTunnelSettingGet"
      },
      "task": true
    },
    {
      "name": "zscalerPauseOrchestrationGet",
      "summary": "Returns Pause Zscaler Orchestration configuration",
      "description": "Returns Pause Zscaler Orchestration configuration",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/zscalerPauseOrchestrationGet"
      },
      "task": true
    },
    {
      "name": "zscalerPauseOrchestrationPost",
      "summary": "update pause Zscaler Orchestration configuration",
      "description": "update pause Zscaler Orchestration configuration",
      "input": [
        {
          "name": "zscalerPauseObj",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "zscalerPauseObj",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/zscalerPauseOrchestrationPost"
      },
      "task": true
    },
    {
      "name": "zscalerRemoteEndpointExceptionGet",
      "summary": "Returns all user configured ZEN Override data",
      "description": "Returns all user configured ZEN Override data",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/zscalerRemoteEndpointExceptionGet"
      },
      "task": true
    },
    {
      "name": "zscalerSubscriptionDelete",
      "summary": "Delete Subscription",
      "description": "Make sure to deselect Zscaler Policies in Business Intent Overlay first and wait until all Zscaler config has been deleted",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/zscalerSubscriptionDelete"
      },
      "task": true
    },
    {
      "name": "zscalerSubscriptionGet",
      "summary": "Returns Zscaler subscription",
      "description": "Returns Zscaler subscription",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/zscalerSubscriptionGet"
      },
      "task": true
    },
    {
      "name": "zscalerSubscriptionPost",
      "summary": "Add/Update Subscription",
      "description": "Add/Update Subscription",
      "input": [
        {
          "name": "subscription",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "subscription",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/zscalerSubscriptionPost"
      },
      "task": true
    },
    {
      "name": "zscalerVpnLocationExceptionPost",
      "summary": "Get all VPN, Location, discovered and configured ZEN override data for one or more appliances",
      "description": "Get all VPN, Location, discovered and configured ZEN override data for one or more appliances",
      "input": [
        {
          "name": "applianceList",
          "type": "array",
          "info": "an array of comma separated nepks.",
          "required": true,
          "schema": {
            "title": "applianceList",
            "type": "array"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/zscalerVpnLocationExceptionPost"
      },
      "task": true
    },
    {
      "name": "getBondedTunnelsConfigurationAndStates",
      "summary": "Deprecated",
      "description": "The returned data is a tunnels configuration object, it contains tunnel names like: default, passthrough and passthrough-unshaped.",
      "input": [
        {
          "name": "neIds",
          "type": "object",
          "info": "neIds is an array of device keys. The device keys is assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neIds",
            "type": "object"
          }
        },
        {
          "name": "overlayId",
          "type": "number",
          "info": "ID of the overlay to filter on",
          "required": false,
          "schema": {
            "title": "overlayId",
            "type": "number"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getBondedTunnelsConfigurationAndStates"
      },
      "task": true
    },
    {
      "name": "getBondedTunnelsStates",
      "summary": "Get the current list of tunnels state",
      "description": "The returned data is a tunnels configuration object, it contains tunnel names like: default, passthrough and passthrough-unshaped.",
      "input": [
        {
          "name": "neIds",
          "type": "object",
          "info": "neIds is an array of device keys. The device keys is assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neIds",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getBondedTunnelsStates"
      },
      "task": true
    },
    {
      "name": "getTunnelsConfigurationAndStates",
      "summary": "Deprecated. Get the current list of tunnels configuration and their state information",
      "description": "The returned data is a tunnels configuration object, it contains tunnel names like: default, passthrough and passthrough-unshaped.",
      "input": [
        {
          "name": "ids",
          "type": "object",
          "info": "ids is an array of device keys. The device key is assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "ids",
            "type": "object"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The state regular expression which is used to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTunnelsConfigurationAndStates"
      },
      "task": true
    },
    {
      "name": "getTunnelsStates",
      "summary": "Get the current list of tunnels state",
      "description": "The returned data is a tunnels configuration object, it contains tunnel names like: default, passthrough and passthrough-unshaped.",
      "input": [
        {
          "name": "neIds",
          "type": "object",
          "info": "neIds is an array of device keys. The device keys is assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neIds",
            "type": "object"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The state regular expression which is used to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTunnelsStates"
      },
      "task": true
    },
    {
      "name": "initiateTraceroute",
      "summary": "Initiate a traceroute on a tunnel",
      "description": "Initiate a traceroute on a tunnel",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "tunnel id",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "The nepk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/initiateTraceroute"
      },
      "task": true
    },
    {
      "name": "tracerouteState",
      "summary": "Get traceroute state for a tunnel",
      "description": "Get traceroute state for a tunnel",
      "input": [
        {
          "name": "id",
          "type": "string",
          "info": "tunnel id",
          "required": true,
          "schema": {
            "title": "id",
            "type": "string"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "The nepk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/tracerouteState"
      },
      "task": true
    },
    {
      "name": "getThirdPartyTunnelsConfigurationAndStates",
      "summary": "Deprecated. Get the current list of tunnels configuration and their state information",
      "description": "The returned data is a tunnels configuration object, it contains tunnel names like: tunnel1, tunnel2, etc.",
      "input": [
        {
          "name": "neIds",
          "type": "object",
          "info": "neIds is an array of device keys. The device keys is assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neIds",
            "type": "object"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The state regular expression which is used to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getThirdPartyTunnelsConfigurationAndStates"
      },
      "task": true
    },
    {
      "name": "getThirdPartyTunnelsStates",
      "summary": "Get the current list of tunnels state",
      "description": "The returned data is a tunnels state object, it contains tunnel names like: tunnel1, tunnel2, etc.",
      "input": [
        {
          "name": "neIds",
          "type": "object",
          "info": "neIds is an array of device keys. The device keys is assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neIds",
            "type": "object"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The state regular expression which is used to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getThirdPartyTunnelsStates"
      },
      "task": true
    },
    {
      "name": "tunnelsCount",
      "summary": "Search total tunnel count, all appliances",
      "description": "The returned data is a map of tunnel count.",
      "input": [
        {
          "name": "metaData",
          "type": "boolean",
          "info": "Sub-resource type",
          "required": true,
          "schema": {
            "title": "metaData",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/tunnelsCount"
      },
      "task": true
    },
    {
      "name": "searchAllBondedTunnels",
      "summary": "Get bonded tunnels for all appliances",
      "description": "NOTE: You should use the limit query parameter to limit the bonded tunnels returned. There could be a lot of bonded tunnels in the network.    The results are returned in an object/map of nePk ->",
      "input": [
        {
          "name": "limit",
          "type": "number",
          "info": "The max number of tunnels to return",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "matchingAlias",
          "type": "string",
          "info": "Search for all tunnels that have this string in it's alias",
          "required": false,
          "schema": {
            "title": "matchingAlias",
            "type": "string"
          }
        },
        {
          "name": "overlayId",
          "type": "number",
          "info": "Only return bonded tunnels that belong to this overlayId.",
          "required": false,
          "schema": {
            "title": "overlayId",
            "type": "number"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The regular expression to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchAllBondedTunnels"
      },
      "task": true
    },
    {
      "name": "searchBondedTunnelsForAppliance",
      "summary": "Get bonded tunnels for one appliance",
      "description": "NOTE: You should use the limit query parameter to limit the bonded tunnels returned. There could be a lot of bonded tunnels in the network.    The results are returned in an object/map of",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance's id/nePk",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "The max number of tunnels to return",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "matchingAlias",
          "type": "string",
          "info": "Search for all tunnels that have this string in it's alias",
          "required": false,
          "schema": {
            "title": "matchingAlias",
            "type": "string"
          }
        },
        {
          "name": "overlayId",
          "type": "number",
          "info": "Only return bonded tunnels that belong to this overlayId.",
          "required": false,
          "schema": {
            "title": "overlayId",
            "type": "number"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The regular expression to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchBondedTunnelsForAppliance"
      },
      "task": true
    },
    {
      "name": "getOneBondedTunnel",
      "summary": "Get a specific bonded tunnel for one appliance",
      "description": "Get a specific bonded tunnel for one appliance",
      "input": [
        {
          "name": "bondedTunnelId",
          "type": "string",
          "info": "The bonded tunnel id",
          "required": true,
          "schema": {
            "title": "bondedTunnelId",
            "type": "string"
          }
        },
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance's id/nePk",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getOneBondedTunnel"
      },
      "task": true
    },
    {
      "name": "getBondedTunnelsWithPhysicalTunnels",
      "summary": "Get bonded tunnels a physical tunnel belongs to",
      "description": "You can use this API to get all the bonded tunnels that have this physical tunnel bonded.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance's id/nePk",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "physicalTunnelId",
          "type": "string",
          "info": "A physical tunnel ID, all bonded tunnels that have this tunnel as a child tunnel will be returned",
          "required": true,
          "schema": {
            "title": "physicalTunnelId",
            "type": "string"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The regular expression to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getBondedTunnelsWithPhysicalTunnels"
      },
      "task": true
    },
    {
      "name": "getTunnelsBetweenAppliances",
      "summary": "Get all tunnels between appliances",
      "description": "Use this API to get all the tunnels between a list of appliances. For all physical tunnels, set overlayId to 0. For all bonded tunnels, set overlayId to 'all'. For a specific overlay, you can set overlayId to the overlay ID",
      "input": [
        {
          "name": "ids",
          "type": "object",
          "info": "List of appliance IDs to retrieve the tunnels between all of them",
          "required": true,
          "schema": {
            "title": "ids",
            "type": "object"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "The max number of tunnels to return",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "matchingAlias",
          "type": "string",
          "info": "Match the tunnel's alias on a text string",
          "required": false,
          "schema": {
            "title": "matchingAlias",
            "type": "string"
          }
        },
        {
          "name": "overlayId",
          "type": "string",
          "info": "The overlay ID to match tunnels on. 0 would be all physical tunnels, all - would be all bonded tunnels",
          "required": false,
          "schema": {
            "title": "overlayId",
            "type": "string"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The regular expression to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTunnelsBetweenAppliances"
      },
      "task": true
    },
    {
      "name": "searchAllPassThroughTunnels",
      "summary": "Search pass through tunnels",
      "description": "This API will return all the matching tunnels given the query parameters. Please use the 'limit' parameter to ensure the response is not too big.",
      "input": [
        {
          "name": "limit",
          "type": "number",
          "info": "The max number of tunnels to return",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "matchingAlias",
          "type": "string",
          "info": "Search for all tunnels that have this string in it's alias",
          "required": false,
          "schema": {
            "title": "matchingAlias",
            "type": "string"
          }
        },
        {
          "name": "matchingService",
          "type": "string",
          "info": "Search for all tunnels that have this string in it's Peer/service",
          "required": false,
          "schema": {
            "title": "matchingService",
            "type": "string"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The regular expression to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchAllPassThroughTunnels"
      },
      "task": true
    },
    {
      "name": "searchAppliancePassthroughTunnels",
      "summary": "Search pass through tunnels for one appliance",
      "description": "This API will return all the matching tunnels given the query parameters. Please use the 'limit' parameter to ensure the response is not too big.",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance's id/nePk",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "The max number of tunnels to return",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "matchingAlias",
          "type": "string",
          "info": "Search for all tunnels that have this string in it's alias",
          "required": false,
          "schema": {
            "title": "matchingAlias",
            "type": "string"
          }
        },
        {
          "name": "matchingService",
          "type": "string",
          "info": "Search for all tunnels that have this string in it's Peer/service",
          "required": false,
          "schema": {
            "title": "matchingService",
            "type": "string"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The regular expression to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchAppliancePassthroughTunnels"
      },
      "task": true
    },
    {
      "name": "getPassThroughTunnel",
      "summary": "Get pass through tunnel",
      "description": "Get pass through tunnel",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The appliance's id/nePk",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "passThroughTunnelId",
          "type": "string",
          "info": "The ID of the pass through tunnel",
          "required": true,
          "schema": {
            "title": "passThroughTunnelId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getPassThroughTunnel"
      },
      "task": true
    },
    {
      "name": "searchAllPhysicalTunnels",
      "summary": "Search physical tunnels, all appliances",
      "description": "The returned data is a map of nePk ->  .",
      "input": [
        {
          "name": "limit",
          "type": "number",
          "info": "The max number of tunnels to return",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "matchingAlias",
          "type": "string",
          "info": "Match the tunnel's alias on a text string",
          "required": false,
          "schema": {
            "title": "matchingAlias",
            "type": "string"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The regular expression to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/searchAllPhysicalTunnels"
      },
      "task": true
    },
    {
      "name": "getTunnels2PhysicalNePk",
      "summary": "Search physical tunnels for one appliance",
      "description": "The returned data is a map of  .",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "limit",
          "type": "number",
          "info": "The max number of tunnels to return",
          "required": true,
          "schema": {
            "title": "limit",
            "type": "number"
          }
        },
        {
          "name": "matchingAlias",
          "type": "string",
          "info": "Match the tunnel's alias on a text string",
          "required": false,
          "schema": {
            "title": "matchingAlias",
            "type": "string"
          }
        },
        {
          "name": "state",
          "type": "string",
          "info": "The regular expression to match a tunnel state",
          "required": false,
          "schema": {
            "title": "state",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getTunnels2PhysicalNePk"
      },
      "task": true
    },
    {
      "name": "getOnePhysicalTunnel",
      "summary": "Get physical tunnel",
      "description": "Get the details of one physical tunnel with the tunnel id",
      "input": [
        {
          "name": "nePk",
          "type": "string",
          "info": "The nePk of the appliance",
          "required": true,
          "schema": {
            "title": "nePk",
            "type": "string"
          }
        },
        {
          "name": "tunnelId",
          "type": "string",
          "info": "The tunnel's ID",
          "required": true,
          "schema": {
            "title": "tunnelId",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getOnePhysicalTunnel"
      },
      "task": true
    },
    {
      "name": "tunnelsDeploymentInfo",
      "summary": "Get deployment information for appliances managed by the Orchestrator.",
      "description": "This API returns the current deployment mode and list of lan/wan interface details for each appliance managed by this Orchestrator",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/tunnelsDeploymentInfo"
      },
      "task": true
    },
    {
      "name": "tunnelsOverlayInfo",
      "summary": "Get the tunnels in each overlay",
      "description": "This API returns all the tunnels in Orchestrator, in groups of; all physical tunnels, tunnels in each overlay, and all tunnels. The different groups can be found using the root object's keys:   0 - all physical tunnels  1 - 7 - All bonded tunnels in that overlay (denoted by the underlay id, 1-7)  all - all physical and bonded tunnels    The tunnels are under two keys, the first is the source appliance (nePk), and the second is the destination appliance (nePk)",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/tunnelsOverlayInfo"
      },
      "task": true
    },
    {
      "name": "passThroughTunnelsInfo",
      "summary": "Get all pass through tunnels from all appliances",
      "description": "This API returns all the Pass Through tunnels in Orchestrator",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/passThroughTunnelsInfo"
      },
      "task": true
    },
    {
      "name": "uiUsageStats",
      "summary": "Add usage count for one UI feature",
      "description": "Add usage count for one UI feature.",
      "input": [
        {
          "name": "uiName",
          "type": "string",
          "info": "The title of the dialogue or the name of the tab used",
          "required": true,
          "schema": {
            "title": "uiName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/uiUsageStats"
      },
      "task": true
    },
    {
      "name": "upgradeAppliances",
      "summary": "Upgrade appliances with option",
      "description": "The data to post need to contain image filename, install option and nePk id list .",
      "input": [
        {
          "name": "applianceUpgradeEntry",
          "type": "object",
          "info": "Upgrade appliances post data in JSON",
          "required": true,
          "schema": {
            "title": "applianceUpgradeEntry",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/upgradeAppliances"
      },
      "task": true
    },
    {
      "name": "getUserAccount",
      "summary": "Gets all user details and sessions of appliance",
      "description": "the return data contains users and sessions object. users object is a map of user details keyed by username. sessions object is a map of sessions keyed by session number",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "string",
          "info": "'cached = true' will retrieve the user account details from cache .",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getUserAccount"
      },
      "task": true
    },
    {
      "name": "users",
      "summary": "Returns all the users in the system",
      "description": "Returns all the users in the system",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/users"
      },
      "task": true
    },
    {
      "name": "forgotPassword",
      "summary": "Forgot password",
      "description": "Forgot password",
      "input": [
        {
          "name": "forgotPasswordBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "forgotPasswordBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/forgotPassword"
      },
      "task": true
    },
    {
      "name": "newTfaKey",
      "summary": "Returns a barcode to scan with an authentication application to set up app based two factor authentication for your account",
      "description": "Returns a barcode to scan with an authentication application to set up app based two factor authentication for your account",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/newTfaKey"
      },
      "task": true
    },
    {
      "name": "resetPassword",
      "summary": "Resets user password",
      "description": "Resets user password",
      "input": [
        {
          "name": "resetPasswordBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "resetPasswordBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/resetPassword"
      },
      "task": true
    },
    {
      "name": "postUsersNewUser",
      "summary": "Creates a new user or updates it. 'Status: Active/Inactive. Role: Admin Manager/Network Monitor'",
      "description": "Creates a new user or updates it. 'Status: Active/Inactive. Role: Admin Manager/Network Monitor'",
      "input": [
        {
          "name": "newUser",
          "type": "boolean",
          "info": "Flag to indicate new user(=true) or update user details(=false)",
          "required": true,
          "schema": {
            "title": "newUser",
            "type": "boolean"
          }
        },
        {
          "name": "saveUpdateUserBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "saveUpdateUserBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postUsersNewUser"
      },
      "task": true
    },
    {
      "name": "deleteUsersUserIdUserName",
      "summary": "Deletes the specified user",
      "description": "Deletes the specified user",
      "input": [
        {
          "name": "userId",
          "type": "string",
          "info": "Appliance ID",
          "required": true,
          "schema": {
            "title": "userId",
            "type": "string"
          }
        },
        {
          "name": "userName",
          "type": "string",
          "info": "",
          "required": true,
          "schema": {
            "title": "userName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deleteUsersUserIdUserName"
      },
      "task": true
    },
    {
      "name": "getUsersUserName",
      "summary": "Gets user by username",
      "description": "Gets user by username",
      "input": [
        {
          "name": "userName",
          "type": "string",
          "info": "User name",
          "required": true,
          "schema": {
            "title": "userName",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/getUsersUserName"
      },
      "task": true
    },
    {
      "name": "postUsersUsernamePassword",
      "summary": "Changes user password",
      "description": "Changes user password",
      "input": [
        {
          "name": "username",
          "type": "string",
          "info": "user name",
          "required": true,
          "schema": {
            "title": "username",
            "type": "string"
          }
        },
        {
          "name": "changePasswordBody",
          "type": "object",
          "info": "",
          "required": true,
          "schema": {
            "title": "changePasswordBody",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/postUsersUsernamePassword"
      },
      "task": true
    },
    {
      "name": "loopbackGet",
      "summary": "Get loopback interface configuration on the appliance",
      "description": "Get loopback interface configuration on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/loopbackGet"
      },
      "task": true
    },
    {
      "name": "vtiGet",
      "summary": "Get VTI interface configuration on the appliance",
      "description": "Get VTI interface configuration on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vtiGet"
      },
      "task": true
    },
    {
      "name": "vrrpGet",
      "summary": "Get a list of VRRP instances configured on the appliance",
      "description": "Get a list of VRRP instances configured on the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "Unique key assigned by Orchestrator to each appliance, for eg: '0.NE'",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false)",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vrrpGet"
      },
      "task": true
    },
    {
      "name": "vXOAImagesGet",
      "summary": "Get VXOA images",
      "description": "the return data contains a list of VXOA image object, an image object contains file name, version and build date time.",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/vXOAImagesGet"
      },
      "task": true
    },
    {
      "name": "vXOAImagesDelete",
      "summary": "Delete VXOA image",
      "description": "the last url part is the file name of image to delete",
      "input": [
        {
          "name": "imageFile",
          "type": "string",
          "info": "the file name of VXOA image to delete",
          "required": true,
          "schema": {
            "title": "imageFile",
            "type": "string"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/vXOAImagesDelete"
      },
      "task": true
    },
    {
      "name": "wccpConfigGroup",
      "summary": "Get WCCP service groups settings for the appliance.",
      "description": "the returned data is an object in which each key is the group Id, each value is an object for the service group settings.",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/wccpConfigGroup"
      },
      "task": true
    },
    {
      "name": "wccpConfigSystem",
      "summary": "Get WCCP system settings for the appliance",
      "description": "Get WCCP system settings for the appliance",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/wccpConfigSystem"
      },
      "task": true
    },
    {
      "name": "wccpState",
      "summary": "Get WCCP state",
      "description": "Get WCCP state",
      "input": [
        {
          "name": "neId",
          "type": "string",
          "info": "neId is the device key assigned by Orchestrator, usually look like '0.NE'.",
          "required": true,
          "schema": {
            "title": "neId",
            "type": "string"
          }
        },
        {
          "name": "cached",
          "type": "boolean",
          "info": "Get data from cache (true) or from appliance (false).",
          "required": true,
          "schema": {
            "title": "cached",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/wccpState"
      },
      "task": true
    },
    {
      "name": "zonesGet",
      "summary": "Returns all Zones defined in Orchestrator",
      "description": "Returns all Zones defined in Orchestrator",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/zonesGet"
      },
      "task": true
    },
    {
      "name": "zonesPost",
      "summary": "Add/Edit Zones",
      "description": "Add/Edit Zones",
      "input": [
        {
          "name": "zones",
          "type": "object",
          "info": "JSON object containing all Zones",
          "required": true,
          "schema": {
            "title": "zones",
            "type": "object"
          }
        },
        {
          "name": "deleteDependencies",
          "type": "boolean",
          "info": "If true, Zones deleted here will be removed from overlays, policies, interfaces and deployment profiles currently using those zones",
          "required": true,
          "schema": {
            "title": "deleteDependencies",
            "type": "boolean"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/zonesPost"
      },
      "task": true
    },
    {
      "name": "nextIdGet",
      "summary": "Returns Next Id that should be assigned to a new Zone",
      "description": "Returns Next Id that should be assigned to a new Zone",
      "input": [],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "GET",
        "path": "/nextIdGet"
      },
      "task": true
    },
    {
      "name": "nextIdPost",
      "summary": "Update Next Id",
      "description": "Update Next Id",
      "input": [
        {
          "name": "nextIdPost",
          "type": "object",
          "info": "JSON object containing Next Id",
          "required": true,
          "schema": {
            "title": "nextIdPost",
            "type": "object"
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/nextIdPost"
      },
      "task": true
    }
  ]
}