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: form
        explode: true
        schema:
          type: string
      - name: endTime
        in: query
        description: endTime - The endTime of the alert. E.g. "2018-10-15T22:16:00".
        required: true
        style: form
        explode: true
        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: form
        explode: true
        schema:
          type: string
      - name: filterVal
        in: query
        description: filterVal - The filter by value.
        required: true
        style: form
        explode: true
        schema:
          type: string
      - name: showMitigations
        in: query
        description: showMitigations - 0 showMitigations off, 1 showMitigations on.
        required: true
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: showAlarms
        in: query
        description: showAlarms - 0 showAlarms off, 1 showAlarms on.
        required: true
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: showMatches
        in: query
        description: showMatches - 0 showMatches off, 1 showMatches on.
        required: true
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: learningMode
        in: query
        description: learningMode - 0 learning mode off, 1 learning mode on.
        required: true
        style: form
        explode: true
        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: form
        explode: true
        schema:
          type: string
      - name: endTime
        in: query
        description: endTime - The endTime of the alert. E.g. "2018-10-15T22:16:00".
        required: true
        style: form
        explode: true
        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: form
        explode: true
        schema:
          type: string
      - name: filterVal
        in: query
        description: filterVal - The filter by value.
        required: true
        style: form
        explode: true
        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: form
        explode: true
        schema:
          type: string
      - name: showMitigations
        in: query
        description: showMitigations - 0 showMitigations off, 1 showMitigations on.
        required: true
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: showAlarms
        in: query
        description: showAlarms - 0 showAlarms off, 1 showAlarms on.
        required: true
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: showMatches
        in: query
        description: showMatches - 0 showMatches off, 1 showMatches on.
        required: true
        style: form
        explode: true
        schema:
          type: integer
          format: int32
      - name: learningMode
        in: query
        description: learningMode - 0 learning mode off, 1 learning mode on.
        required: true
        style: form
        explode: true
        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:
          $ref: '#/components/schemas/KentikPortalVersion'
        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:
          $ref: '#/components/schemas/imageType'
    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:
          $ref: '#/components/schemas/Type'
        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:
          $ref: '#/components/schemas/Filters1'
    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:
          $ref: '#/components/schemas/Filters1'
    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:
          $ref: '#/components/schemas/column'
        fn:
          $ref: '#/components/schemas/fn'
        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:
          $ref: '#/components/schemas/compositeFn'
        rightOperand:
          $ref: '#/components/schemas/rightOperand'
        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
    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:
          $ref: '#/components/schemas/Devicesubtype'
        cdn_attr:
          $ref: '#/components/schemas/ContributeToCDNAttribution'
        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:
          $ref: '#/components/schemas/DeviceSnmpV3Conf'
        device_bgp_type:
          $ref: '#/components/schemas/BGPType'
        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:
          $ref: '#/components/schemas/ContributeToCDNAttribution1'
        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:
          $ref: '#/components/schemas/DeviceSnmpV3Conf1'
        device_bgp_type:
          $ref: '#/components/schemas/BGPType'
        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:
          $ref: '#/components/schemas/connector'
        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:
          $ref: '#/components/schemas/filterField'
        operator:
          $ref: '#/components/schemas/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:
          $ref: '#/components/schemas/connector'
        filterGroups:
          type: array
          items:
            $ref: '#/components/schemas/filtergroup'
          description: ''
      description: filters - //
    filters_obj:
      title: filters_obj
      required:
      - connector
      - filterGroups
      type: object
      properties:
        connector:
          $ref: '#/components/schemas/connector'
        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:
          $ref: '#/components/schemas/Direction'
        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
    query:
      title: query
      type: object
      properties:
        query:
          $ref: '#/components/schemas/Query12'
        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:
          $ref: '#/components/schemas/metric'
        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:
          $ref: '#/components/schemas/fastData'
        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:
          $ref: '#/components/schemas/timeformat'
        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:
          $ref: '#/components/schemas/FiltersObj1'
        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:
          $ref: '#/components/schemas/metric'
        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:
          $ref: '#/components/schemas/fastData'
        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:
          $ref: '#/components/schemas/FiltersObj1'
        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:
          $ref: '#/components/schemas/metric'
        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:
          $ref: '#/components/schemas/fastData'
        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:
          $ref: '#/components/schemas/FiltersObj1'
        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:
          $ref: '#/components/schemas/Query32'
        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:
          $ref: '#/components/schemas/Query52'
        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:
          $ref: '#/components/schemas/AuthenticationProtocol'
        AuthenticationPassphrase:
          type: string
          description: AuthenticationPassphrase - the passphrase to use for SNMP v3 authentication protocol (required when AuthenticationProtocol not NoAuth)
        PrivacyProtocol:
          $ref: '#/components/schemas/PrivacyProtocol'
        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:
          $ref: '#/components/schemas/AuthenticationProtocol'
        AuthenticationPassphrase:
          type: string
          description: AuthenticationPassphrase - the passphrase to use for SNMP v3 authentication protocol (required when AuthenticationProtocol not NoAuth)
        PrivacyProtocol:
          $ref: '#/components/schemas/PrivacyProtocol'
        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:
          $ref: '#/components/schemas/Userrole'
        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)."
    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:
          $ref: '#/components/schemas/Userrole'
        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.
    DeviceSnmpV3Conf:
      title: DeviceSnmpV3Conf
      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:
          $ref: '#/components/schemas/AuthenticationProtocol'
        AuthenticationPassphrase:
          type: string
          description: AuthenticationPassphrase - the passphrase to use for SNMP v3 authentication protocol (required when AuthenticationProtocol not NoAuth)
        PrivacyProtocol:
          $ref: '#/components/schemas/PrivacyProtocol'
        PrivacyPassphrase:
          type: string
          description: PrivacyPassphrase - the passphrase to use for SNMP v3 privacy protocol (required when PrivacyProtocol not NoPriv)
    DeviceSnmpV3Conf1:
      title: DeviceSnmpV3Conf1
      type: object
      properties:
        UserName:
          type: string
          description: UserName - the user name to use to authenticate via SNMP v3.
        AuthenticationProtocol:
          $ref: '#/components/schemas/AuthenticationProtocol'
        AuthenticationPassphrase:
          type: string
          description: AuthenticationPassphrase - the passphrase to use for SNMP v3 authentication protocol (required when AuthenticationProtocol not NoAuth)
        PrivacyProtocol:
          $ref: '#/components/schemas/PrivacyProtocol'
        PrivacyPassphrase:
          type: string
          description: PrivacyPassphrase - the passphrase to use for SNMP v3 privacy protocol (required when PrivacyProtocol not NoPriv)
    Filters1:
      title: Filters1
      required:
      - connector
      - filterGroups
      type: object
      properties:
        connector:
          $ref: '#/components/schemas/connector'
        filterGroups:
          type: array
          items:
            $ref: '#/components/schemas/filtergroup'
          description: ''
    FiltersObj1:
      title: FiltersObj1
      required:
      - connector
      - filterGroups
      type: object
      properties:
        connector:
          $ref: '#/components/schemas/connector'
        filterGroups:
          type: array
          items:
            $ref: '#/components/schemas/filtergroup'
          description: ''
    Query12:
      title: Query12
      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:
          $ref: '#/components/schemas/metric'
        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:
          $ref: '#/components/schemas/fastData'
        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:
          $ref: '#/components/schemas/timeformat'
        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:
          $ref: '#/components/schemas/FiltersObj1'
        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: ''
    Query32:
      title: Query32
      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:
          $ref: '#/components/schemas/metric'
        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:
          $ref: '#/components/schemas/fastData'
        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:
          $ref: '#/components/schemas/FiltersObj1'
        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: ''
    Query52:
      title: Query52
      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:
          $ref: '#/components/schemas/metric'
        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:
          $ref: '#/components/schemas/fastData'
        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:
          $ref: '#/components/schemas/FiltersObj1'
        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.
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: ''
