{
  "openapi": "3.0.0",
  "info": {
    "title": "Kentik V5 API (https://api.kentik.com/api/v5/)",
    "contact": {},
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.kentik.com/api/v5",
      "variables": {}
    }
  ],
  "paths": {
    "/query/sql": {
      "post": {
        "tags": [
          "Query Methods"
        ],
        "summary": "runQuery",
        "description": "This method allows you to run a SQL command against all configured devices. <a href='https://kb.kentik.com/Ec04.htm#Ec04-Query_SQL_Method' target='_blank'>Documentation</a>.",
        "operationId": "runQuery",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/runQuery"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/query/url": {
      "post": {
        "tags": [
          "Query Methods"
        ],
        "summary": "queryUrl",
        "description": "Returns a URL to view a given query in Data Explorer. <a href='https://kb.kentik.com/Ec04.htm#Ec04-Query_URL_Method' target='_blank'>Documentation</a>.",
        "operationId": "queryUrl",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/queryUrl"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/query/topxdata": {
      "post": {
        "tags": [
          "Query Methods"
        ],
        "summary": "topxdata",
        "description": "Returns query results in JSON that can be parsed to generate a TopX table. <a href='https://kb.kentik.com/Ec04.htm#Ec04-Query_Data_Method' target='_blank'>Documentation</a>.",
        "operationId": "topxdata",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/topxdata"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/query/topxchart": {
      "post": {
        "tags": [
          "Query Methods"
        ],
        "summary": "topxchart",
        "description": "Returns an image of a graph similar to what is seen in the Kentik portal's Data Explorer. <a href='https://kb.kentik.com/Ec04.htm#Ec04-Query_Chart_Method' target='_blank'>Documentation</a>.",
        "operationId": "topxchart",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/topxchart"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/users": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "findUsers",
        "description": "Returns an array of user objects, each of which contains information about an individual user (see <a href='https://kb.kentik.com/Cb02.htm#Cb02-User_Field_Definitions' target='_blank'>User Field Definitions</a>).<br/>* Required fields.",
        "operationId": "findUsers",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/user/{user_id}": {
      "get": {
        "tags": [
          "user"
        ],
        "summary": "findUser",
        "description": "Returns a user object containing information about an individual user (see <a href='https://kb.kentik.com/Cb02.htm#Cb02-User_Field_Definitions' target='_blank'>User Field Definitions</a>).<br/>* Required fields.",
        "operationId": "findUser",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "description": "The ID of the user whose information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "user"
        ],
        "summary": "updateUser",
        "description": "Updates and returns a user object containing information about an individual user (see <a href='https://kb.kentik.com/Cb02.htm#Cb02-User_Field_Definitions' target='_blank'>User Field Definitions</a>).<br/>* Required fields.",
        "operationId": "updateUser",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "description": "The ID of the user whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateUser"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "user"
        ],
        "summary": "deleteUser",
        "description": "Deletes a user from the system.<br/>* Required fields.",
        "operationId": "deleteUser",
        "parameters": [
          {
            "name": "user_id",
            "in": "path",
            "description": "The id of the user to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/user": {
      "post": {
        "tags": [
          "user"
        ],
        "summary": "createUser",
        "description": "Creates and returns a user object containing information about an individual user (see <a href='https://kb.kentik.com/Cb02.htm#Cb02-User_Field_Definitions' target='_blank'>User Field Definitions</a>).<br/>* Required fields.",
        "operationId": "createUser",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createUser"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/devices": {
      "get": {
        "tags": [
          "device"
        ],
        "summary": "findDevices",
        "description": "Returns an array of device objects that each contain information about an individual device (see <a href='https://kb.kentik.com/Cb01.htm#Cb01-About_Devices' target='_blank'>About Devices</a>).<br/>* Required fields.",
        "operationId": "findDevices",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/device/{device_id}": {
      "get": {
        "tags": [
          "device"
        ],
        "summary": "findDevice",
        "description": "Returns a device object containing information about an individual device (see <a href='https://kb.kentik.com/Cb01.htm#Cb01-About_Devices' target='_blank'>About Devices</a>).<br/>* Required fields.",
        "operationId": "findDevice",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device whose information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "device"
        ],
        "summary": "updateDevice",
        "description": "Updates and returns a device object containing information about an individual device (see <a href='https://kb.kentik.com/Cb01.htm#Cb01-About_Devices' target='_blank'>About Devices</a>).<br/>* Required fields.",
        "operationId": "updateDevice",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateDevice"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "device"
        ],
        "summary": "deleteDevice",
        "description": "Deletes a device.<br/>* Required fields.",
        "operationId": "deleteDevice",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/device": {
      "post": {
        "tags": [
          "device"
        ],
        "summary": "createDevice",
        "description": "Creates and returns a device object containing information about an individual device (see <a href='https://kb.kentik.com/Cb01.htm#Cb01-About_Devices' target='_blank'>About Devices</a>).<br/>* Required fields.<br/>** Conditionally required fields.",
        "operationId": "createDevice",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createDevice"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/devices/{device_id}/labels": {
      "put": {
        "tags": [
          "device"
        ],
        "summary": "deviceApplyLabels",
        "description": "Removes all existing labels from the device and applies the device labels (see <a href='https://kb.kentik.com/Cb16.htm#Cb16-About_Device_Labels' target='_blank'>About Device Labels</a>) specified by id. Returns a reduced version<br/>of device object containing an array of the applied labels.<br/>* Required fields.",
        "operationId": "deviceApplyLabels",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device whose labels will be applied.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/deviceApplyLabels"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/device/{device_id}/interfaces": {
      "get": {
        "tags": [
          "device"
        ],
        "summary": "findInterfaces",
        "description": "Returns an array of interface objects that each contain information about an interface from a specified device.<br/>* Required fields.",
        "operationId": "findInterfaces",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device whose interfaces will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/device/{device_id}/interface/{interface_id}": {
      "get": {
        "tags": [
          "device"
        ],
        "summary": "findInterface",
        "description": "Returns a interface object containing information about an individual interface from a given device.<br/>* Required fields.",
        "operationId": "findInterface",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device whose interface information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "interface_id",
            "in": "path",
            "description": "The id of the interface whose information will be returned. This is NOT the same as the interface's SNMP ID.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "device"
        ],
        "summary": "updateInterface",
        "description": "Updates and returns an interface object containing information about an individual interface from a specified device.<br/>* Required fields.<br/>*** Alternatively, instead of defining a vrf object, you can add the vrf_id.",
        "operationId": "updateInterface",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device whose interface information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "interface_id",
            "in": "path",
            "description": "The id of the interface whose information will be updated. This is NOT the same as the SNMP ID.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateInterface"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "device"
        ],
        "summary": "deleteInterface",
        "description": "Deletes an interface from a given device.<br/>* Required fields.",
        "operationId": "deleteInterface",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device from which to delete the specified interface.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "interface_id",
            "in": "path",
            "description": "The id of the interface to delete from the specified device.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/device/{device_id}/interface": {
      "post": {
        "tags": [
          "device"
        ],
        "summary": "createInterface",
        "description": "Creates and returns an interface object containing information about an individual interface for a given device.<br/>* Required fields.<br/>*** Alternatively, instead of defining a vrf object, you can add the vrf_id.",
        "operationId": "createInterface",
        "parameters": [
          {
            "name": "device_id",
            "in": "path",
            "description": "The id of the device to which you want to add an interface.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createInterface"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/deviceLabels": {
      "get": {
        "tags": [
          "device label"
        ],
        "summary": "findDeviceLabels",
        "description": "Returns an array of device label objects that each contain information about an individual device label (see <a href='https://kb.kentik.com/Cb16.htm#Cb16-Device_Labels' target='_blank'>Device Labels</a>).<br/>* Required fields.",
        "operationId": "findDeviceLabels",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "device label"
        ],
        "summary": "createDeviceLabel",
        "description": "Creates and returns a device label object containing information about an individual device label (see <a href='https://kb.kentik.com/Cb16.htm#Cb16-Device_Labels' target='_blank'>Device Labels</a>).<br/>* Required fields.<br/>** Conditionally required fields.",
        "operationId": "createDeviceLabel",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createDeviceLabel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/deviceLabels/{device_label_id}": {
      "get": {
        "tags": [
          "device label"
        ],
        "summary": "findDeviceLabel",
        "description": "Returns a device label object containing information about an individual device label (see <a href='https://kb.kentik.com/Cb16.htm#Cb16-Device_Labels' target='_blank'>Device Labels</a>).<br/>* Required fields.",
        "operationId": "findDeviceLabel",
        "parameters": [
          {
            "name": "device_label_id",
            "in": "path",
            "description": "The id of the device label whose information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "device label"
        ],
        "summary": "updateDeviceLabel",
        "description": "Updates and returns a device label object containing information about an individual device label (see <a href='https://kb.kentik.com/Cb16.htm#Cb16-Device_Labels' target='_blank'>Device Labels</a>).<br/>* Required fields.",
        "operationId": "updateDeviceLabel",
        "parameters": [
          {
            "name": "device_label_id",
            "in": "path",
            "description": "The id of the device label whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateDeviceLabel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "device label"
        ],
        "summary": "deleteDeviceLabel",
        "description": "Deletes a device label.<br/>* Required fields.",
        "operationId": "deleteDeviceLabel",
        "parameters": [
          {
            "name": "device_label_id",
            "in": "path",
            "description": "The id of the device label to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/plans": {
      "get": {
        "tags": [
          "plan"
        ],
        "summary": "findPlans",
        "description": "Returns an array of plan objects, each of which contains information about an individual plan.",
        "operationId": "findPlans",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/sites": {
      "get": {
        "tags": [
          "site"
        ],
        "summary": "findSites",
        "description": "Returns an array of site objects, each of which contains information about an individual site (see <a href='https://kb.kentik.com/Cb13.htm#Cb13-About_Sites' target='_blank'>About Sites</a>).<br/>* Required fields.",
        "operationId": "findSites",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/site/{site_id}": {
      "get": {
        "tags": [
          "site"
        ],
        "summary": "findSite",
        "description": "Returns a site object containing information about an individual site (see <a href='https://kb.kentik.com/Cb13.htm#Cb13-About_Sites' target='_blank'>About Sites</a>).<br/>* Required fields.",
        "operationId": "findSite",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "The ID of the site whose information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "site"
        ],
        "summary": "updateSite",
        "description": "Updates and returns a site object containing information about an individual site (see <a href='https://kb.kentik.com/Cb13.htm#Cb13-About_Sites' target='_blank'>About Sites</a>).<br/>* Required fields.",
        "operationId": "updateSite",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "The id of the site whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateSite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "site"
        ],
        "summary": "deleteSite",
        "description": "Deletes a site.<br/>* Required fields.",
        "operationId": "deleteSite",
        "parameters": [
          {
            "name": "site_id",
            "in": "path",
            "description": "The id of the site to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/site": {
      "post": {
        "tags": [
          "site"
        ],
        "summary": "createSite",
        "description": "Creates and returns a site object containing information about an individual site (see <a href='https://kb.kentik.com/Cb13.htm#Cb13-About_Sites' target='_blank'>About Sites</a>).<br/>* Required fields.",
        "operationId": "createSite",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createSite"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/tags": {
      "get": {
        "tags": [
          "tag"
        ],
        "summary": "findTags",
        "description": "Returns an array of tag objects that each contain information about an individual tag (see <a href='https://kb.kentik.com/Eb02.htm#Eb02-About_Tags' target='_blank'>About Tags</a>).",
        "operationId": "findTags",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/tag/{tag_id}": {
      "get": {
        "tags": [
          "tag"
        ],
        "summary": "findTag",
        "description": "Returns a tag object containing information about an individual tag (see <a href='https://kb.kentik.com/Eb02.htm#Eb02-About_Tags' target='_blank'>About Tags</a>).<br/>* Required fields.",
        "operationId": "findTag",
        "parameters": [
          {
            "name": "tag_id",
            "in": "path",
            "description": "The id of the tag whose information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "tag"
        ],
        "summary": "updateTag",
        "description": "Updates and returns a tag object containing information about an individual tag (see <a href='https://kb.kentik.com/Eb02.htm#Eb02-About_Tags' target='_blank'>About Tags</a>).<br/>* Required fields.",
        "operationId": "updateTag",
        "parameters": [
          {
            "name": "tag_id",
            "in": "path",
            "description": "The id of the tag whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateTag"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "tag"
        ],
        "summary": "deleteTag",
        "description": "Deletes a tag.<br/>* Required fields.",
        "operationId": "deleteTag",
        "parameters": [
          {
            "name": "tag_id",
            "in": "path",
            "description": "The id of the tag to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/tag": {
      "post": {
        "tags": [
          "tag"
        ],
        "summary": "createTag",
        "description": "Creates and returns a tag object containing information about an individual tag (see <a href='https://kb.kentik.com/Eb02.htm#Eb02-About_Tags' target='_blank'>About Tags</a>).<br/>* Required fields.",
        "operationId": "createTag",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createTag"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/customdimensions": {
      "get": {
        "tags": [
          "custom_dimension"
        ],
        "summary": "findCustomDimensions",
        "description": "Returns an array of custom dimension objects that each contain information about an individual custom dimension (see <a href='https://kb.kentik.com/proto/?Ec03.htm#Ec03-Custom_Dimension_API' target='_blank'>About Custom Dimensions</a>).",
        "operationId": "findCustomDimensions",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/customdimension/{dimension_id}": {
      "get": {
        "tags": [
          "custom_dimension"
        ],
        "summary": "findCustomDimension",
        "description": "Returns a custom dimension object containing information about an individual custom dimension (see <a href='https://kb.kentik.com/proto/?Ec03.htm#Ec03-Custom_Dimension_API' target='_blank'>About Custom Dimensions</a>).<br/>* Required fields.",
        "operationId": "findCustomDimension",
        "parameters": [
          {
            "name": "dimension_id",
            "in": "path",
            "description": "The id of the custom dimension whose information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "custom_dimension"
        ],
        "summary": "updateCustomDimension",
        "description": "Updates and returns a custom dimension object containing information about an individual custom dimension (see <a href='https://kb.kentik.com/proto/?Ec03.htm#Ec03-Custom_Dimension_API' target='_blank'>About Custom Dimensions</a>).<br/>* Required fields.<br/>Populators are not sent back in the response body. To get them use \"Custom Dimension info\" section instead.",
        "operationId": "updateCustomDimension",
        "parameters": [
          {
            "name": "dimension_id",
            "in": "path",
            "description": "The id of the custom dimension whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateCustomDimension"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "custom_dimension"
        ],
        "summary": "deleteCustomDimension",
        "description": "Deletes a custom dimension.<br/>* Required fields.",
        "operationId": "deleteCustomDimension",
        "parameters": [
          {
            "name": "dimension_id",
            "in": "path",
            "description": "The id of the custom dimension to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/customdimension": {
      "post": {
        "tags": [
          "custom_dimension"
        ],
        "summary": "createCustomDimension",
        "description": "Creates and returns a custom dimension object containing information about an individual custom dimension (see <a href='https://kb.kentik.com/proto/?Ec03.htm#Ec03-Custom_Dimension_API' target='_blank'>About Custom Dimensions</a>).<br/>* Required fields.",
        "operationId": "createCustomDimension",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createCustomDimension"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/customdimension/{dimension_id}/populator/": {
      "post": {
        "tags": [
          "custom_dimension"
        ],
        "summary": "createPopulator",
        "description": "Creates and returns a populator object containing information about an individual populator (see <a href='https://kb.kentik.com/proto/?Ec03.htm#Ec03-Custom_Dimension_API' target='_blank'>About Populators</a>).<br/>* Required fields.",
        "operationId": "createPopulator",
        "parameters": [
          {
            "name": "dimension_id",
            "in": "path",
            "description": "The id of the custom dimension that contains the populator.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createPopulator"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/customdimension/{dimension_id}/populator/{populator_id}": {
      "put": {
        "tags": [
          "custom_dimension"
        ],
        "summary": "updatePopulator",
        "description": "Updates and returns a populator object containing information about an individual populator (see <a href='https://kb.kentik.com/proto/?Ec03.htm#Ec03-Custom_Dimension_API' target='_blank'>About Populators</a>).<br/>* Required fields.",
        "operationId": "updatePopulator",
        "parameters": [
          {
            "name": "populator_id",
            "in": "path",
            "description": "The id of the populator whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "dimension_id",
            "in": "path",
            "description": "The id of the custom dimension that contains the populator.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updatePopulator"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "custom_dimension"
        ],
        "summary": "deletePopulator",
        "description": "Deletes a populator.<br/>* Required fields.",
        "operationId": "deletePopulator",
        "parameters": [
          {
            "name": "populator_id",
            "in": "path",
            "description": "The id of the populator to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "dimension_id",
            "in": "path",
            "description": "The id of the custom dimension that contains the populator to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/customApplications": {
      "get": {
        "tags": [
          "custom_application"
        ],
        "summary": "findCustomApplications",
        "description": "Returns an array of custom application object, each of which contains information about an individual custom application.<br/>* Required fields.",
        "operationId": "findCustomApplications",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "custom_application"
        ],
        "summary": "createCustomApplication",
        "description": "Creates and returns a custom application object containing information about an individual custom application.<br/>* Required fields.",
        "operationId": "createCustomApplication",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createCustomApplication"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/customApplications/{application_id}": {
      "put": {
        "tags": [
          "custom_application"
        ],
        "summary": "updateCustomApplication",
        "description": "Updates and returns a custom application object containing information about an individual custom application.<br/>* Required fields.",
        "operationId": "updateCustomApplication",
        "parameters": [
          {
            "name": "application_id",
            "in": "path",
            "description": "The ID of the custom application whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateCustomApplication"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "custom_application"
        ],
        "summary": "deleteCustomApplication",
        "description": "Deletes a custom application from the system.<br/>* Required fields.",
        "operationId": "deleteCustomApplication",
        "parameters": [
          {
            "name": "application_id",
            "in": "path",
            "description": "The id of the custom application to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/saved-filters/custom": {
      "get": {
        "tags": [
          "savedfilter"
        ],
        "summary": "findSavedFilters",
        "description": "Returns an array of saved filter objects, each of which contains information about an individual saved filter (see <a href='https://kb.kentik.com/Ec07.htm#Ec07-Saved_Filter_List' target='_blank'>Saved Filters</a>).<br/>* Required fields.",
        "operationId": "findSavedFilters",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/saved-filter/custom/{savedfilter_id}": {
      "get": {
        "tags": [
          "savedfilter"
        ],
        "summary": "findSavedFilter",
        "description": "Returns a saved filter object containing information about an individual saved filter (see <a href='https://kb.kentik.com/Ec07.htm#Ec07-Saved_Filter_Info' target='_blank'>Saved Filters</a>).<br/>* Required fields.",
        "operationId": "findSavedFilter",
        "parameters": [
          {
            "name": "savedfilter_id",
            "in": "path",
            "description": "The ID of the saved filter whose information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "savedfilter"
        ],
        "summary": "updateSavedFilter",
        "description": "Updates and returns a saved filter object containing information about an individual saved filter (see <a href='https://kb.kentik.com/Ec07.htm#Ec07-Saved_Filter_Update' target='_blank'>Saved Filters</a>).<br/>* Required fields.",
        "operationId": "updateSavedFilter",
        "parameters": [
          {
            "name": "savedfilter_id",
            "in": "path",
            "description": "The ID of the saved filter whose information will be updated.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateSavedFilter"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "savedfilter"
        ],
        "summary": "deleteSavedFilter",
        "description": "Deletes a saved filter from the system.<br/>* Required fields.",
        "operationId": "deleteSavedFilter",
        "parameters": [
          {
            "name": "savedfilter_id",
            "in": "path",
            "description": "The id of the saved filter to delete.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/saved-filter/custom": {
      "post": {
        "tags": [
          "savedfilter"
        ],
        "summary": "createSavedFilter",
        "description": "Creates and returns a saved filter object containing information about an individual saved filter (see <a href='https://kb.kentik.com/Ec07.htm#Ec07-Saved_Filter_Create' target='_blank'>Saved Filters</a>).<br/>* Required fields.",
        "operationId": "createSavedFilter",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createSavedFilter"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/alerts/manual-mitigate": {
      "post": {
        "tags": [
          "alerts"
        ],
        "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.",
        "operationId": "createManualMitigation",
        "parameters": [

        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createManualMitigation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/alerts-active/alarms": {
      "get": {
        "tags": [
          "alerts_active"
        ],
        "summary": "alarms",
        "description": "Returns alarms.",
        "operationId": "alarms",
        "parameters": [
          {
            "name": "startTime",
            "in": "query",
            "description": "startTime - The startTime of the alert. E.g. \"2018-10-15T22:15:00\".",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endTime",
            "in": "query",
            "description": "endTime - The endTime of the alert. E.g. \"2018-10-15T22:16:00\".",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filterBy",
            "in": "query",
            "description": "filterBy - The filter by field. (Acceptable values are: \"\", \"old_state\", \"new_state\", \"any_state\", \"alert_key_partial\", \"dimension_key\", \"mitigation_id\", \"alert_id\", \"alert_key\", \"alarm_id\")",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filterVal",
            "in": "query",
            "description": "filterVal - The filter by value.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "showMitigations",
            "in": "query",
            "description": "showMitigations - 0 showMitigations off, 1 showMitigations on.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "showAlarms",
            "in": "query",
            "description": "showAlarms - 0 showAlarms off, 1 showAlarms on.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "showMatches",
            "in": "query",
            "description": "showMatches - 0 showMatches off, 1 showMatches on.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "learningMode",
            "in": "query",
            "description": "learningMode - 0 learning mode off, 1 learning mode on.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/alerts-active/alerts-history": {
      "get": {
        "tags": [
          "alerts_active"
        ],
        "summary": "alertsHistory",
        "description": "Returns alerts history.",
        "operationId": "alertsHistory",
        "parameters": [
          {
            "name": "startTime",
            "in": "query",
            "description": "startTime - The startTime of the alert. E.g. \"2018-10-15T22:15:00\".",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "endTime",
            "in": "query",
            "description": "endTime - The endTime of the alert. E.g. \"2018-10-15T22:16:00\".",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filterBy",
            "in": "query",
            "description": "filterBy - The filter by field. (Acceptable values are: \"\", \"old_state\", \"new_state\", \"any_state\", \"alert_key_partial\", \"dimension_key\", \"mitigation_id\", \"alert_id\", \"alert_key\", \"alarm_id\")",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "filterVal",
            "in": "query",
            "description": "filterVal - The filter by value.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "description": "sortOrder - The dimension to sort by. (Acceptable values are: \"alert_key\", \"severity\", \"mitigation_id\", \"alarm_id\", \"alert_id\", \"alert_value\", \"alarm_state\")",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "string",
              "default": "alert_id"
            }
          },
          {
            "name": "showMitigations",
            "in": "query",
            "description": "showMitigations - 0 showMitigations off, 1 showMitigations on.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "showAlarms",
            "in": "query",
            "description": "showAlarms - 0 showAlarms off, 1 showAlarms on.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "showMatches",
            "in": "query",
            "description": "showMatches - 0 showMatches off, 1 showMatches on.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "learningMode",
            "in": "query",
            "description": "learningMode - 0 learning mode off, 1 learning mode on.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/mykentik/tenants": {
      "get": {
        "tags": [
          "My Kentik Portal"
        ],
        "summary": "findUserGroups",
        "description": "Returns an array of tenants, each of which contains information about an individual tenant (see <a href='https://kb.kentik.com/Cb15.htm#Cb15-Tenant_List' target='_blank'>Tenant List</a>).<br/>* Required fields.",
        "operationId": "findUserGroups",
        "parameters": [

        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/mykentik/tenant/{tenant_id}": {
      "get": {
        "tags": [
          "My Kentik Portal"
        ],
        "summary": "findUserGroup",
        "description": "Returns a tenant object containing information about an individual tenant (see <a href='https://kb.kentik.com/Cb15.htm#Cb15-Tenant_Dialogs' target='_blank'>Tenant Dialogs</a>).<br/>* Required fields.",
        "operationId": "findUserGroup",
        "parameters": [
          {
            "name": "tenant_id",
            "in": "path",
            "description": "tenant_id - The ID of the tenant whose information will be returned.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/mykentik/tenant/{tenant_id}/user": {
      "post": {
        "tags": [
          "My Kentik Portal"
        ],
        "summary": "createTenantUser",
        "description": "Creates and returns a tenant user object containing information about an individual tenant user (see <a href='https://kb.kentik.com/Cb15.htm#Cb15-Add_a_Tenant_User' target='_blank'>Add a Tenant User</a>).<br/>* Required fields.",
        "operationId": "createTenantUser",
        "parameters": [
          {
            "name": "tenant_id",
            "in": "path",
            "description": "tenant_id - The ID of the tenant.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/createTenantUser"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/mykentik/tenant/{tenant_id}/user/{user_id}": {
      "delete": {
        "tags": [
          "My Kentik Portal"
        ],
        "summary": "deleteTenantUser",
        "description": "Deletes a tenant user from the system (see <a href='https://kb.kentik.com/Cb15.htm#Cb15-Remove_a_Tenant_User' target='_blank'>Remove a Tenant User</a>).<br/>* Required fields.",
        "operationId": "deleteTenantUser",
        "parameters": [
          {
            "name": "tenant_id",
            "in": "path",
            "description": "tenant_id - The ID of the tenant.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "user_id",
            "in": "path",
            "description": "user_id - The ID of the user.",
            "required": true,
            "style": "simple",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "components": {
    "schemas": {
      "runQuery": {
        "title": "runQuery",
        "type": "object",
        "properties": {
          "query": {
            "type": "string",
            "description": "SQL query to run."
          }
        }
      },
      "queryUrl": {
        "title": "queryUrl",
        "type": "object",
        "properties": {
          "version": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KentikPortalVersion"
              },
              {
                "description": "Generates a URL for a particular version of Kentik"
              }
            ]
          },
          "queries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/query"
            },
            "description": ""
          }
        }
      },
      "topxdata": {
        "title": "topxdata",
        "type": "object",
        "properties": {
          "queries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/query2"
            },
            "description": ""
          }
        }
      },
      "topxchart": {
        "title": "topxchart",
        "type": "object",
        "properties": {
          "queries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/query4"
            },
            "description": ""
          },
          "imageType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/imageType"
              },
              {
                "description": "imageType - Type of image"
              }
            ]
          }
        }
      },
      "createUser": {
        "title": "createUser",
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User"
          }
        }
      },
      "updateUser": {
        "title": "updateUser",
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User1"
          }
        }
      },
      "createDevice": {
        "title": "createDevice",
        "type": "object",
        "properties": {
          "device": {
            "$ref": "#/components/schemas/Device"
          }
        }
      },
      "updateDevice": {
        "title": "updateDevice",
        "type": "object",
        "properties": {
          "device": {
            "$ref": "#/components/schemas/Device1"
          }
        }
      },
      "deviceApplyLabels": {
        "title": "deviceApplyLabels",
        "required": [
          "labels"
        ],
        "type": "object",
        "properties": {
          "labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Labelid"
            },
            "description": ""
          }
        }
      },
      "createDeviceLabel": {
        "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."
          }
        }
      },
      "updateDeviceLabel": {
        "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."
          }
        }
      },
      "createInterface": {
        "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": {
              "$ref": "#/components/schemas/SecondaryIP"
            },
            "description": ""
          },
          "vrf": {
            "$ref": "#/components/schemas/VRF"
          }
        }
      },
      "updateInterface": {
        "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": {
              "$ref": "#/components/schemas/SecondaryIP"
            },
            "description": ""
          },
          "vrf": {
            "$ref": "#/components/schemas/VRF"
          }
        }
      },
      "createSite": {
        "title": "createSite",
        "type": "object",
        "properties": {
          "site": {
            "$ref": "#/components/schemas/Site"
          }
        }
      },
      "updateSite": {
        "title": "updateSite",
        "type": "object",
        "properties": {
          "site": {
            "$ref": "#/components/schemas/Site1"
          }
        }
      },
      "createTag": {
        "title": "createTag",
        "type": "object",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/Tag"
          }
        }
      },
      "updateTag": {
        "title": "updateTag",
        "type": "object",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/Tag"
          }
        }
      },
      "createCustomDimension": {
        "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": [
              {
                "$ref": "#/components/schemas/Type"
              },
              {
                "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."
          }
        }
      },
      "updateCustomDimension": {
        "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."
          }
        }
      },
      "createPopulator": {
        "title": "createPopulator",
        "type": "object",
        "properties": {
          "populator": {
            "$ref": "#/components/schemas/Populator"
          }
        }
      },
      "updatePopulator": {
        "title": "updatePopulator",
        "type": "object",
        "properties": {
          "populator": {
            "$ref": "#/components/schemas/Populator"
          }
        }
      },
      "createCustomApplication": {
        "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."
          }
        }
      },
      "updateCustomApplication": {
        "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."
          }
        }
      },
      "createSavedFilter": {
        "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": [
              {
                "$ref": "#/components/schemas/filters"
              },
              {
                "description": "filters - //"
              }
            ]
          }
        }
      },
      "updateSavedFilter": {
        "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": [
              {
                "$ref": "#/components/schemas/filters"
              },
              {
                "description": "filters - //"
              }
            ]
          }
        }
      },
      "createManualMitigation": {
        "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
          }
        }
      },
      "createTenantUser": {
        "title": "createTenantUser",
        "type": "object",
        "properties": {
          "user": {
            "$ref": "#/components/schemas/User2"
          }
        }
      },
      "aggregate": {
        "title": "aggregate",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "name - Name of the aggregate you're defining."
          },
          "column": {
            "allOf": [
              {
                "$ref": "#/components/schemas/column"
              },
              {
                "description": "column - The raw SQL column to use as the source for this aggregation."
              }
            ]
          },
          "fn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/fn"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/compositeFn"
              },
              {
                "description": "compositeFn - Operator function."
              }
            ]
          },
          "rightOperand": {
            "allOf": [
              {
                "$ref": "#/components/schemas/rightOperand"
              },
              {
                "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
          }
        }
      },
      "AuthenticationProtocol": {
        "title": "AuthenticationProtocol",
        "enum": [
          "NoAuth",
          "MD5",
          "SHA"
        ],
        "type": "string",
        "description": "AuthenticationProtocol - the auth protocol to use via SNMP v3"
      },
      "AuthenticationProtocol1": {
        "title": "AuthenticationProtocol1",
        "enum": [
          "NoAuth",
          "MD5",
          "SHA"
        ],
        "type": "string",
        "description": "AuthenticationProtocol - the auth protocol to use via SNMP v3"
      },
      "BGPType": {
        "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)"
      },
      "BGP": {
        "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)"
      },
      "column": {
        "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."
      },
      "compositeFn": {
        "title": "compositeFn",
        "enum": [
          "sum",
          "subtract",
          "multiply",
          "divide"
        ],
        "type": "string",
        "description": "compositeFn - Operator function."
      },
      "connector": {
        "title": "connector",
        "enum": [
          "All",
          "Any"
        ],
        "type": "string",
        "description": "connector - An AND/OR switch."
      },
      "ContributeToCDNAttribution": {
        "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\""
      },
      "ContributeToCDNAttribution1": {
        "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\"."
      },
      "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": [
              {
                "$ref": "#/components/schemas/Devicesubtype"
              },
              {
                "description": "device_subtype - The device subtype."
              }
            ]
          },
          "cdn_attr": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContributeToCDNAttribution"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/SNMPv3Authentication"
              },
              {
                "description": "device_snmp_v3_conf - Include this configuration to enable SNMP v3 authentication protocols. This supercedes SNMP Community."
              }
            ]
          },
          "device_bgp_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BGP"
              },
              {
                "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
          }
        }
      },
      "Devicesubtype": {
        "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."
      },
      "Device1": {
        "title": "Device1",
        "required": [
          "device_sample_rate",
          "device_bgp_type"
        ],
        "type": "object",
        "properties": {
          "cdn_attr": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContributeToCDNAttribution1"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/SNMPv3Authentication1"
              },
              {
                "description": "device_snmp_v3_conf - Include this configuration to enable SNMP v3 authentication protocols. This supercedes SNMP Community."
              }
            ]
          },
          "device_bgp_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BGPType"
              },
              {
                "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
          }
        }
      },
      "dimension": {
        "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)."
      },
      "Direction": {
        "title": "Direction",
        "enum": [
          "src",
          "dst",
          "either"
        ],
        "type": "string",
        "description": "direction - The direction of the populator. Valid values: \"src\", \"dst\", or \"either\"."
      },
      "fastData": {
        "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."
      },
      "filtergroup": {
        "title": "filtergroup",
        "required": [
          "connector"
        ],
        "type": "object",
        "properties": {
          "connector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/connector"
              },
              {
                "description": "connector - An AND/OR switch."
              }
            ]
          },
          "filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/filter"
            },
            "description": "filters - //"
          },
          "not": {
            "type": "boolean",
            "description": "not - Whether or not to NOT() the filter group.",
            "default": false
          }
        }
      },
      "filter": {
        "title": "filter",
        "required": [
          "filterField",
          "operator"
        ],
        "type": "object",
        "properties": {
          "filterField": {
            "allOf": [
              {
                "$ref": "#/components/schemas/filterField"
              },
              {
                "description": "filterField - A field operand."
              }
            ]
          },
          "operator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/operator"
              },
              {
                "description": "operator - An operator."
              }
            ]
          },
          "filterValue": {
            "type": "string",
            "description": "filterValue - An operand input by the user."
          }
        }
      },
      "filterField": {
        "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."
      },
      "filters": {
        "title": "filters",
        "required": [
          "connector",
          "filterGroups"
        ],
        "type": "object",
        "properties": {
          "connector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/connector"
              },
              {
                "description": "connector - An AND/OR switch."
              }
            ]
          },
          "filterGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/filtergroup"
            },
            "description": ""
          }
        },
        "description": "filters - //"
      },
      "filters_obj": {
        "title": "filters_obj",
        "required": [
          "connector",
          "filterGroups"
        ],
        "type": "object",
        "properties": {
          "connector": {
            "allOf": [
              {
                "$ref": "#/components/schemas/connector"
              },
              {
                "description": "connector - An AND/OR switch."
              }
            ]
          },
          "filterGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/filtergroup"
            },
            "description": ""
          }
        },
        "description": "filters_obj - //"
      },
      "fn": {
        "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'."
      },
      "imageType": {
        "title": "imageType",
        "enum": [
          "pdf",
          "png",
          "jpg",
          "svg"
        ],
        "type": "string",
        "description": "imageType - Type of image"
      },
      "KentikPortalVersion": {
        "title": "KentikPortalVersion",
        "enum": [
          2,
          3,
          4
        ],
        "type": "integer",
        "description": "Generates a URL for a particular version of Kentik"
      },
      "Labelid": {
        "title": "Labelid",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "id - Label id to be applied to the device."
          }
        }
      },
      "metric": {
        "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."
      },
      "operator": {
        "title": "operator",
        "enum": [
          "=",
          "<>",
          "ILIKE",
          "NOT ILIKE",
          "~",
          "!~",
          ">",
          "<",
          "&"
        ],
        "type": "string",
        "description": "operator - An operator."
      },
      "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": [
              {
                "$ref": "#/components/schemas/Direction"
              },
              {
                "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."
          }
        }
      },
      "PrivacyProtocol": {
        "title": "PrivacyProtocol",
        "enum": [
          "NoPriv",
          "DES",
          "AES"
        ],
        "type": "string",
        "description": "PrivacyProtocol - the privacy protocol to use to authenticate via SNMP v3"
      },
      "PrivacyProtocol1": {
        "title": "PrivacyProtocol1",
        "enum": [
          "NoPriv",
          "DES",
          "AES"
        ],
        "type": "string",
        "description": "PrivacyProtocol - the privacy protocol to use to authenticate via SNMP v3"
      },
      "query": {
        "title": "query",
        "type": "object",
        "properties": {
          "query": {
            "allOf": [
              {
                "$ref": "#/components/schemas/query1"
              },
              {
                "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."
          }
        }
      },
      "query1": {
        "title": "query1",
        "required": [
          "dimension",
          "metric",
          "topx",
          "depth",
          "fastData",
          "outsort",
          "lookback_seconds",
          "time_format",
          "device_name"
        ],
        "type": "object",
        "properties": {
          "dimension": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/dimension"
            },
            "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": [
              {
                "$ref": "#/components/schemas/metric"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/fastData"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/timeformat"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/filters_obj"
              },
              {
                "description": "filters_obj - //"
              }
            ]
          },
          "saved_filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/saved_filter"
            },
            "description": "saved_filters - //"
          },
          "descriptor": {
            "type": "string",
            "description": "descriptor - This effects the 'name' column returned when using the 'Traffic' dimension"
          },
          "aggregates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/aggregate"
            },
            "description": ""
          }
        },
        "description": "query - Query object."
      },
      "query3": {
        "title": "query3",
        "required": [
          "dimension",
          "metric",
          "topx",
          "depth",
          "fastData",
          "outsort",
          "lookback_seconds",
          "device_name"
        ],
        "type": "object",
        "properties": {
          "dimension": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/dimension"
            },
            "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": [
              {
                "$ref": "#/components/schemas/metric"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/fastData"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/filters_obj"
              },
              {
                "description": "filters_obj - //"
              }
            ]
          },
          "saved_filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/saved_filter"
            },
            "description": "saved_filters - //"
          },
          "descriptor": {
            "type": "string",
            "description": "descriptor - This effects the 'name' column returned when using the 'Traffic' dimension"
          },
          "aggregates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/aggregate"
            },
            "description": ""
          }
        },
        "description": "query - Query object."
      },
      "query5": {
        "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": {
              "$ref": "#/components/schemas/dimension"
            },
            "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": [
              {
                "$ref": "#/components/schemas/metric"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/fastData"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/filters_obj"
              },
              {
                "description": "filters_obj - //"
              }
            ]
          },
          "saved_filters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/saved_filter"
            },
            "description": "saved_filters - //"
          },
          "descriptor": {
            "type": "string",
            "description": "descriptor - This effects the 'name' column returned when using the 'Traffic' dimension"
          },
          "aggregates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/aggregate"
            },
            "description": ""
          },
          "query_title": {
            "type": "string",
            "description": "query_title - The query's title."
          }
        },
        "description": "query - Query object."
      },
      "query2": {
        "title": "query2",
        "type": "object",
        "properties": {
          "query": {
            "allOf": [
              {
                "$ref": "#/components/schemas/query3"
              },
              {
                "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."
          }
        }
      },
      "query4": {
        "title": "query4",
        "type": "object",
        "properties": {
          "query": {
            "allOf": [
              {
                "$ref": "#/components/schemas/query5"
              },
              {
                "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
          }
        }
      },
      "rightOperand": {
        "title": "rightOperand",
        "enum": [
          "sum",
          "subtract",
          "multiply",
          "divide"
        ],
        "type": "string",
        "description": "rightOperand - Value for right side of composite equation; used only for 'composite' fn"
      },
      "saved_filter": {
        "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 - //"
      },
      "SecondaryIP": {
        "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."
          }
        }
      },
      "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."
          }
        }
      },
      "Site1": {
        "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."
          }
        }
      },
      "SNMPv3Authentication": {
        "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": [
              {
                "$ref": "#/components/schemas/AuthenticationProtocol"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/PrivacyProtocol"
              },
              {
                "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."
      },
      "SNMPv3Authentication1": {
        "title": "SNMPv3Authentication1",
        "type": "object",
        "properties": {
          "UserName": {
            "type": "string",
            "description": "UserName - the user name to use to authenticate via SNMP v3."
          },
          "AuthenticationProtocol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuthenticationProtocol1"
              },
              {
                "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": [
              {
                "$ref": "#/components/schemas/PrivacyProtocol1"
              },
              {
                "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."
      },
      "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."
          }
        }
      },
      "timeformat": {
        "title": "timeformat",
        "enum": [
          "UTC",
          "Local"
        ],
        "type": "string",
        "description": "time_format - The time zone in which times are expressed, either UTC or local."
      },
      "Type": {
        "title": "Type",
        "enum": [
          "string",
          "uint32"
        ],
        "type": "string",
        "description": "type - The type of the custom dimension. Valid values: \"string\" or \"uint32\"."
      },
      "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": [
              {
                "$ref": "#/components/schemas/Userrole"
              },
              {
                "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."
          }
        }
      },
      "Userrole": {
        "title": "Userrole",
        "enum": [
          "Administrator",
          "Member"
        ],
        "type": "string",
        "description": "role - The user's role. Valid values: Member (0) or Administrator (1)."
      },
      "Userrole1": {
        "title": "Userrole1",
        "enum": [
          "Administrator",
          "Member"
        ],
        "type": "string",
        "description": "role - The user's role. Valid values: Member (0) or Administrator (1)."
      },
      "User1": {
        "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": [
              {
                "$ref": "#/components/schemas/Userrole1"
              },
              {
                "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
          }
        }
      },
      "User2": {
        "title": "User2",
        "required": [
          "user_email"
        ],
        "type": "object",
        "properties": {
          "user_email": {
            "type": "string",
            "description": "user_email - A valid email address for the user."
          }
        }
      },
      "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."
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Query Methods",
      "description": ""
    },
    {
      "name": "user",
      "description": ""
    },
    {
      "name": "device",
      "description": ""
    },
    {
      "name": "device label",
      "description": ""
    },
    {
      "name": "plan",
      "description": ""
    },
    {
      "name": "site",
      "description": ""
    },
    {
      "name": "tag",
      "description": ""
    },
    {
      "name": "custom_dimension",
      "description": ""
    },
    {
      "name": "custom_application",
      "description": ""
    },
    {
      "name": "savedfilter",
      "description": ""
    },
    {
      "name": "alerts",
      "description": ""
    },
    {
      "name": "alerts_active",
      "description": ""
    },
    {
      "name": "My Kentik Portal",
      "description": ""
    }
  ]
}