{
  "id": "@itentialopensource/adapter-kentik_v5",
  "type": "Adapter",
  "export": "KentikV5",
  "title": "Kentik_v5",
  "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": "runQuery",
      "summary": "runQuery",
      "description": "This method allows you to run a SQL command against all configured devices.  Documentation .",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"query\": \"string\"}",
          "required": true,
          "schema": {
            "title": "runQuery",
            "type": "object",
            "properties": {
              "query": {
                "type": "string",
                "description": "SQL query to run."
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/runQuery"
      },
      "task": true
    },
    {
      "name": "queryUrl",
      "summary": "queryUrl",
      "description": "Returns a URL to view a given query in Data Explorer.  Documentation .",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"version\": \"undefined\", \"queries\": [{\"query\": \"undefined\", \"bucket\": \"string\", \"bucketIndex\": 123}]}",
          "required": true,
          "schema": {
            "title": "queryUrl",
            "type": "object",
            "properties": {
              "version": {
                "allOf": [
                  {
                    "title": "KentikPortalVersion",
                    "enum": [
                      2,
                      3,
                      4
                    ],
                    "type": "integer",
                    "description": "Generates a URL for a particular version of Kentik"
                  },
                  {
                    "description": "Generates a URL for a particular version of Kentik"
                  }
                ]
              },
              "queries": {
                "type": "array",
                "items": {
                  "title": "query",
                  "type": "object",
                  "properties": {
                    "query": {
                      "allOf": [
                        {
                          "title": "query1",
                          "required": [
                            "dimension",
                            "metric",
                            "topx",
                            "depth",
                            "fastData",
                            "outsort",
                            "lookback_seconds",
                            "time_format",
                            "device_name"
                          ],
                          "type": "object",
                          "properties": {
                            "dimension": {
                              "type": "array",
                              "items": {
                                "title": "dimension",
                                "enum": [
                                  "AS_src",
                                  "Geography_src",
                                  "InterfaceID_src",
                                  "Port_src",
                                  "src_eth_mac",
                                  "VLAN_src",
                                  "IP_src",
                                  "AS_dst",
                                  "Geography_dst",
                                  "InterfaceID_dst",
                                  "Port_dst",
                                  "dst_eth_mac",
                                  "VLAN_dst",
                                  "IP_dst",
                                  "TopFlow",
                                  "Proto",
                                  "Traffic",
                                  "ASTopTalkers",
                                  "InterfaceTopTalkers",
                                  "PortPortTalkers",
                                  "TopFlowsIP",
                                  "src_geo_region",
                                  "src_geo_city",
                                  "dst_geo_region",
                                  "dst_geo_city",
                                  "RegionTopTalkers",
                                  "i_device_id",
                                  "i_device_site_name",
                                  "src_route_prefix_len",
                                  "src_route_length",
                                  "src_bgp_community",
                                  "src_bgp_aspath",
                                  "src_nexthop_ip",
                                  "src_nexthop_asn",
                                  "src_second_asn",
                                  "src_third_asn",
                                  "src_proto_port",
                                  "dst_route_prefix_len",
                                  "dst_route_length",
                                  "dst_bgp_community",
                                  "dst_bgp_aspath",
                                  "dst_nexthop_ip",
                                  "dst_nexthop_asn",
                                  "dst_second_asn",
                                  "dst_third_asn",
                                  "dst_proto_port",
                                  "inet_family",
                                  "TOS",
                                  "tcp_flags"
                                ],
                                "type": "string",
                                "description": "dimension - A field by which to aggregate results. (NOTE: you may also use a custom dimension name here -- but not available in this tester)."
                              },
                              "description": ""
                            },
                            "cidr": {
                              "type": "number",
                              "description": "cidr - A CIDR filter to use on IP queries, such as when grouping by dest_ip/24. See https://www.kentik.com/KB/?Eb02.htm#Eb02-CIDRrelated_Subqueries. Valid values: digit between 0 and 32."
                            },
                            "cidr6": {
                              "type": "number",
                              "description": "cidr6 - A CIDR6 filter to use on IP queries. Valid values: digit between 0 and 128."
                            },
                            "pps_threshold": {
                              "type": "number",
                              "description": "pps_threshold - The minimum packets per second required to match flow (used in conjunction with metrics like retransmits, out of order, etc). Valid value: digit greater than 0."
                            },
                            "metric": {
                              "allOf": [
                                {
                                  "title": "metric",
                                  "enum": [
                                    "bytes",
                                    "in_bytes",
                                    "out_bytes",
                                    "packets",
                                    "in_packets",
                                    "out_packets",
                                    "tcp_retransmit",
                                    "perc_retransmit",
                                    "retransmits_in",
                                    "perc_retransmits_in",
                                    "out_of_order_in",
                                    "perc_out_of_order_in",
                                    "fragments",
                                    "perc_fragments",
                                    "client_latency",
                                    "server_latency",
                                    "appl_latency",
                                    "fps",
                                    "unique_src_ip",
                                    "unique_dst_ip"
                                  ],
                                  "type": "string",
                                  "description": "metric - Unit of measure, e.g. bytes, packets, etc."
                                },
                                {
                                  "description": "metric - Unit of measure, e.g. bytes, packets, etc."
                                }
                              ]
                            },
                            "topx": {
                              "type": "number",
                              "description": "topx - The number of results you want to see on your chart / get chart data for. Valid value: digit between 1 and 40."
                            },
                            "depth": {
                              "type": "number",
                              "description": "depth - The number of rows you want to retrieve (topX but aggregates only). Valid value: digit between 25 and 250."
                            },
                            "fastData": {
                              "allOf": [
                                {
                                  "title": "fastData",
                                  "enum": [
                                    "Auto",
                                    "Fast",
                                    "Full"
                                  ],
                                  "type": "string",
                                  "description": "fastData - Overrides the default setting for the dataset on which to run the query. See https://www.kentik.com/KB/?Ab04.htm#Ab04-Query_Dataset_Selection."
                                },
                                {
                                  "description": "fastData - Overrides the default setting for the dataset on which to run the query. See https://www.kentik.com/KB/?Ab04.htm#Ab04-Query_Dataset_Selection."
                                }
                              ]
                            },
                            "outsort": {
                              "type": "string",
                              "description": "outsort - This maps to an aggregate name (see aggregates below). Common ones are: 'avg', 'sum', 'max', 'p95th'; what aggregate column to sort the results by to produce a topx/depth."
                            },
                            "lookback_seconds": {
                              "type": "number",
                              "description": "lookback_seconds - The time period to look back from present, e.g. for time span of last 2 hours, set to 7200. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "time_format": {
                              "allOf": [
                                {
                                  "title": "timeformat",
                                  "enum": [
                                    "UTC",
                                    "Local"
                                  ],
                                  "type": "string",
                                  "description": "time_format - The time zone in which times are expressed, either UTC or local."
                                },
                                {
                                  "description": "time_format - The time zone in which times are expressed, either UTC or local."
                                }
                              ]
                            },
                            "hostname_lookup": {
                              "type": "boolean",
                              "description": "hostname_lookup - Allow DNS lookup when checked (true). Queries against IP dimensions will run faster without allowing DNS lookup.",
                              "default": true
                            },
                            "starting_time": {
                              "type": "string",
                              "description": "starting_time - The fixed start time of the query time-span, e.g. 'YYYY-MM-DD HH:mm:00'. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "ending_time": {
                              "type": "string",
                              "description": "ending_time - The fixed ending time of the query time-span, e.g. 'YYYY-MM-DD HH:mm:00'. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "device_name": {
                              "type": "string",
                              "description": "device_name - Sets the device against which to query. Multiple devices can be set using comma delimited string."
                            },
                            "all_selected": {
                              "type": "boolean",
                              "description": "all_selected - Whether or not you want us to query against all of your devices (if true, we ignore device_name)",
                              "default": false
                            },
                            "filters_obj": {
                              "allOf": [
                                {
                                  "title": "filters_obj",
                                  "required": [
                                    "connector",
                                    "filterGroups"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "connector": {
                                      "allOf": [
                                        {
                                          "title": "connector",
                                          "enum": [
                                            "All",
                                            "Any"
                                          ],
                                          "type": "string",
                                          "description": "connector - An AND/OR switch."
                                        },
                                        {
                                          "description": "connector - An AND/OR switch."
                                        }
                                      ]
                                    },
                                    "filterGroups": {
                                      "type": "array",
                                      "items": {
                                        "title": "filtergroup",
                                        "required": [
                                          "connector"
                                        ],
                                        "type": "object",
                                        "properties": {
                                          "connector": {
                                            "allOf": [
                                              {
                                                "title": "connector",
                                                "enum": [
                                                  "All",
                                                  "Any"
                                                ],
                                                "type": "string",
                                                "description": "connector - An AND/OR switch."
                                              },
                                              {
                                                "description": "connector - An AND/OR switch."
                                              }
                                            ]
                                          },
                                          "filters": {
                                            "type": "array",
                                            "items": {
                                              "title": "filter",
                                              "required": [
                                                "filterField",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "properties": {
                                                "filterField": {
                                                  "allOf": [
                                                    {
                                                      "title": "filterField",
                                                      "enum": [
                                                        "src_geo",
                                                        "src_geo_region",
                                                        "src_geo_city",
                                                        "src_as",
                                                        "src_flow_tags",
                                                        "l4_src_port",
                                                        "vlan_in",
                                                        "src_eth_mac",
                                                        "inet_src_addr",
                                                        "input_port",
                                                        "i_input_snmp_alias",
                                                        "i_input_interface_description",
                                                        "ipv4_src_route_prefix",
                                                        "src_route_length",
                                                        "src_bgp_aspath",
                                                        "src_bgp_community",
                                                        "ipv4_src_next_hop",
                                                        "src_nexthop_as",
                                                        "src_second_asn",
                                                        "src_third_asn",
                                                        "dst_geo",
                                                        "dst_geo_region",
                                                        "dst_geo_city",
                                                        "dst_as",
                                                        "dst_flow_tags",
                                                        "l4_dst_port",
                                                        "vlan_out",
                                                        "dst_eth_mac",
                                                        "inet_dst_addr",
                                                        "output_port",
                                                        "i_output_snmp_alias",
                                                        "i_output_interface_description",
                                                        "ipv4_dst_route_prefix",
                                                        "dst_route_length",
                                                        "dst_bgp_aspath",
                                                        "dst_bgp_community",
                                                        "ipv4_dst_next_hop",
                                                        "dst_nexthop_as",
                                                        "dst_second_asn",
                                                        "dst_third_asn",
                                                        "tcp_flags",
                                                        "tcp_flags_raw",
                                                        "protocol",
                                                        "i_device_name",
                                                        "both_pkts",
                                                        "tcp_retransmit",
                                                        "tos"
                                                      ],
                                                      "type": "string",
                                                      "description": "filterField - A field operand."
                                                    },
                                                    {
                                                      "description": "filterField - A field operand."
                                                    }
                                                  ]
                                                },
                                                "operator": {
                                                  "allOf": [
                                                    {
                                                      "title": "operator",
                                                      "enum": [
                                                        "=",
                                                        "<>",
                                                        "ILIKE",
                                                        "NOT ILIKE",
                                                        "~",
                                                        "!~",
                                                        ">",
                                                        "<",
                                                        "&"
                                                      ],
                                                      "type": "string",
                                                      "description": "operator - An operator."
                                                    },
                                                    {
                                                      "description": "operator - An operator."
                                                    }
                                                  ]
                                                },
                                                "filterValue": {
                                                  "type": "string",
                                                  "description": "filterValue - An operand input by the user."
                                                }
                                              }
                                            },
                                            "description": "filters - //"
                                          },
                                          "not": {
                                            "type": "boolean",
                                            "description": "not - Whether or not to NOT() the filter group.",
                                            "default": false
                                          }
                                        }
                                      },
                                      "description": ""
                                    }
                                  },
                                  "description": "filters_obj - //"
                                },
                                {
                                  "description": "filters_obj - //"
                                }
                              ]
                            },
                            "saved_filters": {
                              "type": "array",
                              "items": {
                                "title": "saved_filter",
                                "type": "object",
                                "properties": {
                                  "filter_id": {
                                    "type": "number",
                                    "description": "filter_id - Id of saved filter you want to use"
                                  },
                                  "isNot": {
                                    "type": "boolean",
                                    "description": "isNot - Whether or not to NOT() the saved filter",
                                    "default": false
                                  }
                                },
                                "description": "saved_filters - //"
                              },
                              "description": "saved_filters - //"
                            },
                            "descriptor": {
                              "type": "string",
                              "description": "descriptor - This effects the 'name' column returned when using the 'Traffic' dimension"
                            },
                            "aggregates": {
                              "type": "array",
                              "items": {
                                "title": "aggregate",
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string",
                                    "description": "name - Name of the aggregate you're defining."
                                  },
                                  "column": {
                                    "allOf": [
                                      {
                                        "title": "column",
                                        "enum": [
                                          "f_sum_both_bytes",
                                          "f_sum_in_bytes",
                                          "f_sum_out_bytes",
                                          "f_sum_both_pkts",
                                          "f_sum_in_pkts",
                                          "f_sum_out_pkts",
                                          "f_sum_tcp_retransmit",
                                          "perc_retransmits",
                                          "f_sum_retransmitted_in_pkts",
                                          "perc_retransmits_in",
                                          "f_sum_ooorder_in_pkts",
                                          "perc_ooorder_in",
                                          "f_sum_fragments",
                                          "perc_fragments",
                                          "f_sum_client_nw_latency_ms",
                                          "trautocount",
                                          "f_sum_server_nw_latency_ms",
                                          "f_sum_appl_latency_ms",
                                          "f_countdistinct_ipv4_src_addr",
                                          "f_countdistinct_ipv4_dst_addr"
                                        ],
                                        "type": "string",
                                        "description": "column - The raw SQL column to use as the source for this aggregation."
                                      },
                                      {
                                        "description": "column - The raw SQL column to use as the source for this aggregation."
                                      }
                                    ]
                                  },
                                  "fn": {
                                    "allOf": [
                                      {
                                        "title": "fn",
                                        "enum": [
                                          "sum",
                                          "average",
                                          "percentile",
                                          "max",
                                          "composite",
                                          "exponent",
                                          "modulus",
                                          "greaterThan",
                                          "greaterThanEquals",
                                          "lessThan",
                                          "lessThanEquals",
                                          "equals",
                                          "notEquals"
                                        ],
                                        "type": "string",
                                        "description": "fn - Aggregation function you want to run against 'column'."
                                      },
                                      {
                                        "description": "fn - Aggregation function you want to run against 'column'."
                                      }
                                    ]
                                  },
                                  "rank": {
                                    "type": "number",
                                    "description": "rank - Digit 5 to 99, for use with 'percentile' fn"
                                  },
                                  "leftOperand": {
                                    "type": "string",
                                    "description": "leftOperand - Value for left side of composite equation; used only for 'composite' fn"
                                  },
                                  "compositeFn": {
                                    "allOf": [
                                      {
                                        "title": "compositeFn",
                                        "enum": [
                                          "sum",
                                          "subtract",
                                          "multiply",
                                          "divide"
                                        ],
                                        "type": "string",
                                        "description": "compositeFn - Operator function."
                                      },
                                      {
                                        "description": "compositeFn - Operator function."
                                      }
                                    ]
                                  },
                                  "rightOperand": {
                                    "allOf": [
                                      {
                                        "title": "rightOperand",
                                        "enum": [
                                          "sum",
                                          "subtract",
                                          "multiply",
                                          "divide"
                                        ],
                                        "type": "string",
                                        "description": "rightOperand - Value for right side of composite equation; used only for 'composite' fn"
                                      },
                                      {
                                        "description": "rightOperand - Value for right side of composite equation; used only for 'composite' fn"
                                      }
                                    ]
                                  },
                                  "raw": {
                                    "type": "boolean",
                                    "description": "raw - Whether or not to send raw 'chart' data back from the 'column' configured. required for topxchart calls.",
                                    "default": false
                                  }
                                }
                              },
                              "description": ""
                            }
                          },
                          "description": "query - Query object."
                        },
                        {
                          "description": "query - Query object."
                        }
                      ]
                    },
                    "bucket": {
                      "type": "string",
                      "description": "bucket - Name of 'bucket' to return data. A bucket runs all queries simultaneously. Queries not at bucketIndex 0 inherit certain values from the query at bucketIndex 0."
                    },
                    "bucketIndex": {
                      "type": "number",
                      "description": "bucketIndex - A bucket index. Valid value: digit 0 or greater than 0."
                    }
                  }
                },
                "description": ""
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/queryUrl"
      },
      "task": true
    },
    {
      "name": "topxdata",
      "summary": "topxdata",
      "description": "Returns query results in JSON that can be parsed to generate a TopX table.  Documentation .",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"queries\": [{\"query\": \"undefined\", \"bucket\": \"string\", \"bucketIndex\": 123}]}",
          "required": true,
          "schema": {
            "title": "topxdata",
            "type": "object",
            "properties": {
              "queries": {
                "type": "array",
                "items": {
                  "title": "query2",
                  "type": "object",
                  "properties": {
                    "query": {
                      "allOf": [
                        {
                          "title": "query3",
                          "required": [
                            "dimension",
                            "metric",
                            "topx",
                            "depth",
                            "fastData",
                            "outsort",
                            "lookback_seconds",
                            "device_name"
                          ],
                          "type": "object",
                          "properties": {
                            "dimension": {
                              "type": "array",
                              "items": {
                                "title": "dimension",
                                "enum": [
                                  "AS_src",
                                  "Geography_src",
                                  "InterfaceID_src",
                                  "Port_src",
                                  "src_eth_mac",
                                  "VLAN_src",
                                  "IP_src",
                                  "AS_dst",
                                  "Geography_dst",
                                  "InterfaceID_dst",
                                  "Port_dst",
                                  "dst_eth_mac",
                                  "VLAN_dst",
                                  "IP_dst",
                                  "TopFlow",
                                  "Proto",
                                  "Traffic",
                                  "ASTopTalkers",
                                  "InterfaceTopTalkers",
                                  "PortPortTalkers",
                                  "TopFlowsIP",
                                  "src_geo_region",
                                  "src_geo_city",
                                  "dst_geo_region",
                                  "dst_geo_city",
                                  "RegionTopTalkers",
                                  "i_device_id",
                                  "i_device_site_name",
                                  "src_route_prefix_len",
                                  "src_route_length",
                                  "src_bgp_community",
                                  "src_bgp_aspath",
                                  "src_nexthop_ip",
                                  "src_nexthop_asn",
                                  "src_second_asn",
                                  "src_third_asn",
                                  "src_proto_port",
                                  "dst_route_prefix_len",
                                  "dst_route_length",
                                  "dst_bgp_community",
                                  "dst_bgp_aspath",
                                  "dst_nexthop_ip",
                                  "dst_nexthop_asn",
                                  "dst_second_asn",
                                  "dst_third_asn",
                                  "dst_proto_port",
                                  "inet_family",
                                  "TOS",
                                  "tcp_flags"
                                ],
                                "type": "string",
                                "description": "dimension - A field by which to aggregate results. (NOTE: you may also use a custom dimension name here -- but not available in this tester)."
                              },
                              "description": ""
                            },
                            "cidr": {
                              "type": "number",
                              "description": "cidr - A CIDR filter to use on IP queries, such as when grouping by dest_ip/24. See https://www.kentik.com/KB/?Eb02.htm#Eb02-CIDRrelated_Subqueries. Valid values: digit between 0 and 32."
                            },
                            "cidr6": {
                              "type": "number",
                              "description": "cidr6 - A CIDR6 filter to use on IP queries. Valid values: digit between 0 and 128."
                            },
                            "pps_threshold": {
                              "type": "number",
                              "description": "pps_threshold - The minimum packets per second required to match flow (used in conjunction with metrics like retransmits, out of order, etc). Valid value: digit greater than 0."
                            },
                            "metric": {
                              "allOf": [
                                {
                                  "title": "metric",
                                  "enum": [
                                    "bytes",
                                    "in_bytes",
                                    "out_bytes",
                                    "packets",
                                    "in_packets",
                                    "out_packets",
                                    "tcp_retransmit",
                                    "perc_retransmit",
                                    "retransmits_in",
                                    "perc_retransmits_in",
                                    "out_of_order_in",
                                    "perc_out_of_order_in",
                                    "fragments",
                                    "perc_fragments",
                                    "client_latency",
                                    "server_latency",
                                    "appl_latency",
                                    "fps",
                                    "unique_src_ip",
                                    "unique_dst_ip"
                                  ],
                                  "type": "string",
                                  "description": "metric - Unit of measure, e.g. bytes, packets, etc."
                                },
                                {
                                  "description": "metric - Unit of measure, e.g. bytes, packets, etc."
                                }
                              ]
                            },
                            "topx": {
                              "type": "number",
                              "description": "topx - The number of results you want to see on your chart / get chart data for. Valid value: digit between 1 and 40."
                            },
                            "depth": {
                              "type": "number",
                              "description": "depth - The number of rows you want to retrieve (topX but aggregates only). Valid value: digit between 25 and 250."
                            },
                            "fastData": {
                              "allOf": [
                                {
                                  "title": "fastData",
                                  "enum": [
                                    "Auto",
                                    "Fast",
                                    "Full"
                                  ],
                                  "type": "string",
                                  "description": "fastData - Overrides the default setting for the dataset on which to run the query. See https://www.kentik.com/KB/?Ab04.htm#Ab04-Query_Dataset_Selection."
                                },
                                {
                                  "description": "fastData - Overrides the default setting for the dataset on which to run the query. See https://www.kentik.com/KB/?Ab04.htm#Ab04-Query_Dataset_Selection."
                                }
                              ]
                            },
                            "outsort": {
                              "type": "string",
                              "description": "outsort - This maps to an aggregate name (see aggregates below). Common ones are: 'avg', 'sum', 'max', 'p95th'; what aggregate column to sort the results by to produce a topx/depth."
                            },
                            "lookback_seconds": {
                              "type": "number",
                              "description": "lookback_seconds - The time period to look back from present, e.g. for time span of last 2 hours, set to 7200. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "hostname_lookup": {
                              "type": "boolean",
                              "description": "hostname_lookup - Allow DNS lookup when checked (true). Queries against IP dimensions will run faster without allowing DNS lookup.",
                              "default": true
                            },
                            "starting_time": {
                              "type": "string",
                              "description": "starting_time - The fixed start time of the query time-span, e.g. 'YYYY-MM-DD HH:mm:00'. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "ending_time": {
                              "type": "string",
                              "description": "ending_time - The fixed ending time of the query time-span, e.g. 'YYYY-MM-DD HH:mm:00'. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "device_name": {
                              "type": "string",
                              "description": "device_name - Sets the device against which to query. Multiple devices can be set using comma delimited string."
                            },
                            "all_selected": {
                              "type": "boolean",
                              "description": "all_selected - Whether or not you want us to query against all of your devices (if true, we ignore device_name)",
                              "default": false
                            },
                            "filters_obj": {
                              "allOf": [
                                {
                                  "title": "filters_obj",
                                  "required": [
                                    "connector",
                                    "filterGroups"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "connector": {
                                      "allOf": [
                                        {
                                          "title": "connector",
                                          "enum": [
                                            "All",
                                            "Any"
                                          ],
                                          "type": "string",
                                          "description": "connector - An AND/OR switch."
                                        },
                                        {
                                          "description": "connector - An AND/OR switch."
                                        }
                                      ]
                                    },
                                    "filterGroups": {
                                      "type": "array",
                                      "items": {
                                        "title": "filtergroup",
                                        "required": [
                                          "connector"
                                        ],
                                        "type": "object",
                                        "properties": {
                                          "connector": {
                                            "allOf": [
                                              {
                                                "title": "connector",
                                                "enum": [
                                                  "All",
                                                  "Any"
                                                ],
                                                "type": "string",
                                                "description": "connector - An AND/OR switch."
                                              },
                                              {
                                                "description": "connector - An AND/OR switch."
                                              }
                                            ]
                                          },
                                          "filters": {
                                            "type": "array",
                                            "items": {
                                              "title": "filter",
                                              "required": [
                                                "filterField",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "properties": {
                                                "filterField": {
                                                  "allOf": [
                                                    {
                                                      "title": "filterField",
                                                      "enum": [
                                                        "src_geo",
                                                        "src_geo_region",
                                                        "src_geo_city",
                                                        "src_as",
                                                        "src_flow_tags",
                                                        "l4_src_port",
                                                        "vlan_in",
                                                        "src_eth_mac",
                                                        "inet_src_addr",
                                                        "input_port",
                                                        "i_input_snmp_alias",
                                                        "i_input_interface_description",
                                                        "ipv4_src_route_prefix",
                                                        "src_route_length",
                                                        "src_bgp_aspath",
                                                        "src_bgp_community",
                                                        "ipv4_src_next_hop",
                                                        "src_nexthop_as",
                                                        "src_second_asn",
                                                        "src_third_asn",
                                                        "dst_geo",
                                                        "dst_geo_region",
                                                        "dst_geo_city",
                                                        "dst_as",
                                                        "dst_flow_tags",
                                                        "l4_dst_port",
                                                        "vlan_out",
                                                        "dst_eth_mac",
                                                        "inet_dst_addr",
                                                        "output_port",
                                                        "i_output_snmp_alias",
                                                        "i_output_interface_description",
                                                        "ipv4_dst_route_prefix",
                                                        "dst_route_length",
                                                        "dst_bgp_aspath",
                                                        "dst_bgp_community",
                                                        "ipv4_dst_next_hop",
                                                        "dst_nexthop_as",
                                                        "dst_second_asn",
                                                        "dst_third_asn",
                                                        "tcp_flags",
                                                        "tcp_flags_raw",
                                                        "protocol",
                                                        "i_device_name",
                                                        "both_pkts",
                                                        "tcp_retransmit",
                                                        "tos"
                                                      ],
                                                      "type": "string",
                                                      "description": "filterField - A field operand."
                                                    },
                                                    {
                                                      "description": "filterField - A field operand."
                                                    }
                                                  ]
                                                },
                                                "operator": {
                                                  "allOf": [
                                                    {
                                                      "title": "operator",
                                                      "enum": [
                                                        "=",
                                                        "<>",
                                                        "ILIKE",
                                                        "NOT ILIKE",
                                                        "~",
                                                        "!~",
                                                        ">",
                                                        "<",
                                                        "&"
                                                      ],
                                                      "type": "string",
                                                      "description": "operator - An operator."
                                                    },
                                                    {
                                                      "description": "operator - An operator."
                                                    }
                                                  ]
                                                },
                                                "filterValue": {
                                                  "type": "string",
                                                  "description": "filterValue - An operand input by the user."
                                                }
                                              }
                                            },
                                            "description": "filters - //"
                                          },
                                          "not": {
                                            "type": "boolean",
                                            "description": "not - Whether or not to NOT() the filter group.",
                                            "default": false
                                          }
                                        }
                                      },
                                      "description": ""
                                    }
                                  },
                                  "description": "filters_obj - //"
                                },
                                {
                                  "description": "filters_obj - //"
                                }
                              ]
                            },
                            "saved_filters": {
                              "type": "array",
                              "items": {
                                "title": "saved_filter",
                                "type": "object",
                                "properties": {
                                  "filter_id": {
                                    "type": "number",
                                    "description": "filter_id - Id of saved filter you want to use"
                                  },
                                  "isNot": {
                                    "type": "boolean",
                                    "description": "isNot - Whether or not to NOT() the saved filter",
                                    "default": false
                                  }
                                },
                                "description": "saved_filters - //"
                              },
                              "description": "saved_filters - //"
                            },
                            "descriptor": {
                              "type": "string",
                              "description": "descriptor - This effects the 'name' column returned when using the 'Traffic' dimension"
                            },
                            "aggregates": {
                              "type": "array",
                              "items": {
                                "title": "aggregate",
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string",
                                    "description": "name - Name of the aggregate you're defining."
                                  },
                                  "column": {
                                    "allOf": [
                                      {
                                        "title": "column",
                                        "enum": [
                                          "f_sum_both_bytes",
                                          "f_sum_in_bytes",
                                          "f_sum_out_bytes",
                                          "f_sum_both_pkts",
                                          "f_sum_in_pkts",
                                          "f_sum_out_pkts",
                                          "f_sum_tcp_retransmit",
                                          "perc_retransmits",
                                          "f_sum_retransmitted_in_pkts",
                                          "perc_retransmits_in",
                                          "f_sum_ooorder_in_pkts",
                                          "perc_ooorder_in",
                                          "f_sum_fragments",
                                          "perc_fragments",
                                          "f_sum_client_nw_latency_ms",
                                          "trautocount",
                                          "f_sum_server_nw_latency_ms",
                                          "f_sum_appl_latency_ms",
                                          "f_countdistinct_ipv4_src_addr",
                                          "f_countdistinct_ipv4_dst_addr"
                                        ],
                                        "type": "string",
                                        "description": "column - The raw SQL column to use as the source for this aggregation."
                                      },
                                      {
                                        "description": "column - The raw SQL column to use as the source for this aggregation."
                                      }
                                    ]
                                  },
                                  "fn": {
                                    "allOf": [
                                      {
                                        "title": "fn",
                                        "enum": [
                                          "sum",
                                          "average",
                                          "percentile",
                                          "max",
                                          "composite",
                                          "exponent",
                                          "modulus",
                                          "greaterThan",
                                          "greaterThanEquals",
                                          "lessThan",
                                          "lessThanEquals",
                                          "equals",
                                          "notEquals"
                                        ],
                                        "type": "string",
                                        "description": "fn - Aggregation function you want to run against 'column'."
                                      },
                                      {
                                        "description": "fn - Aggregation function you want to run against 'column'."
                                      }
                                    ]
                                  },
                                  "rank": {
                                    "type": "number",
                                    "description": "rank - Digit 5 to 99, for use with 'percentile' fn"
                                  },
                                  "leftOperand": {
                                    "type": "string",
                                    "description": "leftOperand - Value for left side of composite equation; used only for 'composite' fn"
                                  },
                                  "compositeFn": {
                                    "allOf": [
                                      {
                                        "title": "compositeFn",
                                        "enum": [
                                          "sum",
                                          "subtract",
                                          "multiply",
                                          "divide"
                                        ],
                                        "type": "string",
                                        "description": "compositeFn - Operator function."
                                      },
                                      {
                                        "description": "compositeFn - Operator function."
                                      }
                                    ]
                                  },
                                  "rightOperand": {
                                    "allOf": [
                                      {
                                        "title": "rightOperand",
                                        "enum": [
                                          "sum",
                                          "subtract",
                                          "multiply",
                                          "divide"
                                        ],
                                        "type": "string",
                                        "description": "rightOperand - Value for right side of composite equation; used only for 'composite' fn"
                                      },
                                      {
                                        "description": "rightOperand - Value for right side of composite equation; used only for 'composite' fn"
                                      }
                                    ]
                                  },
                                  "raw": {
                                    "type": "boolean",
                                    "description": "raw - Whether or not to send raw 'chart' data back from the 'column' configured. required for topxchart calls.",
                                    "default": false
                                  }
                                }
                              },
                              "description": ""
                            }
                          },
                          "description": "query - Query object."
                        },
                        {
                          "description": "query - Query object."
                        }
                      ]
                    },
                    "bucket": {
                      "type": "string",
                      "description": "bucket - Name of 'bucket' to return data. A bucket runs all queries simultaneously. Queries not at bucketIndex 0 inherit certain values from the query at bucketIndex 0."
                    },
                    "bucketIndex": {
                      "type": "number",
                      "description": "bucketIndex - A bucket index. Valid value: digit 0 or greater than 0."
                    }
                  }
                },
                "description": ""
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/topxdata"
      },
      "task": true
    },
    {
      "name": "topxchart",
      "summary": "topxchart",
      "description": "Returns an image of a graph similar to what is seen in the Kentik portal's Data Explorer.  Documentation .",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"queries\": [{\"query\": \"undefined\", \"bucket\": \"string\", \"bucketIndex\": 123, \"isOverlay\": \"boolean\"}], \"imageType\": \"undefined\"}",
          "required": true,
          "schema": {
            "title": "topxchart",
            "type": "object",
            "properties": {
              "queries": {
                "type": "array",
                "items": {
                  "title": "query4",
                  "type": "object",
                  "properties": {
                    "query": {
                      "allOf": [
                        {
                          "title": "query5",
                          "required": [
                            "dimension",
                            "metric",
                            "topx",
                            "depth",
                            "fastData",
                            "outsort",
                            "lookback_seconds",
                            "device_name"
                          ],
                          "type": "object",
                          "properties": {
                            "viz_type": {
                              "type": "string",
                              "description": "viz_type - The chart type."
                            },
                            "show_overlay": {
                              "type": "boolean",
                              "description": "show_overlay - Whether or not to show a historical overlay (if supported by viz_type)",
                              "default": false
                            },
                            "overlay_day": {
                              "type": "number",
                              "description": "overlay_day - Number of days to lookback for historical overlay."
                            },
                            "sync_axes": {
                              "type": "boolean",
                              "description": "sync_axes - For use with multiple data series; whether or not you want left and right axes scales to be synced.",
                              "default": false
                            },
                            "dimension": {
                              "type": "array",
                              "items": {
                                "title": "dimension",
                                "enum": [
                                  "AS_src",
                                  "Geography_src",
                                  "InterfaceID_src",
                                  "Port_src",
                                  "src_eth_mac",
                                  "VLAN_src",
                                  "IP_src",
                                  "AS_dst",
                                  "Geography_dst",
                                  "InterfaceID_dst",
                                  "Port_dst",
                                  "dst_eth_mac",
                                  "VLAN_dst",
                                  "IP_dst",
                                  "TopFlow",
                                  "Proto",
                                  "Traffic",
                                  "ASTopTalkers",
                                  "InterfaceTopTalkers",
                                  "PortPortTalkers",
                                  "TopFlowsIP",
                                  "src_geo_region",
                                  "src_geo_city",
                                  "dst_geo_region",
                                  "dst_geo_city",
                                  "RegionTopTalkers",
                                  "i_device_id",
                                  "i_device_site_name",
                                  "src_route_prefix_len",
                                  "src_route_length",
                                  "src_bgp_community",
                                  "src_bgp_aspath",
                                  "src_nexthop_ip",
                                  "src_nexthop_asn",
                                  "src_second_asn",
                                  "src_third_asn",
                                  "src_proto_port",
                                  "dst_route_prefix_len",
                                  "dst_route_length",
                                  "dst_bgp_community",
                                  "dst_bgp_aspath",
                                  "dst_nexthop_ip",
                                  "dst_nexthop_asn",
                                  "dst_second_asn",
                                  "dst_third_asn",
                                  "dst_proto_port",
                                  "inet_family",
                                  "TOS",
                                  "tcp_flags"
                                ],
                                "type": "string",
                                "description": "dimension - A field by which to aggregate results. (NOTE: you may also use a custom dimension name here -- but not available in this tester)."
                              },
                              "description": ""
                            },
                            "cidr": {
                              "type": "number",
                              "description": "cidr - A CIDR filter to use on IP queries, such as when grouping by dest_ip/24. See https://www.kentik.com/KB/?Eb02.htm#Eb02-CIDRrelated_Subqueries. Valid values: digit between 0 and 32."
                            },
                            "cidr6": {
                              "type": "number",
                              "description": "cidr6 - A CIDR6 filter to use on IP queries. Valid values: digit between 0 and 128."
                            },
                            "pps_threshold": {
                              "type": "number",
                              "description": "pps_threshold - The minimum packets per second required to match flow (used in conjunction with metrics like retransmits, out of order, etc). Valid value: digit greater than 0."
                            },
                            "metric": {
                              "allOf": [
                                {
                                  "title": "metric",
                                  "enum": [
                                    "bytes",
                                    "in_bytes",
                                    "out_bytes",
                                    "packets",
                                    "in_packets",
                                    "out_packets",
                                    "tcp_retransmit",
                                    "perc_retransmit",
                                    "retransmits_in",
                                    "perc_retransmits_in",
                                    "out_of_order_in",
                                    "perc_out_of_order_in",
                                    "fragments",
                                    "perc_fragments",
                                    "client_latency",
                                    "server_latency",
                                    "appl_latency",
                                    "fps",
                                    "unique_src_ip",
                                    "unique_dst_ip"
                                  ],
                                  "type": "string",
                                  "description": "metric - Unit of measure, e.g. bytes, packets, etc."
                                },
                                {
                                  "description": "metric - Unit of measure, e.g. bytes, packets, etc."
                                }
                              ]
                            },
                            "topx": {
                              "type": "number",
                              "description": "topx - The number of results you want to see on your chart / get chart data for. Valid value: digit between 1 and 40."
                            },
                            "depth": {
                              "type": "number",
                              "description": "depth - The number of rows you want to retrieve (topX but aggregates only). Valid value: digit between 25 and 250."
                            },
                            "fastData": {
                              "allOf": [
                                {
                                  "title": "fastData",
                                  "enum": [
                                    "Auto",
                                    "Fast",
                                    "Full"
                                  ],
                                  "type": "string",
                                  "description": "fastData - Overrides the default setting for the dataset on which to run the query. See https://www.kentik.com/KB/?Ab04.htm#Ab04-Query_Dataset_Selection."
                                },
                                {
                                  "description": "fastData - Overrides the default setting for the dataset on which to run the query. See https://www.kentik.com/KB/?Ab04.htm#Ab04-Query_Dataset_Selection."
                                }
                              ]
                            },
                            "outsort": {
                              "type": "string",
                              "description": "outsort - This maps to an aggregate name (see aggregates below). Common ones are: 'avg', 'sum', 'max', 'p95th'; what aggregate column to sort the results by to produce a topx/depth."
                            },
                            "lookback_seconds": {
                              "type": "number",
                              "description": "lookback_seconds - The time period to look back from present, e.g. for time span of last 2 hours, set to 7200. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "hostname_lookup": {
                              "type": "boolean",
                              "description": "hostname_lookup - Allow DNS lookup when checked (true). Queries against IP dimensions will run faster without allowing DNS lookup.",
                              "default": true
                            },
                            "starting_time": {
                              "type": "string",
                              "description": "starting_time - The fixed start time of the query time-span, e.g. 'YYYY-MM-DD HH:mm:00'. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "ending_time": {
                              "type": "string",
                              "description": "ending_time - The fixed ending time of the query time-span, e.g. 'YYYY-MM-DD HH:mm:00'. If you want starting_time/ending_time to take effect, you MUST set lookback_seconds to zero."
                            },
                            "device_name": {
                              "type": "string",
                              "description": "device_name - Sets the device against which to query. Multiple devices can be set using comma delimited string."
                            },
                            "all_selected": {
                              "type": "boolean",
                              "description": "all_selected - Whether or not you want us to query against all of your devices (if true, we ignore device_name)",
                              "default": false
                            },
                            "filters_obj": {
                              "allOf": [
                                {
                                  "title": "filters_obj",
                                  "required": [
                                    "connector",
                                    "filterGroups"
                                  ],
                                  "type": "object",
                                  "properties": {
                                    "connector": {
                                      "allOf": [
                                        {
                                          "title": "connector",
                                          "enum": [
                                            "All",
                                            "Any"
                                          ],
                                          "type": "string",
                                          "description": "connector - An AND/OR switch."
                                        },
                                        {
                                          "description": "connector - An AND/OR switch."
                                        }
                                      ]
                                    },
                                    "filterGroups": {
                                      "type": "array",
                                      "items": {
                                        "title": "filtergroup",
                                        "required": [
                                          "connector"
                                        ],
                                        "type": "object",
                                        "properties": {
                                          "connector": {
                                            "allOf": [
                                              {
                                                "title": "connector",
                                                "enum": [
                                                  "All",
                                                  "Any"
                                                ],
                                                "type": "string",
                                                "description": "connector - An AND/OR switch."
                                              },
                                              {
                                                "description": "connector - An AND/OR switch."
                                              }
                                            ]
                                          },
                                          "filters": {
                                            "type": "array",
                                            "items": {
                                              "title": "filter",
                                              "required": [
                                                "filterField",
                                                "operator"
                                              ],
                                              "type": "object",
                                              "properties": {
                                                "filterField": {
                                                  "allOf": [
                                                    {
                                                      "title": "filterField",
                                                      "enum": [
                                                        "src_geo",
                                                        "src_geo_region",
                                                        "src_geo_city",
                                                        "src_as",
                                                        "src_flow_tags",
                                                        "l4_src_port",
                                                        "vlan_in",
                                                        "src_eth_mac",
                                                        "inet_src_addr",
                                                        "input_port",
                                                        "i_input_snmp_alias",
                                                        "i_input_interface_description",
                                                        "ipv4_src_route_prefix",
                                                        "src_route_length",
                                                        "src_bgp_aspath",
                                                        "src_bgp_community",
                                                        "ipv4_src_next_hop",
                                                        "src_nexthop_as",
                                                        "src_second_asn",
                                                        "src_third_asn",
                                                        "dst_geo",
                                                        "dst_geo_region",
                                                        "dst_geo_city",
                                                        "dst_as",
                                                        "dst_flow_tags",
                                                        "l4_dst_port",
                                                        "vlan_out",
                                                        "dst_eth_mac",
                                                        "inet_dst_addr",
                                                        "output_port",
                                                        "i_output_snmp_alias",
                                                        "i_output_interface_description",
                                                        "ipv4_dst_route_prefix",
                                                        "dst_route_length",
                                                        "dst_bgp_aspath",
                                                        "dst_bgp_community",
                                                        "ipv4_dst_next_hop",
                                                        "dst_nexthop_as",
                                                        "dst_second_asn",
                                                        "dst_third_asn",
                                                        "tcp_flags",
                                                        "tcp_flags_raw",
                                                        "protocol",
                                                        "i_device_name",
                                                        "both_pkts",
                                                        "tcp_retransmit",
                                                        "tos"
                                                      ],
                                                      "type": "string",
                                                      "description": "filterField - A field operand."
                                                    },
                                                    {
                                                      "description": "filterField - A field operand."
                                                    }
                                                  ]
                                                },
                                                "operator": {
                                                  "allOf": [
                                                    {
                                                      "title": "operator",
                                                      "enum": [
                                                        "=",
                                                        "<>",
                                                        "ILIKE",
                                                        "NOT ILIKE",
                                                        "~",
                                                        "!~",
                                                        ">",
                                                        "<",
                                                        "&"
                                                      ],
                                                      "type": "string",
                                                      "description": "operator - An operator."
                                                    },
                                                    {
                                                      "description": "operator - An operator."
                                                    }
                                                  ]
                                                },
                                                "filterValue": {
                                                  "type": "string",
                                                  "description": "filterValue - An operand input by the user."
                                                }
                                              }
                                            },
                                            "description": "filters - //"
                                          },
                                          "not": {
                                            "type": "boolean",
                                            "description": "not - Whether or not to NOT() the filter group.",
                                            "default": false
                                          }
                                        }
                                      },
                                      "description": ""
                                    }
                                  },
                                  "description": "filters_obj - //"
                                },
                                {
                                  "description": "filters_obj - //"
                                }
                              ]
                            },
                            "saved_filters": {
                              "type": "array",
                              "items": {
                                "title": "saved_filter",
                                "type": "object",
                                "properties": {
                                  "filter_id": {
                                    "type": "number",
                                    "description": "filter_id - Id of saved filter you want to use"
                                  },
                                  "isNot": {
                                    "type": "boolean",
                                    "description": "isNot - Whether or not to NOT() the saved filter",
                                    "default": false
                                  }
                                },
                                "description": "saved_filters - //"
                              },
                              "description": "saved_filters - //"
                            },
                            "descriptor": {
                              "type": "string",
                              "description": "descriptor - This effects the 'name' column returned when using the 'Traffic' dimension"
                            },
                            "aggregates": {
                              "type": "array",
                              "items": {
                                "title": "aggregate",
                                "type": "object",
                                "properties": {
                                  "name": {
                                    "type": "string",
                                    "description": "name - Name of the aggregate you're defining."
                                  },
                                  "column": {
                                    "allOf": [
                                      {
                                        "title": "column",
                                        "enum": [
                                          "f_sum_both_bytes",
                                          "f_sum_in_bytes",
                                          "f_sum_out_bytes",
                                          "f_sum_both_pkts",
                                          "f_sum_in_pkts",
                                          "f_sum_out_pkts",
                                          "f_sum_tcp_retransmit",
                                          "perc_retransmits",
                                          "f_sum_retransmitted_in_pkts",
                                          "perc_retransmits_in",
                                          "f_sum_ooorder_in_pkts",
                                          "perc_ooorder_in",
                                          "f_sum_fragments",
                                          "perc_fragments",
                                          "f_sum_client_nw_latency_ms",
                                          "trautocount",
                                          "f_sum_server_nw_latency_ms",
                                          "f_sum_appl_latency_ms",
                                          "f_countdistinct_ipv4_src_addr",
                                          "f_countdistinct_ipv4_dst_addr"
                                        ],
                                        "type": "string",
                                        "description": "column - The raw SQL column to use as the source for this aggregation."
                                      },
                                      {
                                        "description": "column - The raw SQL column to use as the source for this aggregation."
                                      }
                                    ]
                                  },
                                  "fn": {
                                    "allOf": [
                                      {
                                        "title": "fn",
                                        "enum": [
                                          "sum",
                                          "average",
                                          "percentile",
                                          "max",
                                          "composite",
                                          "exponent",
                                          "modulus",
                                          "greaterThan",
                                          "greaterThanEquals",
                                          "lessThan",
                                          "lessThanEquals",
                                          "equals",
                                          "notEquals"
                                        ],
                                        "type": "string",
                                        "description": "fn - Aggregation function you want to run against 'column'."
                                      },
                                      {
                                        "description": "fn - Aggregation function you want to run against 'column'."
                                      }
                                    ]
                                  },
                                  "rank": {
                                    "type": "number",
                                    "description": "rank - Digit 5 to 99, for use with 'percentile' fn"
                                  },
                                  "leftOperand": {
                                    "type": "string",
                                    "description": "leftOperand - Value for left side of composite equation; used only for 'composite' fn"
                                  },
                                  "compositeFn": {
                                    "allOf": [
                                      {
                                        "title": "compositeFn",
                                        "enum": [
                                          "sum",
                                          "subtract",
                                          "multiply",
                                          "divide"
                                        ],
                                        "type": "string",
                                        "description": "compositeFn - Operator function."
                                      },
                                      {
                                        "description": "compositeFn - Operator function."
                                      }
                                    ]
                                  },
                                  "rightOperand": {
                                    "allOf": [
                                      {
                                        "title": "rightOperand",
                                        "enum": [
                                          "sum",
                                          "subtract",
                                          "multiply",
                                          "divide"
                                        ],
                                        "type": "string",
                                        "description": "rightOperand - Value for right side of composite equation; used only for 'composite' fn"
                                      },
                                      {
                                        "description": "rightOperand - Value for right side of composite equation; used only for 'composite' fn"
                                      }
                                    ]
                                  },
                                  "raw": {
                                    "type": "boolean",
                                    "description": "raw - Whether or not to send raw 'chart' data back from the 'column' configured. required for topxchart calls.",
                                    "default": false
                                  }
                                }
                              },
                              "description": ""
                            },
                            "query_title": {
                              "type": "string",
                              "description": "query_title - The query's title."
                            }
                          },
                          "description": "query - Query object."
                        },
                        {
                          "description": "query - Query object."
                        }
                      ]
                    },
                    "bucket": {
                      "type": "string",
                      "description": "bucket - Name of 'bucket' to return data. A bucket runs all queries simultaneously. Queries not at bucketIndex 0 inherit certain values from the query at bucketIndex 0."
                    },
                    "bucketIndex": {
                      "type": "number",
                      "description": "bucketIndex - A bucket index. Valid value: digit 0 or greater than 0."
                    },
                    "isOverlay": {
                      "type": "boolean",
                      "description": "isOverlay - Whether or not query should be treated like an overlay",
                      "default": false
                    }
                  }
                },
                "description": ""
              },
              "imageType": {
                "allOf": [
                  {
                    "title": "imageType",
                    "enum": [
                      "pdf",
                      "png",
                      "jpg",
                      "svg"
                    ],
                    "type": "string",
                    "description": "imageType - Type of image"
                  },
                  {
                    "description": "imageType - Type of image"
                  }
                ]
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/topxchart"
      },
      "task": true
    },
    {
      "name": "findUsers",
      "summary": "findUsers",
      "description": "Returns an array of user objects, each of which contains information about an individual user (see  User Field Definitions ). * Required fields.",
      "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": "/findUsers"
      },
      "task": true
    },
    {
      "name": "findUser",
      "summary": "findUser",
      "description": "Returns a user object containing information about an individual user (see  User Field Definitions ). * Required fields.",
      "input": [
        {
          "name": "userId",
          "type": "number",
          "info": "The ID of the user whose information will be returned.: 123",
          "required": true,
          "schema": {
            "title": "userId",
            "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": "/findUser"
      },
      "task": true
    },
    {
      "name": "updateUser",
      "summary": "updateUser",
      "description": "Updates and returns a user object containing information about an individual user (see  User Field Definitions ). * Required fields.",
      "input": [
        {
          "name": "userId",
          "type": "number",
          "info": "The ID of the user whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "userId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"user\": {\"user_email\": \"string\", \"user_full_name\": \"string\", \"role\": \"undefined\", \"email_product\": \"boolean\", \"email_service\": \"boolean\"}}",
          "required": true,
          "schema": {
            "title": "updateUser",
            "type": "object",
            "properties": {
              "user": {
                "title": "User1",
                "required": [
                  "role"
                ],
                "type": "object",
                "properties": {
                  "user_email": {
                    "type": "string",
                    "description": "user_email - A valid email address for the user. Changes will send a verification message to the updated address. The new address will only appear after user has completed verification."
                  },
                  "user_full_name": {
                    "type": "string",
                    "description": "user_full_name - The user's full name. Valid characters: all except double quotes. Length: max=50."
                  },
                  "role": {
                    "allOf": [
                      {
                        "title": "Userrole1",
                        "enum": [
                          "Administrator",
                          "Member"
                        ],
                        "type": "string",
                        "description": "role - The user's role. Valid values: Member (0) or Administrator (1)."
                      },
                      {
                        "description": "role - The user's role. Valid values: Member (0) or Administrator (1)."
                      }
                    ]
                  },
                  "email_product": {
                    "type": "boolean",
                    "description": "email_product - Determines whether the user will receive emails about Kentik Detect product upgrades (e.g.  updates to features, interface, capabilities, etc.): true if yes, false if no.",
                    "default": true
                  },
                  "email_service": {
                    "type": "boolean",
                    "description": "email_service - Determines whether the user will receive emails about Kentik Detect service status (e.g. scheduled maintenance, etc.): true if yes, false if no.",
                    "default": true
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateUser"
      },
      "task": true
    },
    {
      "name": "deleteUser",
      "summary": "deleteUser",
      "description": "Deletes a user from the system. * Required fields.",
      "input": [
        {
          "name": "userId",
          "type": "number",
          "info": "The id of the user to delete.: 123",
          "required": true,
          "schema": {
            "title": "userId",
            "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": "/deleteUser"
      },
      "task": true
    },
    {
      "name": "createUser",
      "summary": "createUser",
      "description": "Creates and returns a user object containing information about an individual user (see  User Field Definitions ). * Required fields.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"user\": {\"user_email\": \"string\", \"user_full_name\": \"string\", \"role\": \"undefined\", \"email_product\": \"boolean\", \"email_service\": \"boolean\"}}",
          "required": true,
          "schema": {
            "title": "createUser",
            "type": "object",
            "properties": {
              "user": {
                "title": "User",
                "required": [
                  "user_email",
                  "role",
                  "email_product",
                  "email_service"
                ],
                "type": "object",
                "properties": {
                  "user_email": {
                    "type": "string",
                    "description": "user_email - A valid email address for the user."
                  },
                  "user_full_name": {
                    "type": "string",
                    "description": "user_full_name - The user's full name. Valid characters: all except double quotes. Length: max=50."
                  },
                  "role": {
                    "allOf": [
                      {
                        "title": "Userrole",
                        "enum": [
                          "Administrator",
                          "Member"
                        ],
                        "type": "string",
                        "description": "role - The user's role. Valid values: Member (0) or Administrator (1)."
                      },
                      {
                        "description": "role - The user's role. Valid values: Member (0) or Administrator (1)."
                      }
                    ]
                  },
                  "email_product": {
                    "type": "boolean",
                    "description": "email_product - Determines whether the user will receive emails about Kentik Detect product upgrades (e.g.  updates to features, interface, capabilities, etc.): true if yes, false if no."
                  },
                  "email_service": {
                    "type": "boolean",
                    "description": "email_service - Determines whether the user will receive emails about Kentik Detect service status (e.g. scheduled maintenance, etc.): true if yes, false if no."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createUser"
      },
      "task": true
    },
    {
      "name": "findDevices",
      "summary": "findDevices",
      "description": "Returns an array of device objects that each contain information about an individual device (see  About Devices ). * Required fields.",
      "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": "/findDevices"
      },
      "task": true
    },
    {
      "name": "findDevice",
      "summary": "findDevice",
      "description": "Returns a device object containing information about an individual device (see  About Devices ). * Required fields.",
      "input": [
        {
          "name": "deviceId",
          "type": "string",
          "info": "The name or id of the device whose information will be returned.: atlswitch01 or 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "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": "/findDevice"
      },
      "task": true
    },
    {
      "name": "updateDevice",
      "summary": "updateDevice",
      "description": "Updates and returns a device object containing information about an individual device (see  About Devices ). * Required fields.",
      "input": [
        {
          "name": "deviceId",
          "type": "number",
          "info": "The id of the device whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"device\": {\"cdn_attr\": \"undefined\", \"device_description\": \"string\", \"sending_ips\": \"array\", \"device_sample_rate\": 123, \"plan_id\": 123, \"site_id\": 123, \"minimize_snmp\": \"boolean\", \"device_snmp_ip\": \"string\", \"device_snmp_community\": \"string\", \"device_snmp_v3_conf\": \"undefined\", \"device_bgp_type\": \"undefined\", \"device_bgp_neighbor_ip\": \"string\", \"device_bgp_neighbor_ip6\": \"string\", \"device_bgp_neighbor_asn\": \"string\", \"device_bgp_password\": \"string\", \"use_bgp_device_id\": 123, \"device_bgp_flowspec\": \"boolean\"}}",
          "required": true,
          "schema": {
            "title": "updateDevice",
            "type": "object",
            "properties": {
              "device": {
                "title": "Device1",
                "required": [
                  "device_sample_rate",
                  "device_bgp_type"
                ],
                "type": "object",
                "properties": {
                  "cdn_attr": {
                    "allOf": [
                      {
                        "title": "ContributeToCDNAttribution1",
                        "enum": [
                          "Y",
                          "N"
                        ],
                        "type": "string",
                        "description": "cdn_attr - If this is a DNS server, you can contribute its queries to Kentik's CDN attribution database. Valid values: \"Y\" or \"N\". cdn_attr is ignored when the device subtype's parent type is not \"host-nprobe-dns-www\"."
                      },
                      {
                        "description": "cdn_attr - If this is a DNS server, you can contribute its queries to Kentik's CDN attribution database. Valid values: \"Y\" or \"N\". cdn_attr is ignored when the device subtype's parent type is not \"host-nprobe-dns-www\"."
                      }
                    ]
                  },
                  "device_description": {
                    "type": "string",
                    "description": "device_description - The device description. Valid characters: any. Length: max=128."
                  },
                  "sending_ips": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": ""
                  },
                  "device_sample_rate": {
                    "type": "number",
                    "description": "device_sample_rate - The rate at which the device is sampling flows. Valid values: integer bigger than 1. Recommended rate varies depending on flow volume; see https://kb.kentik.com/Ab02.htm#Ab02-Flow_Sampling. device_sample_rate is ignored unless the device subtype's parent type is \"router\"."
                  },
                  "plan_id": {
                    "type": "number",
                    "description": "plan_id - The ID of the plan to which this device is assigned. Available plan(s) can be found via the Plans API. Valid value: integer."
                  },
                  "site_id": {
                    "type": "number",
                    "description": "site_id - The ID of the site (if any) to which this device is assigned. Site IDs are system generated when a site is created. Valid value: integer."
                  },
                  "minimize_snmp": {
                    "type": "boolean",
                    "description": "minimize_snmp - The interval at which SNMP will be polled. If \"false\" (Standard), interface counter will be polled every 10 minutes and interface description every 30 minutes. If \"true\" (Minimum) (Minimum), interface counter won't be polled and interface description will be polled every 6 hours. minimize_snmp is ignored unless parent type is \"router\"."
                  },
                  "device_snmp_ip": {
                    "type": "string",
                    "description": "device_snmp_ip - The SNMP IP to use when polling the device. device_snmp_ip is ignored unless parent type is \"router\"."
                  },
                  "device_snmp_community": {
                    "type": "string",
                    "description": "device_snmp_community - The SNMP community to use when polling the device. device_snmp_community is ignored unless parent type is \"router\"."
                  },
                  "device_snmp_v3_conf": {
                    "allOf": [
                      {
                        "title": "SNMPv3Authentication1",
                        "type": "object",
                        "properties": {
                          "UserName": {
                            "type": "string",
                            "description": "UserName - the user name to use to authenticate via SNMP v3."
                          },
                          "AuthenticationProtocol": {
                            "allOf": [
                              {
                                "title": "AuthenticationProtocol1",
                                "enum": [
                                  "NoAuth",
                                  "MD5",
                                  "SHA"
                                ],
                                "type": "string",
                                "description": "AuthenticationProtocol - the auth protocol to use via SNMP v3"
                              },
                              {
                                "description": "AuthenticationProtocol - the auth protocol to use via SNMP v3"
                              }
                            ]
                          },
                          "AuthenticationPassphrase": {
                            "type": "string",
                            "description": "AuthenticationPassphrase - the passphrase to use for SNMP v3 authentication protocol (required when AuthenticationProtocol not NoAuth)"
                          },
                          "PrivacyProtocol": {
                            "allOf": [
                              {
                                "title": "PrivacyProtocol1",
                                "enum": [
                                  "NoPriv",
                                  "DES",
                                  "AES"
                                ],
                                "type": "string",
                                "description": "PrivacyProtocol - the privacy protocol to use to authenticate via SNMP v3"
                              },
                              {
                                "description": "PrivacyProtocol - the privacy protocol to use to authenticate via SNMP v3"
                              }
                            ]
                          },
                          "PrivacyPassphrase": {
                            "type": "string",
                            "description": "PrivacyPassphrase - the passphrase to use for SNMP v3 privacy protocol (required when PrivacyProtocol not NoPriv)"
                          }
                        },
                        "description": "device_snmp_v3_conf - Include this configuration to enable SNMP v3 authentication protocols. This supercedes SNMP Community."
                      },
                      {
                        "description": "device_snmp_v3_conf - Include this configuration to enable SNMP v3 authentication protocols. This supercedes SNMP Community."
                      }
                    ]
                  },
                  "device_bgp_type": {
                    "allOf": [
                      {
                        "title": "BGPType",
                        "enum": [
                          "none",
                          "device",
                          "other_device"
                        ],
                        "type": "string",
                        "description": "device_bgp_type - Device bgp type. Valid values: \"none\" (use generic IP/ASN mapping), \"device\" (peer with the device itself), \"other_device\" (share routing table of existing peered device)"
                      },
                      {
                        "description": "device_bgp_type - Device bgp type. Valid values: \"none\" (use generic IP/ASN mapping), \"device\" (peer with the device itself), \"other_device\" (share routing table of existing peered device)"
                      }
                    ]
                  },
                  "device_bgp_neighbor_ip": {
                    "type": "string",
                    "description": "device_bgp_neighbor_ip - A valid IPv4 address to use for peering with the device. device_bgp_neighbor_ip is ignored unless device_bgp_type is set to \"device\"."
                  },
                  "device_bgp_neighbor_ip6": {
                    "type": "string",
                    "description": "device_bgp_neighbor_ip6 - A valid IPv6 address to use for peering with the device. device_bgp_neighbor_ip6 is ignored unless device_bgp_type is set to \"device\"."
                  },
                  "device_bgp_neighbor_asn": {
                    "type": "string",
                    "description": "device_bgp_neighbor_asn - The valid AS number (ASN) of the autonomous system that this device belongs to. device_bgp_neighbor_asn is ignored unless device_bgp_type is set to \"device\"."
                  },
                  "device_bgp_password": {
                    "type": "string",
                    "description": "device_bgp_password - Optional BGP MD5 password (shared authentication password for BGP peering). Valid characters: alphanumeric. Length: 32. device_bgp_password is ignored unless device_bgp_type is set to \"device\"."
                  },
                  "use_bgp_device_id": {
                    "type": "number",
                    "description": "use_bgp_device_id - The ID of the device whose BGP table should be shared with this device. ** use_bgp_device_id is required when device_bgp_type is set to \"other_device\"). Valid value: a system-generated device_id."
                  },
                  "device_bgp_flowspec": {
                    "type": "boolean",
                    "description": "device_bgp_flowspec - Toggle BGP Flowspec Compatibility for device.",
                    "default": false
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateDevice"
      },
      "task": true
    },
    {
      "name": "deleteDevice",
      "summary": "deleteDevice",
      "description": "Deletes a device. * Required fields.",
      "input": [
        {
          "name": "deviceId",
          "type": "number",
          "info": "The id of the device to delete.: 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "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": "/deleteDevice"
      },
      "task": true
    },
    {
      "name": "createDevice",
      "summary": "createDevice",
      "description": "Creates and returns a device object containing information about an individual device (see  About Devices ). * Required fields. ** Conditionally required fields.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"device\": {\"device_name\": \"string\", \"device_subtype\": \"undefined\", \"cdn_attr\": \"undefined\", \"device_description\": \"string\", \"sending_ips\": \"array\", \"device_sample_rate\": 123, \"plan_id\": 123, \"site_id\": 123, \"minimize_snmp\": \"boolean\", \"device_snmp_ip\": \"string\", \"device_snmp_community\": \"string\", \"device_snmp_v3_conf\": \"undefined\", \"device_bgp_type\": \"undefined\", \"device_bgp_neighbor_ip\": \"string\", \"device_bgp_neighbor_ip6\": \"string\", \"device_bgp_neighbor_asn\": \"string\", \"device_bgp_password\": \"string\", \"use_bgp_device_id\": 123, \"device_bgp_flowspec\": \"boolean\"}}",
          "required": true,
          "schema": {
            "title": "createDevice",
            "type": "object",
            "properties": {
              "device": {
                "title": "Device",
                "required": [
                  "device_name",
                  "device_subtype",
                  "plan_id",
                  "device_bgp_type"
                ],
                "type": "object",
                "properties": {
                  "device_name": {
                    "type": "string",
                    "description": "device_name - The name of the device. Valid characters: alphanumeric and underscores. Length: min=4, max=60."
                  },
                  "device_subtype": {
                    "allOf": [
                      {
                        "title": "Devicesubtype",
                        "enum": [
                          "router",
                          "host-nprobe-dns-www",
                          "aws-subnet",
                          "azure_subnet",
                          "cisco_asa",
                          "gcp-subnet",
                          "istio_beta",
                          "open_nms",
                          "paloalto",
                          "silverpeak"
                        ],
                        "type": "string",
                        "description": "device_subtype - The device subtype."
                      },
                      {
                        "description": "device_subtype - The device subtype."
                      }
                    ]
                  },
                  "cdn_attr": {
                    "allOf": [
                      {
                        "title": "ContributeToCDNAttribution",
                        "enum": [
                          "Y",
                          "N"
                        ],
                        "type": "string",
                        "description": "cdn_attr - If this is a DNS server, you can contribute its queries to Kentik's CDN attribution database. Valid values: \"Y\" or \"N\". ** cdn_attr is required when the device subtype's parent type is \"host-nprobe-dns-www\""
                      },
                      {
                        "description": "cdn_attr - If this is a DNS server, you can contribute its queries to Kentik's CDN attribution database. Valid values: \"Y\" or \"N\". ** cdn_attr is required when the device subtype's parent type is \"host-nprobe-dns-www\""
                      }
                    ]
                  },
                  "device_description": {
                    "type": "string",
                    "description": "device_description - The device description. Valid characters: any. Length: max=128."
                  },
                  "sending_ips": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "",
                    "default": []
                  },
                  "device_sample_rate": {
                    "type": "number",
                    "description": "device_sample_rate - The rate at which the device is sampling flows. Valid values: integer bigger than 1. Recommended rate varies depending on flow volume; see https://kb.kentik.com/Ab02.htm#Ab02-Flow_Sampling. ** device_sample_rate is required when the device subtype's parent type is \"router\"."
                  },
                  "plan_id": {
                    "type": "number",
                    "description": "plan_id - The ID of the plan to which this device is assigned. Available plan(s) can be found via the Plans API. Valid value: integer."
                  },
                  "site_id": {
                    "type": "number",
                    "description": "site_id - The ID of the site (if any) to which this device is assigned. Site IDs are system generated when a site is created. Valid value: integer."
                  },
                  "minimize_snmp": {
                    "type": "boolean",
                    "description": "minimize_snmp - The interval at which SNMP will be polled. If \"false\" (Standard), interface counter will be polled every 10 minutes and interface description every 30 minutes. If \"true\" (Minimum) (Minimum), interface counter won't be polled and interface description will be polled every 6 hours. ** minimize_snmp is required when the device subtype's parent type is \"router\".",
                    "default": false
                  },
                  "device_snmp_ip": {
                    "type": "string",
                    "description": "device_snmp_ip - The SNMP IP to use when polling the device. device_snmp_ip is ignored unless the device subtype's parent type is \"router\"."
                  },
                  "device_snmp_community": {
                    "type": "string",
                    "description": "device_snmp_community - The SNMP community to use when polling the device. device_snmp_community is ignored unless the device subtype's parent type is \"router\"."
                  },
                  "device_snmp_v3_conf": {
                    "allOf": [
                      {
                        "title": "SNMPv3Authentication",
                        "required": [
                          "AuthenticationProtocol",
                          "PrivacyProtocol"
                        ],
                        "type": "object",
                        "properties": {
                          "UserName": {
                            "type": "string",
                            "description": "UserName - the user name to use to authenticate via SNMP v3. ** UserName is required when device_snmp_v3_conf is not null"
                          },
                          "AuthenticationProtocol": {
                            "allOf": [
                              {
                                "title": "AuthenticationProtocol",
                                "enum": [
                                  "NoAuth",
                                  "MD5",
                                  "SHA"
                                ],
                                "type": "string",
                                "description": "AuthenticationProtocol - the auth protocol to use via SNMP v3"
                              },
                              {
                                "description": "AuthenticationProtocol - the auth protocol to use via SNMP v3"
                              }
                            ]
                          },
                          "AuthenticationPassphrase": {
                            "type": "string",
                            "description": "AuthenticationPassphrase - the passphrase to use for SNMP v3 authentication protocol (required when AuthenticationProtocol not NoAuth)"
                          },
                          "PrivacyProtocol": {
                            "allOf": [
                              {
                                "title": "PrivacyProtocol",
                                "enum": [
                                  "NoPriv",
                                  "DES",
                                  "AES"
                                ],
                                "type": "string",
                                "description": "PrivacyProtocol - the privacy protocol to use to authenticate via SNMP v3"
                              },
                              {
                                "description": "PrivacyProtocol - the privacy protocol to use to authenticate via SNMP v3"
                              }
                            ]
                          },
                          "PrivacyPassphrase": {
                            "type": "string",
                            "description": "PrivacyPassphrase - the passphrase to use for SNMP v3 privacy protocol (required when PrivacyProtocol not NoPriv)"
                          }
                        },
                        "description": "device_snmp_v3_conf - Include this configuration to enable SNMP v3 authentication protocols. This supercedes SNMP Community."
                      },
                      {
                        "description": "device_snmp_v3_conf - Include this configuration to enable SNMP v3 authentication protocols. This supercedes SNMP Community."
                      }
                    ]
                  },
                  "device_bgp_type": {
                    "allOf": [
                      {
                        "title": "BGP",
                        "enum": [
                          "none",
                          "device",
                          "other_device"
                        ],
                        "type": "string",
                        "description": "device_bgp_type - Device bgp type. Valid values: \"none\" (use generic IP/ASN mapping), \"device\" (peer with the device itself), \"other_device\" (share routing table of existing peered device)"
                      },
                      {
                        "description": "device_bgp_type - Device bgp type. Valid values: \"none\" (use generic IP/ASN mapping), \"device\" (peer with the device itself), \"other_device\" (share routing table of existing peered device)"
                      }
                    ]
                  },
                  "device_bgp_neighbor_ip": {
                    "type": "string",
                    "description": "device_bgp_neighbor_ip - A valid IPv4 address to use for peering with the device. ** An IPv4 and/or IPv6 peering address is required when device_bgp_type is set to \"device\"."
                  },
                  "device_bgp_neighbor_ip6": {
                    "type": "string",
                    "description": "device_bgp_neighbor_ip6 - A valid IPv6 address to use for peering with the device. ** An IPv4 and/or IPv6 peering address is required when device_bgp_type is set to \"device\"."
                  },
                  "device_bgp_neighbor_asn": {
                    "type": "string",
                    "description": "device_bgp_neighbor_asn - The valid AS number (ASN) of the autonomous system that this device belongs to. ** device_bgp_neighbor_asn is required when device_bgp_type is set to \"device\"."
                  },
                  "device_bgp_password": {
                    "type": "string",
                    "description": "device_bgp_password - Optional BGP MD5 password (shared authentication password for BGP peering). Valid characters: alphanumeric. Length: 32. device_bgp_password is optional when device_bgp_type is set to \"device\"."
                  },
                  "use_bgp_device_id": {
                    "type": "number",
                    "description": "use_bgp_device_id - The ID of the device whose BGP table should be shared with this device. ** use_bgp_device_id is required when device_bgp_type is set to \"other_device\"). Valid value: a system-generated device_id."
                  },
                  "device_bgp_flowspec": {
                    "type": "boolean",
                    "description": "device_bgp_flowspec - Toggle BGP Flowspec Compatibility for device.",
                    "default": false
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createDevice"
      },
      "task": true
    },
    {
      "name": "deviceApplyLabels",
      "summary": "deviceApplyLabels",
      "description": "Removes all existing labels from the device and applies the device labels (see  About Device Labels ) specified by id. Returns a reduced version of device object containing an array of the applied labels. * Required fields.",
      "input": [
        {
          "name": "deviceId",
          "type": "number",
          "info": "The id of the device whose labels will be applied.: 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"labels\": [{\"id\": 123}]}",
          "required": true,
          "schema": {
            "title": "deviceApplyLabels",
            "required": [
              "labels"
            ],
            "type": "object",
            "properties": {
              "labels": {
                "type": "array",
                "items": {
                  "title": "Labelid",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "description": "id - Label id to be applied to the device."
                    }
                  }
                },
                "description": ""
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/deviceApplyLabels"
      },
      "task": true
    },
    {
      "name": "findInterfaces",
      "summary": "findInterfaces",
      "description": "Returns an array of interface objects that each contain information about an interface from a specified device. * Required fields.",
      "input": [
        {
          "name": "deviceId",
          "type": "number",
          "info": "The id of the device whose interfaces will be returned.: 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "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": "/findInterfaces"
      },
      "task": true
    },
    {
      "name": "findInterface",
      "summary": "findInterface",
      "description": "Returns a interface object containing information about an individual interface from a given device. * Required fields.",
      "input": [
        {
          "name": "deviceId",
          "type": "number",
          "info": "The id of the device whose interface information will be returned.: 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "type": "number"
          }
        },
        {
          "name": "interfaceId",
          "type": "number",
          "info": "The id of the interface whose information will be returned. This is NOT the same as the interface's SNMP ID.: 123",
          "required": true,
          "schema": {
            "title": "interfaceId",
            "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": "/findInterface"
      },
      "task": true
    },
    {
      "name": "updateInterface",
      "summary": "updateInterface",
      "description": "Updates and returns an interface object containing information about an individual interface from a specified device. * Required fields. *** Alternatively, instead of defining a vrf object, you can add the vrf_id.",
      "input": [
        {
          "name": "deviceId",
          "type": "number",
          "info": "The id of the device whose interface information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "type": "number"
          }
        },
        {
          "name": "interfaceId",
          "type": "number",
          "info": "The id of the interface whose information will be updated. This is NOT the same as the SNMP ID.: 123",
          "required": true,
          "schema": {
            "title": "interfaceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"snmp_id\": 123, \"interface_description\": \"string\", \"snmp_alias\": \"string\", \"interface_ip\": \"string\", \"interface_ip_netmask\": \"string\", \"snmp_speed\": 123, \"secondary_ips\": [{\"address\": \"string\", \"netmask\": \"string\"}], \"vrf\": {\"name\": \"string\", \"description\": \"string\", \"route_target\": \"string\", \"route_distinguisher\": \"string\", \"ext_route_distinguisher\": 123}}",
          "required": true,
          "schema": {
            "title": "updateInterface",
            "required": [
              "snmp_id",
              "snmp_speed"
            ],
            "type": "object",
            "properties": {
              "snmp_id": {
                "type": "number",
                "description": "snmp_id - The SNMP ID of the interface."
              },
              "interface_description": {
                "type": "string",
                "description": "interface_description - The name of the interface."
              },
              "snmp_alias": {
                "type": "string",
                "description": "snmp_alias - The description of the interface."
              },
              "interface_ip": {
                "type": "string",
                "description": "interface_ip - The IP address assigned to the interface."
              },
              "interface_ip_netmask": {
                "type": "string",
                "description": "interface_ip_netmask - Netmask for the interface."
              },
              "snmp_speed": {
                "type": "number",
                "description": "snmp_speed - The capacity of the interface in Mbps."
              },
              "secondary_ips": {
                "type": "array",
                "items": {
                  "title": "SecondaryIP",
                  "type": "object",
                  "properties": {
                    "address": {
                      "type": "string",
                      "description": "address - A secondary IP address for the interface."
                    },
                    "netmask": {
                      "type": "string",
                      "description": "netmask - Netmask for the associated secondary IP."
                    }
                  }
                },
                "description": ""
              },
              "vrf": {
                "title": "VRF",
                "required": [
                  "name",
                  "description",
                  "route_target",
                  "route_distinguisher"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "name - Name of the VRF entry."
                  },
                  "description": {
                    "type": "string",
                    "description": "description - Description of the VRF entry."
                  },
                  "route_target": {
                    "type": "string",
                    "description": "route_target - Route Target Community of the VRF entry."
                  },
                  "route_distinguisher": {
                    "type": "string",
                    "description": "route_distinguisher - Route Distinguisher of the VRF entry."
                  },
                  "ext_route_distinguisher": {
                    "type": "number",
                    "description": "ext_route_distinguisher - External Route Distinguisher of the VRF entry."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateInterface"
      },
      "task": true
    },
    {
      "name": "deleteInterface",
      "summary": "deleteInterface",
      "description": "Deletes an interface from a given device. * Required fields.",
      "input": [
        {
          "name": "deviceId",
          "type": "number",
          "info": "The id of the device from which to delete the specified interface.: 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "type": "number"
          }
        },
        {
          "name": "interfaceId",
          "type": "number",
          "info": "The id of the interface to delete from the specified device.: 123",
          "required": true,
          "schema": {
            "title": "interfaceId",
            "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": "/deleteInterface"
      },
      "task": true
    },
    {
      "name": "createInterface",
      "summary": "createInterface",
      "description": "Creates and returns an interface object containing information about an individual interface for a given device. * Required fields. *** Alternatively, instead of defining a vrf object, you can add the vrf_id.",
      "input": [
        {
          "name": "deviceId",
          "type": "number",
          "info": "The id of the device to which you want to add an interface.: 123",
          "required": true,
          "schema": {
            "title": "deviceId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"snmp_id\": \"string\", \"interface_description\": \"string\", \"snmp_alias\": \"string\", \"interface_ip\": \"string\", \"interface_ip_netmask\": \"string\", \"snmp_speed\": 123, \"secondary_ips\": [{\"address\": \"string\", \"netmask\": \"string\"}], \"vrf\": {\"name\": \"string\", \"description\": \"string\", \"route_target\": \"string\", \"route_distinguisher\": \"string\", \"ext_route_distinguisher\": 123}}",
          "required": true,
          "schema": {
            "title": "createInterface",
            "required": [
              "snmp_id",
              "interface_description",
              "snmp_speed"
            ],
            "type": "object",
            "properties": {
              "snmp_id": {
                "type": "string",
                "description": "snmp_id - The SNMP ID of the interface."
              },
              "interface_description": {
                "type": "string",
                "description": "interface_description - The name of the interface."
              },
              "snmp_alias": {
                "type": "string",
                "description": "snmp_alias - The description of the interface."
              },
              "interface_ip": {
                "type": "string",
                "description": "interface_ip - The IP address assigned to the interface."
              },
              "interface_ip_netmask": {
                "type": "string",
                "description": "interface_ip_netmask - Netmask for the interface."
              },
              "snmp_speed": {
                "type": "number",
                "description": "snmp_speed - The capacity of the interface in Mbps."
              },
              "secondary_ips": {
                "type": "array",
                "items": {
                  "title": "SecondaryIP",
                  "type": "object",
                  "properties": {
                    "address": {
                      "type": "string",
                      "description": "address - A secondary IP address for the interface."
                    },
                    "netmask": {
                      "type": "string",
                      "description": "netmask - Netmask for the associated secondary IP."
                    }
                  }
                },
                "description": ""
              },
              "vrf": {
                "title": "VRF",
                "required": [
                  "name",
                  "description",
                  "route_target",
                  "route_distinguisher"
                ],
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "name - Name of the VRF entry."
                  },
                  "description": {
                    "type": "string",
                    "description": "description - Description of the VRF entry."
                  },
                  "route_target": {
                    "type": "string",
                    "description": "route_target - Route Target Community of the VRF entry."
                  },
                  "route_distinguisher": {
                    "type": "string",
                    "description": "route_distinguisher - Route Distinguisher of the VRF entry."
                  },
                  "ext_route_distinguisher": {
                    "type": "number",
                    "description": "ext_route_distinguisher - External Route Distinguisher of the VRF entry."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createInterface"
      },
      "task": true
    },
    {
      "name": "findDeviceLabels",
      "summary": "findDeviceLabels",
      "description": "Returns an array of device label objects that each contain information about an individual device label (see  Device Labels ). * Required fields.",
      "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": "/findDeviceLabels"
      },
      "task": true
    },
    {
      "name": "createDeviceLabel",
      "summary": "createDeviceLabel",
      "description": "Creates and returns a device label object containing information about an individual device label (see  Device Labels ). * Required fields. ** Conditionally required fields.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"color\": \"string\"}",
          "required": true,
          "schema": {
            "title": "createDeviceLabel",
            "required": [
              "name",
              "color"
            ],
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "name - The name of the device label."
              },
              "color": {
                "type": "string",
                "description": "color - The color of device label."
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createDeviceLabel"
      },
      "task": true
    },
    {
      "name": "findDeviceLabel",
      "summary": "findDeviceLabel",
      "description": "Returns a device label object containing information about an individual device label (see  Device Labels ). * Required fields.",
      "input": [
        {
          "name": "deviceLabelId",
          "type": "number",
          "info": "The id of the device label whose information will be returned.: 123",
          "required": true,
          "schema": {
            "title": "deviceLabelId",
            "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": "/findDeviceLabel"
      },
      "task": true
    },
    {
      "name": "updateDeviceLabel",
      "summary": "updateDeviceLabel",
      "description": "Updates and returns a device label object containing information about an individual device label (see  Device Labels ). * Required fields.",
      "input": [
        {
          "name": "deviceLabelId",
          "type": "number",
          "info": "The id of the device label whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "deviceLabelId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"color\": \"string\"}",
          "required": true,
          "schema": {
            "title": "updateDeviceLabel",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "name - The name of the device label."
              },
              "color": {
                "type": "string",
                "description": "color - The color of device label."
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateDeviceLabel"
      },
      "task": true
    },
    {
      "name": "deleteDeviceLabel",
      "summary": "deleteDeviceLabel",
      "description": "Deletes a device label. * Required fields.",
      "input": [
        {
          "name": "deviceLabelId",
          "type": "number",
          "info": "The id of the device label to delete.: 123",
          "required": true,
          "schema": {
            "title": "deviceLabelId",
            "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": "/deleteDeviceLabel"
      },
      "task": true
    },
    {
      "name": "findPlans",
      "summary": "findPlans",
      "description": "Returns an array of plan objects, each of which contains information about an individual plan.",
      "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": "/findPlans"
      },
      "task": true
    },
    {
      "name": "findSites",
      "summary": "findSites",
      "description": "Returns an array of site objects, each of which contains information about an individual site (see  About Sites ). * Required fields.",
      "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": "/findSites"
      },
      "task": true
    },
    {
      "name": "findSite",
      "summary": "findSite",
      "description": "Returns a site object containing information about an individual site (see  About Sites ). * Required fields.",
      "input": [
        {
          "name": "siteId",
          "type": "number",
          "info": "The ID of the site whose information will be returned.: 123",
          "required": true,
          "schema": {
            "title": "siteId",
            "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": "/findSite"
      },
      "task": true
    },
    {
      "name": "updateSite",
      "summary": "updateSite",
      "description": "Updates and returns a site object containing information about an individual site (see  About Sites ). * Required fields.",
      "input": [
        {
          "name": "siteId",
          "type": "number",
          "info": "The id of the site whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "siteId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"site\": {\"site_name\": \"string\", \"lat\": 123, \"lon\": 123}}",
          "required": true,
          "schema": {
            "title": "updateSite",
            "type": "object",
            "properties": {
              "site": {
                "title": "Site1",
                "type": "object",
                "properties": {
                  "site_name": {
                    "type": "string",
                    "description": "site_name - The name of the site. Valid characters: alphanumeric, spaces and underscores. Length: min=3, max=40."
                  },
                  "lat": {
                    "type": "number",
                    "description": "lat - The latitude of the site. Valid values: min=-90, max=90."
                  },
                  "lon": {
                    "type": "number",
                    "description": "lon - The  longitude of the site. Valid values: min=-180, max=180."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateSite"
      },
      "task": true
    },
    {
      "name": "deleteSite",
      "summary": "deleteSite",
      "description": "Deletes a site. * Required fields.",
      "input": [
        {
          "name": "siteId",
          "type": "number",
          "info": "The id of the site to delete.: 123",
          "required": true,
          "schema": {
            "title": "siteId",
            "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": "/deleteSite"
      },
      "task": true
    },
    {
      "name": "createSite",
      "summary": "createSite",
      "description": "Creates and returns a site object containing information about an individual site (see  About Sites ). * Required fields.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"site\": {\"site_name\": \"string\", \"lat\": 123, \"lon\": 123}}",
          "required": true,
          "schema": {
            "title": "createSite",
            "type": "object",
            "properties": {
              "site": {
                "title": "Site",
                "required": [
                  "site_name"
                ],
                "type": "object",
                "properties": {
                  "site_name": {
                    "type": "string",
                    "description": "site_name - The name of the site. Valid characters: alphanumeric, spaces and underscores. Length: min=3, max=40."
                  },
                  "lat": {
                    "type": "number",
                    "description": "lat - The latitude of the site. Valid values: min=-90, max=90."
                  },
                  "lon": {
                    "type": "number",
                    "description": "lon - The  longitude of the site. Valid values: min=-180, max=180."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createSite"
      },
      "task": true
    },
    {
      "name": "findTags",
      "summary": "findTags",
      "description": "Returns an array of tag objects that each contain information about an individual tag (see  About Tags ).",
      "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": "/findTags"
      },
      "task": true
    },
    {
      "name": "findTag",
      "summary": "findTag",
      "description": "Returns a tag object containing information about an individual tag (see  About Tags ). * Required fields.",
      "input": [
        {
          "name": "tagId",
          "type": "number",
          "info": "The id of the tag whose information will be returned.: 123",
          "required": true,
          "schema": {
            "title": "tagId",
            "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": "/findTag"
      },
      "task": true
    },
    {
      "name": "updateTag",
      "summary": "updateTag",
      "description": "Updates and returns a tag object containing information about an individual tag (see  About Tags ). * Required fields.",
      "input": [
        {
          "name": "tagId",
          "type": "number",
          "info": "The id of the tag whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "tagId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"tag\": {\"flow_tag\": \"string\", \"device_name\": \"string\", \"device_type\": \"string\", \"site\": \"string\", \"interface_name\": \"string\", \"addr\": \"string\", \"port\": \"string\", \"tcp_flags\": \"string\", \"protocol\": \"string\", \"asn\": \"string\", \"lasthop_as_name\": \"string\", \"nexthop_asn\": \"string\", \"nexthop_as_name\": \"string\", \"nexthop\": \"string\", \"bgp_aspath\": \"string\", \"bgp_community\": \"string\", \"mac\": \"string\", \"country\": \"string\", \"vlans\": \"string\"}}",
          "required": true,
          "schema": {
            "title": "updateTag",
            "type": "object",
            "properties": {
              "tag": {
                "title": "Tag",
                "required": [
                  "flow_tag"
                ],
                "type": "object",
                "properties": {
                  "flow_tag": {
                    "type": "string",
                    "description": "flow_tag - A name for the tag. When a match for any of the other tag parameters is found in the flow from a given device, this string will be added to the src_flow_tags and/or dst_flow_tags column in that device's KDE main table."
                  },
                  "device_name": {
                    "type": "string",
                    "description": "device_name - A comma-separated list of device names, IPs, or regular expressions. A match results when any specified device name matches the device name or IP address associated with a device sending flow data."
                  },
                  "device_type": {
                    "type": "string",
                    "description": "device_type - A comma-separated list of device types or regular expressions. A match results when any specified device type matches the device_type associated with a device sending flow data."
                  },
                  "site": {
                    "type": "string",
                    "description": "site - A comma-separated list of sites or regular expressions. A match results when any specified site matches the site associated with a device sending flow data."
                  },
                  "interface_name": {
                    "type": "string",
                    "description": "interface_name - A comma-separated list of interface names or regular expressions. A match results when any specified interface name matches the name or description of an interface sending flow data."
                  },
                  "addr": {
                    "type": "string",
                    "description": "addr - A comma-separated list of IP addresses in IP/CIDR format. A match results when any specified IP address corresponds to a range of IP addresses in incoming flow. It allows IPv6 CIDRs. 'short form' (e.g. 1::2/127) is allowed.  If no CIDRs are specified in a tag, the tag will be matched against both incoming IPv4 and v6 flows. If CIDRs are given, the tag will only be matched against the given type of flow; in particular, if you only give IPv4 CIDRs, the tag will not match any IPv6 flows, and vice versa."
                  },
                  "port": {
                    "type": "string",
                    "description": "port - A comma-separated list of number of ports (between 0 and 65535). A match results when any specified port matches a port number in incoming flow."
                  },
                  "tcp_flags": {
                    "type": "string",
                    "description": "tcp_flags - An integer number between 0 and 255 representing an 8-bit binary bit pattern corresponding to TCP flags. A match will result if the value in both the flow bit pattern and the bitmask is 1 at any of the eight places."
                  },
                  "protocol": {
                    "type": "string",
                    "description": "protocol - A comma-separated list of protocol numbers (between 0 and 255). A match results when any specified protocol number is the same as the protocol of the traffic represented by the flow."
                  },
                  "asn": {
                    "type": "string",
                    "description": "asn - A comma-separated list of ASNs (between 1 and 2^32-1=4294967295). A match results when any specified ASN is the same as the last ASN in the path in the routing table for either the source (SRC IP) or destination (DST IP)."
                  },
                  "lasthop_as_name": {
                    "type": "string",
                    "description": "lasthop_as_name - A comma-separated list of AS Names or regular expressions. A match results when any specified AS Name represents the name corresponding to the last ASN in the path in the routing table for either the source (SRC IP) or destination (DST IP)."
                  },
                  "nexthop_asn": {
                    "type": "string",
                    "description": "nexthop_asn - A comma-separated list of ASNs (between 1 and 2^32-1=4294967295). A match results when any specified ASN is the same as the ASN of the next hop router based on AS path."
                  },
                  "nexthop_as_name": {
                    "type": "string",
                    "description": "nexthop_as_name - A comma-separated list of AS Names or regular expressions. A match results when any specified ASN represents the name corresponding to the ASN of the next hop router based on AS path."
                  },
                  "nexthop": {
                    "type": "string",
                    "description": "nexthop - A comma-separated list of IPv4 and/or IPv6 CIDRs. A match results when any specified IP is within a range of specified IPv4 and/or IPv6 CIDRs."
                  },
                  "bgp_aspath": {
                    "type": "string",
                    "description": "bgp_aspath - A comma-separated list of numbers representing bgp aspath. A match results when any specified value is the same as the BGP AS-PATH in the route. Example: \"^3737 1212,_7801_,2906$\" would look for any of those 3 combinations in the AS path. Permitted characters []*:_^$.0123456789()+?,space-"
                  },
                  "bgp_community": {
                    "type": "string",
                    "description": "bgp_community - A comma-separated list of numbers or regular expression representing BGP community (i.e. 2096:2212). A match results when any specified value is the same as the BGP community of the BGP route associated with incoming flow data. Permitted characters []*:_^$.0123456789()+?,space-"
                  },
                  "mac": {
                    "type": "string",
                    "description": "mac - A comma-separated list of MAC Addresses. A match results when any specified MAC Address matches source or destination Ethernet (L2) address."
                  },
                  "country": {
                    "type": "string",
                    "description": "country - A comma-separated list of two-character country codes. A match results when any specified country code matches source or destination country of the flow."
                  },
                  "vlans": {
                    "type": "string",
                    "description": "vlans - A comma delimited list of integers or ranges of integers between 0 and 4095."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateTag"
      },
      "task": true
    },
    {
      "name": "deleteTag",
      "summary": "deleteTag",
      "description": "Deletes a tag. * Required fields.",
      "input": [
        {
          "name": "tagId",
          "type": "number",
          "info": "The id of the tag to delete.: 123",
          "required": true,
          "schema": {
            "title": "tagId",
            "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": "/deleteTag"
      },
      "task": true
    },
    {
      "name": "createTag",
      "summary": "createTag",
      "description": "Creates and returns a tag object containing information about an individual tag (see  About Tags ). * Required fields.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"tag\": {\"flow_tag\": \"string\", \"device_name\": \"string\", \"device_type\": \"string\", \"site\": \"string\", \"interface_name\": \"string\", \"addr\": \"string\", \"port\": \"string\", \"tcp_flags\": \"string\", \"protocol\": \"string\", \"asn\": \"string\", \"lasthop_as_name\": \"string\", \"nexthop_asn\": \"string\", \"nexthop_as_name\": \"string\", \"nexthop\": \"string\", \"bgp_aspath\": \"string\", \"bgp_community\": \"string\", \"mac\": \"string\", \"country\": \"string\", \"vlans\": \"string\"}}",
          "required": true,
          "schema": {
            "title": "createTag",
            "type": "object",
            "properties": {
              "tag": {
                "title": "Tag",
                "required": [
                  "flow_tag"
                ],
                "type": "object",
                "properties": {
                  "flow_tag": {
                    "type": "string",
                    "description": "flow_tag - A name for the tag. When a match for any of the other tag parameters is found in the flow from a given device, this string will be added to the src_flow_tags and/or dst_flow_tags column in that device's KDE main table."
                  },
                  "device_name": {
                    "type": "string",
                    "description": "device_name - A comma-separated list of device names, IPs, or regular expressions. A match results when any specified device name matches the device name or IP address associated with a device sending flow data."
                  },
                  "device_type": {
                    "type": "string",
                    "description": "device_type - A comma-separated list of device types or regular expressions. A match results when any specified device type matches the device_type associated with a device sending flow data."
                  },
                  "site": {
                    "type": "string",
                    "description": "site - A comma-separated list of sites or regular expressions. A match results when any specified site matches the site associated with a device sending flow data."
                  },
                  "interface_name": {
                    "type": "string",
                    "description": "interface_name - A comma-separated list of interface names or regular expressions. A match results when any specified interface name matches the name or description of an interface sending flow data."
                  },
                  "addr": {
                    "type": "string",
                    "description": "addr - A comma-separated list of IP addresses in IP/CIDR format. A match results when any specified IP address corresponds to a range of IP addresses in incoming flow. It allows IPv6 CIDRs. 'short form' (e.g. 1::2/127) is allowed.  If no CIDRs are specified in a tag, the tag will be matched against both incoming IPv4 and v6 flows. If CIDRs are given, the tag will only be matched against the given type of flow; in particular, if you only give IPv4 CIDRs, the tag will not match any IPv6 flows, and vice versa."
                  },
                  "port": {
                    "type": "string",
                    "description": "port - A comma-separated list of number of ports (between 0 and 65535). A match results when any specified port matches a port number in incoming flow."
                  },
                  "tcp_flags": {
                    "type": "string",
                    "description": "tcp_flags - An integer number between 0 and 255 representing an 8-bit binary bit pattern corresponding to TCP flags. A match will result if the value in both the flow bit pattern and the bitmask is 1 at any of the eight places."
                  },
                  "protocol": {
                    "type": "string",
                    "description": "protocol - A comma-separated list of protocol numbers (between 0 and 255). A match results when any specified protocol number is the same as the protocol of the traffic represented by the flow."
                  },
                  "asn": {
                    "type": "string",
                    "description": "asn - A comma-separated list of ASNs (between 1 and 2^32-1=4294967295). A match results when any specified ASN is the same as the last ASN in the path in the routing table for either the source (SRC IP) or destination (DST IP)."
                  },
                  "lasthop_as_name": {
                    "type": "string",
                    "description": "lasthop_as_name - A comma-separated list of AS Names or regular expressions. A match results when any specified AS Name represents the name corresponding to the last ASN in the path in the routing table for either the source (SRC IP) or destination (DST IP)."
                  },
                  "nexthop_asn": {
                    "type": "string",
                    "description": "nexthop_asn - A comma-separated list of ASNs (between 1 and 2^32-1=4294967295). A match results when any specified ASN is the same as the ASN of the next hop router based on AS path."
                  },
                  "nexthop_as_name": {
                    "type": "string",
                    "description": "nexthop_as_name - A comma-separated list of AS Names or regular expressions. A match results when any specified ASN represents the name corresponding to the ASN of the next hop router based on AS path."
                  },
                  "nexthop": {
                    "type": "string",
                    "description": "nexthop - A comma-separated list of IPv4 and/or IPv6 CIDRs. A match results when any specified IP is within a range of specified IPv4 and/or IPv6 CIDRs."
                  },
                  "bgp_aspath": {
                    "type": "string",
                    "description": "bgp_aspath - A comma-separated list of numbers representing bgp aspath. A match results when any specified value is the same as the BGP AS-PATH in the route. Example: \"^3737 1212,_7801_,2906$\" would look for any of those 3 combinations in the AS path. Permitted characters []*:_^$.0123456789()+?,space-"
                  },
                  "bgp_community": {
                    "type": "string",
                    "description": "bgp_community - A comma-separated list of numbers or regular expression representing BGP community (i.e. 2096:2212). A match results when any specified value is the same as the BGP community of the BGP route associated with incoming flow data. Permitted characters []*:_^$.0123456789()+?,space-"
                  },
                  "mac": {
                    "type": "string",
                    "description": "mac - A comma-separated list of MAC Addresses. A match results when any specified MAC Address matches source or destination Ethernet (L2) address."
                  },
                  "country": {
                    "type": "string",
                    "description": "country - A comma-separated list of two-character country codes. A match results when any specified country code matches source or destination country of the flow."
                  },
                  "vlans": {
                    "type": "string",
                    "description": "vlans - A comma delimited list of integers or ranges of integers between 0 and 4095."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createTag"
      },
      "task": true
    },
    {
      "name": "findCustomDimensions",
      "summary": "findCustomDimensions",
      "description": "Returns an array of custom dimension objects that each contain information about an individual custom dimension (see  About Custom Dimensions ).",
      "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": "/findCustomDimensions"
      },
      "task": true
    },
    {
      "name": "findCustomDimension",
      "summary": "findCustomDimension",
      "description": "Returns a custom dimension object containing information about an individual custom dimension (see  About Custom Dimensions ). * Required fields.",
      "input": [
        {
          "name": "dimensionId",
          "type": "number",
          "info": "The id of the custom dimension whose information will be returned.: 123",
          "required": true,
          "schema": {
            "title": "dimensionId",
            "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": "/findCustomDimension"
      },
      "task": true
    },
    {
      "name": "updateCustomDimension",
      "summary": "updateCustomDimension",
      "description": "Updates and returns a custom dimension object containing information about an individual custom dimension (see  About Custom Dimensions ). * Required fields. Populators are not sent back in the response body. To get them use \"Custom Dimension info\" section instead.",
      "input": [
        {
          "name": "dimensionId",
          "type": "number",
          "info": "The id of the custom dimension whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "dimensionId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"display_name\": \"string\"}",
          "required": true,
          "schema": {
            "title": "updateCustomDimension",
            "type": "object",
            "properties": {
              "display_name": {
                "type": "string",
                "description": "display_name - The name to be displayed of the custom dimension. Valid characters: alphanumeric spaces, dashes and underscores. Length: min=2, max=30."
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateCustomDimension"
      },
      "task": true
    },
    {
      "name": "deleteCustomDimension",
      "summary": "deleteCustomDimension",
      "description": "Deletes a custom dimension. * Required fields.",
      "input": [
        {
          "name": "dimensionId",
          "type": "number",
          "info": "The id of the custom dimension to delete.: 123",
          "required": true,
          "schema": {
            "title": "dimensionId",
            "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": "/deleteCustomDimension"
      },
      "task": true
    },
    {
      "name": "createCustomDimension",
      "summary": "createCustomDimension",
      "description": "Creates and returns a custom dimension object containing information about an individual custom dimension (see  About Custom Dimensions ). * Required fields.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"type\": \"undefined\", \"display_name\": \"string\"}",
          "required": true,
          "schema": {
            "title": "createCustomDimension",
            "required": [
              "name",
              "type",
              "display_name"
            ],
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "name - The name of the custom dimension. Must start with \"c_\". Valid characters: alphanumeric dashes and underscores. Length: min=1, max=20."
              },
              "type": {
                "allOf": [
                  {
                    "title": "Type",
                    "enum": [
                      "string",
                      "uint32"
                    ],
                    "type": "string",
                    "description": "type - The type of the custom dimension. Valid values: \"string\" or \"uint32\"."
                  },
                  {
                    "description": "type - The type of the custom dimension. Valid values: \"string\" or \"uint32\"."
                  }
                ]
              },
              "display_name": {
                "type": "string",
                "description": "display_name - The name to be displayed of the custom dimension. Valid characters: alphanumeric spaces, dashes and underscores. Length: min=2, max=30."
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createCustomDimension"
      },
      "task": true
    },
    {
      "name": "createPopulator",
      "summary": "createPopulator",
      "description": "Creates and returns a populator object containing information about an individual populator (see  About Populators ). * Required fields.",
      "input": [
        {
          "name": "dimensionId",
          "type": "number",
          "info": "The id of the custom dimension that contains the populator.: 123",
          "required": true,
          "schema": {
            "title": "dimensionId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"populator\": {\"value\": \"string\", \"direction\": \"undefined\", \"device_name\": \"string\", \"device_type\": \"string\", \"site\": \"string\", \"interface_name\": \"string\", \"addr\": \"string\", \"port\": \"string\", \"tcp_flags\": \"string\", \"protocol\": \"string\", \"asn\": \"string\", \"lasthop_as_name\": \"string\", \"nexthop_asn\": \"string\", \"nexthop_as_name\": \"string\", \"nexthop\": \"string\", \"bgp_aspath\": \"string\", \"bgp_community\": \"string\", \"mac\": \"string\", \"country\": \"string\", \"vlans\": \"string\"}}",
          "required": true,
          "schema": {
            "title": "createPopulator",
            "type": "object",
            "properties": {
              "populator": {
                "title": "Populator",
                "required": [
                  "value",
                  "direction"
                ],
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "description": "value - The value of the dimension. When the custom dimension's type is \"string\" - Valid characters: alphanumeric, spaces, dashes and underscores. Length: min=1, max=128.  When the custom dimension's type is \"uint32\" -  Valid values: min=0, max=4294967295."
                  },
                  "direction": {
                    "allOf": [
                      {
                        "title": "Direction",
                        "enum": [
                          "src",
                          "dst",
                          "either"
                        ],
                        "type": "string",
                        "description": "direction - The direction of the populator. Valid values: \"src\", \"dst\", or \"either\"."
                      },
                      {
                        "description": "direction - The direction of the populator. Valid values: \"src\", \"dst\", or \"either\"."
                      }
                    ]
                  },
                  "device_name": {
                    "type": "string",
                    "description": "device_name - A comma-separated list of device names, IPs, or regular expressions. A match results when any specified device name matches the device name or IP address associated with a device sending flow data."
                  },
                  "device_type": {
                    "type": "string",
                    "description": "device_type - A comma-separated list of device types or regular expressions. A match results when any specified device type matches the device_type associated with a device sending flow data."
                  },
                  "site": {
                    "type": "string",
                    "description": "site - A comma-separated list of sites or regular expressions. A match results when any specified site matches the site associated with a device sending flow data."
                  },
                  "interface_name": {
                    "type": "string",
                    "description": "interface_name - A comma-separated list of interface names or regular expressions. A match results when any specified interface name matches the name or description of an interface sending flow data."
                  },
                  "addr": {
                    "type": "string",
                    "description": "addr - A comma-separated list of IP addresses in IP/CIDR format. A match results when any specified IP address corresponds to a range of IP addresses in incoming flow. It allows IPv6 CIDRs. 'short form' (e.g. 1::2/127) is allowed.  If no CIDRs are specified in a tag, the tag will be matched against both incoming IPv4 and v6 flows. If CIDRs are given, the tag will only be matched against the given type of flow; in particular, if you only give IPv4 CIDRs, the tag will not match any IPv6 flows, and vice versa."
                  },
                  "port": {
                    "type": "string",
                    "description": "port - A comma-separated list of number of ports (between 0 and 65535). A match results when any specified port matches a port number in incoming flow."
                  },
                  "tcp_flags": {
                    "type": "string",
                    "description": "tcp_flags - An integer number between 0 and 255 representing an 8-bit binary bit pattern corresponding to TCP flags. A match will result if the value in both the flow bit pattern and the bitmask is 1 at any of the eight places."
                  },
                  "protocol": {
                    "type": "string",
                    "description": "protocol - A comma-separated list of protocol numbers (between 0 and 255). A match results when any specified protocol number is the same as the protocol of the traffic represented by the flow."
                  },
                  "asn": {
                    "type": "string",
                    "description": "asn - A comma-separated list of ASNs (between 1 and 2^32-1=4294967295). A match results when any specified ASN is the same as the last ASN in the path in the routing table for either the source (SRC IP) or destination (DST IP)."
                  },
                  "lasthop_as_name": {
                    "type": "string",
                    "description": "lasthop_as_name - A comma-separated list of AS Names or regular expressions. A match results when any specified AS Name represents the name corresponding to the last ASN in the path in the routing table for either the source (SRC IP) or destination (DST IP)."
                  },
                  "nexthop_asn": {
                    "type": "string",
                    "description": "nexthop_asn - A comma-separated list of ASNs (between 1 and 2^32-1=4294967295). A match results when any specified ASN is the same as the ASN of the next hop router based on AS path."
                  },
                  "nexthop_as_name": {
                    "type": "string",
                    "description": "nexthop_as_name - A comma-separated list of AS Names or regular expressions. A match results when any specified ASN represents the name corresponding to the ASN of the next hop router based on AS path."
                  },
                  "nexthop": {
                    "type": "string",
                    "description": "nexthop - A comma-separated list of IPv4 and/or IPv6 CIDRs. A match results when any specified IP is within a range of specified IPv4 and/or IPv6 CIDRs."
                  },
                  "bgp_aspath": {
                    "type": "string",
                    "description": "bgp_aspath - A comma-separated list of numbers representing bgp aspath. A match results when any specified value is the same as the BGP AS-PATH in the route. Example: \"^3737 1212,_7801_,2906$\" would look for any of those 3 combinations in the AS path. Permitted characters []*:_^$.0123456789()+?,space-"
                  },
                  "bgp_community": {
                    "type": "string",
                    "description": "bgp_community - A comma-separated list of numbers or regular expression representing BGP community (i.e. 2096:2212). A match results when any specified value is the same as the BGP community of the BGP route associated with incoming flow data. Permitted characters []*:_^$.0123456789()+?,space-"
                  },
                  "mac": {
                    "type": "string",
                    "description": "mac - A comma-separated list of MAC Addresses. A match results when any specified MAC Address matches source or destination Ethernet (L2) address."
                  },
                  "country": {
                    "type": "string",
                    "description": "country - A comma-separated list of two-character country codes. A match results when any specified country code matches source or destination country of the flow."
                  },
                  "vlans": {
                    "type": "string",
                    "description": "vlans - A comma delimited list of integers or ranges of integers between 0 and 4095."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createPopulator"
      },
      "task": true
    },
    {
      "name": "updatePopulator",
      "summary": "updatePopulator",
      "description": "Updates and returns a populator object containing information about an individual populator (see  About Populators ). * Required fields.",
      "input": [
        {
          "name": "populatorId",
          "type": "number",
          "info": "The id of the populator whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "populatorId",
            "type": "number"
          }
        },
        {
          "name": "dimensionId",
          "type": "number",
          "info": "The id of the custom dimension that contains the populator.: 123",
          "required": true,
          "schema": {
            "title": "dimensionId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"populator\": {\"value\": \"string\", \"direction\": \"undefined\", \"device_name\": \"string\", \"device_type\": \"string\", \"site\": \"string\", \"interface_name\": \"string\", \"addr\": \"string\", \"port\": \"string\", \"tcp_flags\": \"string\", \"protocol\": \"string\", \"asn\": \"string\", \"lasthop_as_name\": \"string\", \"nexthop_asn\": \"string\", \"nexthop_as_name\": \"string\", \"nexthop\": \"string\", \"bgp_aspath\": \"string\", \"bgp_community\": \"string\", \"mac\": \"string\", \"country\": \"string\", \"vlans\": \"string\"}}",
          "required": true,
          "schema": {
            "title": "updatePopulator",
            "type": "object",
            "properties": {
              "populator": {
                "title": "Populator",
                "required": [
                  "value",
                  "direction"
                ],
                "type": "object",
                "properties": {
                  "value": {
                    "type": "string",
                    "description": "value - The value of the dimension. When the custom dimension's type is \"string\" - Valid characters: alphanumeric, spaces, dashes and underscores. Length: min=1, max=128.  When the custom dimension's type is \"uint32\" -  Valid values: min=0, max=4294967295."
                  },
                  "direction": {
                    "allOf": [
                      {
                        "title": "Direction",
                        "enum": [
                          "src",
                          "dst",
                          "either"
                        ],
                        "type": "string",
                        "description": "direction - The direction of the populator. Valid values: \"src\", \"dst\", or \"either\"."
                      },
                      {
                        "description": "direction - The direction of the populator. Valid values: \"src\", \"dst\", or \"either\"."
                      }
                    ]
                  },
                  "device_name": {
                    "type": "string",
                    "description": "device_name - A comma-separated list of device names, IPs, or regular expressions. A match results when any specified device name matches the device name or IP address associated with a device sending flow data."
                  },
                  "device_type": {
                    "type": "string",
                    "description": "device_type - A comma-separated list of device types or regular expressions. A match results when any specified device type matches the device_type associated with a device sending flow data."
                  },
                  "site": {
                    "type": "string",
                    "description": "site - A comma-separated list of sites or regular expressions. A match results when any specified site matches the site associated with a device sending flow data."
                  },
                  "interface_name": {
                    "type": "string",
                    "description": "interface_name - A comma-separated list of interface names or regular expressions. A match results when any specified interface name matches the name or description of an interface sending flow data."
                  },
                  "addr": {
                    "type": "string",
                    "description": "addr - A comma-separated list of IP addresses in IP/CIDR format. A match results when any specified IP address corresponds to a range of IP addresses in incoming flow. It allows IPv6 CIDRs. 'short form' (e.g. 1::2/127) is allowed.  If no CIDRs are specified in a tag, the tag will be matched against both incoming IPv4 and v6 flows. If CIDRs are given, the tag will only be matched against the given type of flow; in particular, if you only give IPv4 CIDRs, the tag will not match any IPv6 flows, and vice versa."
                  },
                  "port": {
                    "type": "string",
                    "description": "port - A comma-separated list of number of ports (between 0 and 65535). A match results when any specified port matches a port number in incoming flow."
                  },
                  "tcp_flags": {
                    "type": "string",
                    "description": "tcp_flags - An integer number between 0 and 255 representing an 8-bit binary bit pattern corresponding to TCP flags. A match will result if the value in both the flow bit pattern and the bitmask is 1 at any of the eight places."
                  },
                  "protocol": {
                    "type": "string",
                    "description": "protocol - A comma-separated list of protocol numbers (between 0 and 255). A match results when any specified protocol number is the same as the protocol of the traffic represented by the flow."
                  },
                  "asn": {
                    "type": "string",
                    "description": "asn - A comma-separated list of ASNs (between 1 and 2^32-1=4294967295). A match results when any specified ASN is the same as the last ASN in the path in the routing table for either the source (SRC IP) or destination (DST IP)."
                  },
                  "lasthop_as_name": {
                    "type": "string",
                    "description": "lasthop_as_name - A comma-separated list of AS Names or regular expressions. A match results when any specified AS Name represents the name corresponding to the last ASN in the path in the routing table for either the source (SRC IP) or destination (DST IP)."
                  },
                  "nexthop_asn": {
                    "type": "string",
                    "description": "nexthop_asn - A comma-separated list of ASNs (between 1 and 2^32-1=4294967295). A match results when any specified ASN is the same as the ASN of the next hop router based on AS path."
                  },
                  "nexthop_as_name": {
                    "type": "string",
                    "description": "nexthop_as_name - A comma-separated list of AS Names or regular expressions. A match results when any specified ASN represents the name corresponding to the ASN of the next hop router based on AS path."
                  },
                  "nexthop": {
                    "type": "string",
                    "description": "nexthop - A comma-separated list of IPv4 and/or IPv6 CIDRs. A match results when any specified IP is within a range of specified IPv4 and/or IPv6 CIDRs."
                  },
                  "bgp_aspath": {
                    "type": "string",
                    "description": "bgp_aspath - A comma-separated list of numbers representing bgp aspath. A match results when any specified value is the same as the BGP AS-PATH in the route. Example: \"^3737 1212,_7801_,2906$\" would look for any of those 3 combinations in the AS path. Permitted characters []*:_^$.0123456789()+?,space-"
                  },
                  "bgp_community": {
                    "type": "string",
                    "description": "bgp_community - A comma-separated list of numbers or regular expression representing BGP community (i.e. 2096:2212). A match results when any specified value is the same as the BGP community of the BGP route associated with incoming flow data. Permitted characters []*:_^$.0123456789()+?,space-"
                  },
                  "mac": {
                    "type": "string",
                    "description": "mac - A comma-separated list of MAC Addresses. A match results when any specified MAC Address matches source or destination Ethernet (L2) address."
                  },
                  "country": {
                    "type": "string",
                    "description": "country - A comma-separated list of two-character country codes. A match results when any specified country code matches source or destination country of the flow."
                  },
                  "vlans": {
                    "type": "string",
                    "description": "vlans - A comma delimited list of integers or ranges of integers between 0 and 4095."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updatePopulator"
      },
      "task": true
    },
    {
      "name": "deletePopulator",
      "summary": "deletePopulator",
      "description": "Deletes a populator. * Required fields.",
      "input": [
        {
          "name": "populatorId",
          "type": "number",
          "info": "The id of the populator to delete.: 123",
          "required": true,
          "schema": {
            "title": "populatorId",
            "type": "number"
          }
        },
        {
          "name": "dimensionId",
          "type": "number",
          "info": "The id of the custom dimension that contains the populator to delete.: 123",
          "required": true,
          "schema": {
            "title": "dimensionId",
            "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": "/deletePopulator"
      },
      "task": true
    },
    {
      "name": "findCustomApplications",
      "summary": "findCustomApplications",
      "description": "Returns an array of custom application object, each of which contains information about an individual custom application. * Required fields.",
      "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": "/findCustomApplications"
      },
      "task": true
    },
    {
      "name": "createCustomApplication",
      "summary": "createCustomApplication",
      "description": "Creates and returns a custom application object containing information about an individual custom application. * Required fields.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"description\": \"string\", \"ip_range\": \"string\", \"protocol\": \"string\", \"port\": \"string\", \"asn\": \"string\"}",
          "required": true,
          "schema": {
            "title": "createCustomApplication",
            "required": [
              "name"
            ],
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "name - A unique name for the custom application."
              },
              "description": {
                "type": "string",
                "description": "description - An optional description for the custom application."
              },
              "ip_range": {
                "type": "string",
                "description": "ip_range - A comma-separated list of IP addresses in IP/CIDR format."
              },
              "protocol": {
                "type": "string",
                "description": "protocol - A comma-separated list of protocol numbers."
              },
              "port": {
                "type": "string",
                "description": "port - A comma-separated list of port numbers."
              },
              "asn": {
                "type": "string",
                "description": "asn - A comma-separated list of ASNs."
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createCustomApplication"
      },
      "task": true
    },
    {
      "name": "updateCustomApplication",
      "summary": "updateCustomApplication",
      "description": "Updates and returns a custom application object containing information about an individual custom application. * Required fields.",
      "input": [
        {
          "name": "applicationId",
          "type": "number",
          "info": "The ID of the custom application whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "applicationId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"name\": \"string\", \"description\": \"string\", \"ip_range\": \"string\", \"protocol\": \"string\", \"port\": \"string\", \"asn\": \"string\"}",
          "required": true,
          "schema": {
            "title": "updateCustomApplication",
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "name - A unique name for the custom application."
              },
              "description": {
                "type": "string",
                "description": "description - An optional description for the custom application."
              },
              "ip_range": {
                "type": "string",
                "description": "ip_range - A comma-separated list of IP addresses in IP/CIDR format."
              },
              "protocol": {
                "type": "string",
                "description": "protocol - A comma-separated list of protocol numbers."
              },
              "port": {
                "type": "string",
                "description": "port - A comma-separated list of port numbers."
              },
              "asn": {
                "type": "string",
                "description": "asn - A comma-separated list of ASNs."
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateCustomApplication"
      },
      "task": true
    },
    {
      "name": "deleteCustomApplication",
      "summary": "deleteCustomApplication",
      "description": "Deletes a custom application from the system. * Required fields.",
      "input": [
        {
          "name": "applicationId",
          "type": "number",
          "info": "The id of the custom application to delete.: 123",
          "required": true,
          "schema": {
            "title": "applicationId",
            "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": "/deleteCustomApplication"
      },
      "task": true
    },
    {
      "name": "findSavedFilters",
      "summary": "findSavedFilters",
      "description": "Returns an array of saved filter objects, each of which contains information about an individual saved filter (see  Saved Filters ). * Required fields.",
      "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": "/findSavedFilters"
      },
      "task": true
    },
    {
      "name": "findSavedFilter",
      "summary": "findSavedFilter",
      "description": "Returns a saved filter object containing information about an individual saved filter (see  Saved Filters ). * Required fields.",
      "input": [
        {
          "name": "savedfilterId",
          "type": "number",
          "info": "The ID of the saved filter whose information will be returned.: 123",
          "required": true,
          "schema": {
            "title": "savedfilterId",
            "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": "/findSavedFilter"
      },
      "task": true
    },
    {
      "name": "updateSavedFilter",
      "summary": "updateSavedFilter",
      "description": "Updates and returns a saved filter object containing information about an individual saved filter (see  Saved Filters ). * Required fields.",
      "input": [
        {
          "name": "savedfilterId",
          "type": "number",
          "info": "The ID of the saved filter whose information will be updated.: 123",
          "required": true,
          "schema": {
            "title": "savedfilterId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"filter_name\": \"string\", \"filter_description\": \"string\", \"filters\": \"undefined\"}",
          "required": true,
          "schema": {
            "title": "updateSavedFilter",
            "type": "object",
            "properties": {
              "filter_name": {
                "type": "string",
                "description": "filter_name - An unique name for the saved filter."
              },
              "filter_description": {
                "type": "string",
                "description": "filter_description - The saved filter's description."
              },
              "filters": {
                "allOf": [
                  {
                    "title": "filters",
                    "required": [
                      "connector",
                      "filterGroups"
                    ],
                    "type": "object",
                    "properties": {
                      "connector": {
                        "allOf": [
                          {
                            "title": "connector",
                            "enum": [
                              "All",
                              "Any"
                            ],
                            "type": "string",
                            "description": "connector - An AND/OR switch."
                          },
                          {
                            "description": "connector - An AND/OR switch."
                          }
                        ]
                      },
                      "filterGroups": {
                        "type": "array",
                        "items": {
                          "title": "filtergroup",
                          "required": [
                            "connector"
                          ],
                          "type": "object",
                          "properties": {
                            "connector": {
                              "allOf": [
                                {
                                  "title": "connector",
                                  "enum": [
                                    "All",
                                    "Any"
                                  ],
                                  "type": "string",
                                  "description": "connector - An AND/OR switch."
                                },
                                {
                                  "description": "connector - An AND/OR switch."
                                }
                              ]
                            },
                            "filters": {
                              "type": "array",
                              "items": {
                                "title": "filter",
                                "required": [
                                  "filterField",
                                  "operator"
                                ],
                                "type": "object",
                                "properties": {
                                  "filterField": {
                                    "allOf": [
                                      {
                                        "title": "filterField",
                                        "enum": [
                                          "src_geo",
                                          "src_geo_region",
                                          "src_geo_city",
                                          "src_as",
                                          "src_flow_tags",
                                          "l4_src_port",
                                          "vlan_in",
                                          "src_eth_mac",
                                          "inet_src_addr",
                                          "input_port",
                                          "i_input_snmp_alias",
                                          "i_input_interface_description",
                                          "ipv4_src_route_prefix",
                                          "src_route_length",
                                          "src_bgp_aspath",
                                          "src_bgp_community",
                                          "ipv4_src_next_hop",
                                          "src_nexthop_as",
                                          "src_second_asn",
                                          "src_third_asn",
                                          "dst_geo",
                                          "dst_geo_region",
                                          "dst_geo_city",
                                          "dst_as",
                                          "dst_flow_tags",
                                          "l4_dst_port",
                                          "vlan_out",
                                          "dst_eth_mac",
                                          "inet_dst_addr",
                                          "output_port",
                                          "i_output_snmp_alias",
                                          "i_output_interface_description",
                                          "ipv4_dst_route_prefix",
                                          "dst_route_length",
                                          "dst_bgp_aspath",
                                          "dst_bgp_community",
                                          "ipv4_dst_next_hop",
                                          "dst_nexthop_as",
                                          "dst_second_asn",
                                          "dst_third_asn",
                                          "tcp_flags",
                                          "tcp_flags_raw",
                                          "protocol",
                                          "i_device_name",
                                          "both_pkts",
                                          "tcp_retransmit",
                                          "tos"
                                        ],
                                        "type": "string",
                                        "description": "filterField - A field operand."
                                      },
                                      {
                                        "description": "filterField - A field operand."
                                      }
                                    ]
                                  },
                                  "operator": {
                                    "allOf": [
                                      {
                                        "title": "operator",
                                        "enum": [
                                          "=",
                                          "<>",
                                          "ILIKE",
                                          "NOT ILIKE",
                                          "~",
                                          "!~",
                                          ">",
                                          "<",
                                          "&"
                                        ],
                                        "type": "string",
                                        "description": "operator - An operator."
                                      },
                                      {
                                        "description": "operator - An operator."
                                      }
                                    ]
                                  },
                                  "filterValue": {
                                    "type": "string",
                                    "description": "filterValue - An operand input by the user."
                                  }
                                }
                              },
                              "description": "filters - //"
                            },
                            "not": {
                              "type": "boolean",
                              "description": "not - Whether or not to NOT() the filter group.",
                              "default": false
                            }
                          }
                        },
                        "description": ""
                      }
                    },
                    "description": "filters - //"
                  },
                  {
                    "description": "filters - //"
                  }
                ]
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/updateSavedFilter"
      },
      "task": true
    },
    {
      "name": "deleteSavedFilter",
      "summary": "deleteSavedFilter",
      "description": "Deletes a saved filter from the system. * Required fields.",
      "input": [
        {
          "name": "savedfilterId",
          "type": "number",
          "info": "The id of the saved filter to delete.: 123",
          "required": true,
          "schema": {
            "title": "savedfilterId",
            "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": "/deleteSavedFilter"
      },
      "task": true
    },
    {
      "name": "createSavedFilter",
      "summary": "createSavedFilter",
      "description": "Creates and returns a saved filter object containing information about an individual saved filter (see  Saved Filters ). * Required fields.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"filter_name\": \"string\", \"filter_description\": \"string\", \"filters\": \"undefined\"}",
          "required": true,
          "schema": {
            "title": "createSavedFilter",
            "required": [
              "filter_name"
            ],
            "type": "object",
            "properties": {
              "filter_name": {
                "type": "string",
                "description": "filter_name - An unique name for the saved filter."
              },
              "filter_description": {
                "type": "string",
                "description": "filter_description - The saved filter's description."
              },
              "filters": {
                "allOf": [
                  {
                    "title": "filters",
                    "required": [
                      "connector",
                      "filterGroups"
                    ],
                    "type": "object",
                    "properties": {
                      "connector": {
                        "allOf": [
                          {
                            "title": "connector",
                            "enum": [
                              "All",
                              "Any"
                            ],
                            "type": "string",
                            "description": "connector - An AND/OR switch."
                          },
                          {
                            "description": "connector - An AND/OR switch."
                          }
                        ]
                      },
                      "filterGroups": {
                        "type": "array",
                        "items": {
                          "title": "filtergroup",
                          "required": [
                            "connector"
                          ],
                          "type": "object",
                          "properties": {
                            "connector": {
                              "allOf": [
                                {
                                  "title": "connector",
                                  "enum": [
                                    "All",
                                    "Any"
                                  ],
                                  "type": "string",
                                  "description": "connector - An AND/OR switch."
                                },
                                {
                                  "description": "connector - An AND/OR switch."
                                }
                              ]
                            },
                            "filters": {
                              "type": "array",
                              "items": {
                                "title": "filter",
                                "required": [
                                  "filterField",
                                  "operator"
                                ],
                                "type": "object",
                                "properties": {
                                  "filterField": {
                                    "allOf": [
                                      {
                                        "title": "filterField",
                                        "enum": [
                                          "src_geo",
                                          "src_geo_region",
                                          "src_geo_city",
                                          "src_as",
                                          "src_flow_tags",
                                          "l4_src_port",
                                          "vlan_in",
                                          "src_eth_mac",
                                          "inet_src_addr",
                                          "input_port",
                                          "i_input_snmp_alias",
                                          "i_input_interface_description",
                                          "ipv4_src_route_prefix",
                                          "src_route_length",
                                          "src_bgp_aspath",
                                          "src_bgp_community",
                                          "ipv4_src_next_hop",
                                          "src_nexthop_as",
                                          "src_second_asn",
                                          "src_third_asn",
                                          "dst_geo",
                                          "dst_geo_region",
                                          "dst_geo_city",
                                          "dst_as",
                                          "dst_flow_tags",
                                          "l4_dst_port",
                                          "vlan_out",
                                          "dst_eth_mac",
                                          "inet_dst_addr",
                                          "output_port",
                                          "i_output_snmp_alias",
                                          "i_output_interface_description",
                                          "ipv4_dst_route_prefix",
                                          "dst_route_length",
                                          "dst_bgp_aspath",
                                          "dst_bgp_community",
                                          "ipv4_dst_next_hop",
                                          "dst_nexthop_as",
                                          "dst_second_asn",
                                          "dst_third_asn",
                                          "tcp_flags",
                                          "tcp_flags_raw",
                                          "protocol",
                                          "i_device_name",
                                          "both_pkts",
                                          "tcp_retransmit",
                                          "tos"
                                        ],
                                        "type": "string",
                                        "description": "filterField - A field operand."
                                      },
                                      {
                                        "description": "filterField - A field operand."
                                      }
                                    ]
                                  },
                                  "operator": {
                                    "allOf": [
                                      {
                                        "title": "operator",
                                        "enum": [
                                          "=",
                                          "<>",
                                          "ILIKE",
                                          "NOT ILIKE",
                                          "~",
                                          "!~",
                                          ">",
                                          "<",
                                          "&"
                                        ],
                                        "type": "string",
                                        "description": "operator - An operator."
                                      },
                                      {
                                        "description": "operator - An operator."
                                      }
                                    ]
                                  },
                                  "filterValue": {
                                    "type": "string",
                                    "description": "filterValue - An operand input by the user."
                                  }
                                }
                              },
                              "description": "filters - //"
                            },
                            "not": {
                              "type": "boolean",
                              "description": "not - Whether or not to NOT() the filter group.",
                              "default": false
                            }
                          }
                        },
                        "description": ""
                      }
                    },
                    "description": "filters - //"
                  },
                  {
                    "description": "filters - //"
                  }
                ]
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createSavedFilter"
      },
      "task": true
    },
    {
      "name": "createManualMitigation",
      "summary": "createManualMitigation",
      "description": "Creates a manual mitigation. A mitigation started manually will not clear on its own. It must be stopped manually from the active alerts page.",
      "input": [
        {
          "name": "body",
          "type": "object",
          "info": ": {\"ipCidr\": \"string\", \"comment\": \"string\", \"platformID\": \"string\", \"methodID\": \"string\", \"minutesBeforeAutoStop\": 123}",
          "required": true,
          "schema": {
            "title": "createManualMitigation",
            "required": [
              "ipCidr",
              "platformID",
              "methodID"
            ],
            "type": "object",
            "properties": {
              "ipCidr": {
                "type": "string",
                "description": "ipCidr - IP/CIDR To Mitigate"
              },
              "comment": {
                "type": "string",
                "description": "comment - Comment"
              },
              "platformID": {
                "type": "string",
                "description": "platformID - Platform id."
              },
              "methodID": {
                "type": "string",
                "description": "methodID - Method id."
              },
              "minutesBeforeAutoStop": {
                "type": "number",
                "description": "minutesBeforeAutoStop - Minutes Before Auto Stop.",
                "default": 0
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createManualMitigation"
      },
      "task": true
    },
    {
      "name": "alarms",
      "summary": "alarms",
      "description": "Returns alarms.",
      "input": [
        {
          "name": "startTime",
          "type": "string",
          "info": "startTime - The startTime of the alert. E.g. \"2018-10-15T22:15:00\".: string",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "string"
          }
        },
        {
          "name": "endTime",
          "type": "string",
          "info": "endTime - The endTime of the alert. E.g. \"2018-10-15T22:16:00\".: string",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "string"
          }
        },
        {
          "name": "filterBy",
          "type": "string",
          "info": "filterBy - The filter by field. (Acceptable values are: \"\", \"old_state\", \"new_state\", \"any_state\", \"alert_key_partial\", \"dimension_key\", \"mitigation_id\", \"alert_id\", \"ale...(description truncated): string",
          "required": true,
          "schema": {
            "title": "filterBy",
            "type": "string"
          }
        },
        {
          "name": "filterVal",
          "type": "string",
          "info": "filterVal - The filter by value.: string",
          "required": true,
          "schema": {
            "title": "filterVal",
            "type": "string"
          }
        },
        {
          "name": "showMitigations",
          "type": "number",
          "info": "showMitigations - 0 showMitigations off, 1 showMitigations on.: 123",
          "required": true,
          "schema": {
            "title": "showMitigations",
            "type": "number"
          }
        },
        {
          "name": "showAlarms",
          "type": "number",
          "info": "showAlarms - 0 showAlarms off, 1 showAlarms on.: 123",
          "required": true,
          "schema": {
            "title": "showAlarms",
            "type": "number"
          }
        },
        {
          "name": "showMatches",
          "type": "number",
          "info": "showMatches - 0 showMatches off, 1 showMatches on.: 123",
          "required": true,
          "schema": {
            "title": "showMatches",
            "type": "number"
          }
        },
        {
          "name": "learningMode",
          "type": "number",
          "info": "learningMode - 0 learning mode off, 1 learning mode on.: 123",
          "required": true,
          "schema": {
            "title": "learningMode",
            "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": "/alarms"
      },
      "task": true
    },
    {
      "name": "alertsHistory",
      "summary": "alertsHistory",
      "description": "Returns alerts history.",
      "input": [
        {
          "name": "startTime",
          "type": "string",
          "info": "startTime - The startTime of the alert. E.g. \"2018-10-15T22:15:00\".: string",
          "required": true,
          "schema": {
            "title": "startTime",
            "type": "string"
          }
        },
        {
          "name": "endTime",
          "type": "string",
          "info": "endTime - The endTime of the alert. E.g. \"2018-10-15T22:16:00\".: string",
          "required": true,
          "schema": {
            "title": "endTime",
            "type": "string"
          }
        },
        {
          "name": "filterBy",
          "type": "string",
          "info": "filterBy - The filter by field. (Acceptable values are: \"\", \"old_state\", \"new_state\", \"any_state\", \"alert_key_partial\", \"dimension_key\", \"mitigation_id\", \"alert_id\", \"ale...(description truncated): string",
          "required": true,
          "schema": {
            "title": "filterBy",
            "type": "string"
          }
        },
        {
          "name": "filterVal",
          "type": "string",
          "info": "filterVal - The filter by value.: string",
          "required": true,
          "schema": {
            "title": "filterVal",
            "type": "string"
          }
        },
        {
          "name": "sortOrder",
          "type": "string",
          "info": "sortOrder - The dimension to sort by. (Acceptable values are: \"alert_key\", \"severity\", \"mitigation_id\", \"alarm_id\", \"alert_id\", \"alert_value\", \"alarm_state\"): string",
          "required": true,
          "schema": {
            "title": "sortOrder",
            "type": "string"
          }
        },
        {
          "name": "showMitigations",
          "type": "number",
          "info": "showMitigations - 0 showMitigations off, 1 showMitigations on.: 123",
          "required": true,
          "schema": {
            "title": "showMitigations",
            "type": "number"
          }
        },
        {
          "name": "showAlarms",
          "type": "number",
          "info": "showAlarms - 0 showAlarms off, 1 showAlarms on.: 123",
          "required": true,
          "schema": {
            "title": "showAlarms",
            "type": "number"
          }
        },
        {
          "name": "showMatches",
          "type": "number",
          "info": "showMatches - 0 showMatches off, 1 showMatches on.: 123",
          "required": true,
          "schema": {
            "title": "showMatches",
            "type": "number"
          }
        },
        {
          "name": "learningMode",
          "type": "number",
          "info": "learningMode - 0 learning mode off, 1 learning mode on.: 123",
          "required": true,
          "schema": {
            "title": "learningMode",
            "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": "/alertsHistory"
      },
      "task": true
    },
    {
      "name": "findUserGroups",
      "summary": "findUserGroups",
      "description": "Returns an array of tenants, each of which contains information about an individual tenant (see  Tenant List ). * Required fields.",
      "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": "/findUserGroups"
      },
      "task": true
    },
    {
      "name": "findUserGroup",
      "summary": "findUserGroup",
      "description": "Returns a tenant object containing information about an individual tenant (see  Tenant Dialogs ). * Required fields.",
      "input": [
        {
          "name": "tenantId",
          "type": "number",
          "info": "tenant_id - The ID of the tenant whose information will be returned.: 123",
          "required": true,
          "schema": {
            "title": "tenantId",
            "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": "/findUserGroup"
      },
      "task": true
    },
    {
      "name": "createTenantUser",
      "summary": "createTenantUser",
      "description": "Creates and returns a tenant user object containing information about an individual tenant user (see  Add a Tenant User ). * Required fields.",
      "input": [
        {
          "name": "tenantId",
          "type": "number",
          "info": "tenant_id - The ID of the tenant.: 123",
          "required": true,
          "schema": {
            "title": "tenantId",
            "type": "number"
          }
        },
        {
          "name": "body",
          "type": "object",
          "info": ": {\"user\": {\"user_email\": \"string\"}}",
          "required": true,
          "schema": {
            "title": "createTenantUser",
            "type": "object",
            "properties": {
              "user": {
                "title": "User2",
                "required": [
                  "user_email"
                ],
                "type": "object",
                "properties": {
                  "user_email": {
                    "type": "string",
                    "description": "user_email - A valid email address for the user."
                  }
                }
              }
            },
            "definitions": {}
          }
        }
      ],
      "output": {
        "name": "result",
        "type": "object",
        "description": "A JSON Object containing status, code and the result",
        "schema": {
          "title": "result",
          "type": "object"
        }
      },
      "roles": [
        "admin"
      ],
      "route": {
        "verb": "POST",
        "path": "/createTenantUser"
      },
      "task": true
    },
    {
      "name": "deleteTenantUser",
      "summary": "deleteTenantUser",
      "description": "Deletes a tenant user from the system (see  Remove a Tenant User ). * Required fields.",
      "input": [
        {
          "name": "tenantId",
          "type": "number",
          "info": "tenant_id - The ID of the tenant.: 123",
          "required": true,
          "schema": {
            "title": "tenantId",
            "type": "number"
          }
        },
        {
          "name": "userId",
          "type": "number",
          "info": "user_id - The ID of the user.: 123",
          "required": true,
          "schema": {
            "title": "userId",
            "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": "/deleteTenantUser"
      },
      "task": true
    }
  ],
  "views": []
}