Kentik DeviceService API

The DeviceService API from Kentik — 7 operation(s) for deviceservice.

Specifications

Other Resources

🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-synthetics.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-cloud-export.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-alerting.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-mitigation.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-alert-policy.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-device.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-user.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-site.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-label.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-as-group.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-notification-channel.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-capacity-plan.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-bgp-monitoring.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-mkp.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-kmi.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-cost.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-custom-dimension.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-flow-tag.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-ai-advisor.proto
🔗
Protobuf
https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/grpc/kentik-audit.proto

OpenAPI Specification

kentik-deviceservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: AI Advisor AiAdvisorDataService DeviceService API
  description: '# Overview

    Provides programmatic access to AI Advisor.'
  version: v202511
  contact:
    name: Kentik API Engineering
    url: https://github.com/kentik/api-schema-public
security:
- email: []
  token: []
tags:
- name: DeviceService
paths:
  /device/v202504beta2/device:
    get:
      summary: List all devices.
      description: 'Returns list of configured devices. Use the ''view'' parameter to control response detail: FULL (default), BASIC (id, name, status), or ID_ONLY (id only). See [About Devices](https://kb.kentik.com/v4/Cb01.htm).'
      operationId: ListDevices
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2ListDevicesResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: query.noCustomColumns
        in: query
        required: false
        schema:
          type: boolean
      - name: view
        description: "Controls the amount of detail returned for each device. Defaults to FULL.\n\n - DEVICE_VIEW_UNSPECIFIED: When unspecified, defaults to FULL for backward compatibility.\n - DEVICE_VIEW_FULL: Returns the full device configuration with all fields populated.\n - DEVICE_VIEW_BASIC: Returns only basic device information: id, device_name, device_status.\n - DEVICE_VIEW_ID_ONLY: Returns only device IDs."
        in: query
        required: false
        schema:
          type: string
          enum:
          - DEVICE_VIEW_UNSPECIFIED
          - DEVICE_VIEW_FULL
          - DEVICE_VIEW_BASIC
          - DEVICE_VIEW_ID_ONLY
          default: DEVICE_VIEW_UNSPECIFIED
      tags:
      - DeviceService
    post:
      summary: Configure a new device.
      description: Create configuration for a new device. Returns the newly created configuration (see [About Devices](https://kb.kentik.com/v4/Cb01.htm)).
      operationId: CreateDevice
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2CreateDeviceResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202504beta2CreateDeviceRequest'
        required: true
      tags:
      - DeviceService
  /device/v202504beta2/device/batch_create:
    post:
      summary: Configure multiple devices (max 100).
      description: Create configuration for multiple devices. Returns the newly created configurations (see [About Devices](https://kb.kentik.com/v4/Cb01.htm)).
      operationId: CreateDevices
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2CreateDevicesResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202504beta2CreateDevicesRequest'
        required: true
      tags:
      - DeviceService
  /device/v202504beta2/device/batch_delete:
    post:
      summary: Delete configuration of multiple devices.
      description: Deletes configuration of multiple devices with specific IDs (see [About Devices](https://kb.kentik.com/v4/Cb01.htm)).
      operationId: DeleteDevices
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2DeleteDevicesResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202504beta2DeleteDevicesRequest'
        required: true
      tags:
      - DeviceService
  /device/v202504beta2/device/batch_update:
    put:
      summary: Updates configuration of multiple devices (max 100).
      description: Replaces configuration of multiple devices with attributes in the request. Returns the updated configurations (see [About Devices](https://kb.kentik.com/v4/Cb01.htm)).
      operationId: UpdateDevices
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2UpdateDevicesResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202504beta2UpdateDevicesRequest'
        required: true
      tags:
      - DeviceService
  /device/v202504beta2/device/name/{deviceName}:
    get:
      summary: Retrieve configuration of a device by name.
      description: Returns configuration of a device specified by name (see [About Devices](https://kb.kentik.com/v4/Cb01.htm)).
      operationId: GetDeviceByName
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2GetDeviceByNameResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: deviceName
        description: Name of the requested device
        in: path
        required: true
        schema:
          type: string
      - name: query.noCustomColumns
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - DeviceService
  /device/v202504beta2/device/{device.id}:
    put:
      summary: Updates configuration of a device.
      description: Replaces configuration of a device with attributes in the request. Returns the updated configuration (see [About Devices](https://kb.kentik.com/v4/Cb01.htm)).
      operationId: UpdateDevice
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2UpdateDeviceResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: device.id
        description: System generated unique identifier
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceServiceUpdateDeviceBody'
        required: true
      tags:
      - DeviceService
    get:
      summary: Retrieve configuration of a device.
      description: Returns configuration of a device specified by ID (see [About Devices](https://kb.kentik.com/v4/Cb01.htm)).
      operationId: GetDevice
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2GetDeviceResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: device.id
        description: ID of the requested device
        in: path
        required: true
        schema:
          type: string
      - name: query.noCustomColumns
        in: query
        required: false
        schema:
          type: boolean
      tags:
      - DeviceService
    delete:
      summary: Delete configuration of a device.
      description: Deletes configuration of a device with specific ID (see [About Devices](https://kb.kentik.com/v4/Cb01.htm)).
      operationId: DeleteDevice
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2DeleteDeviceResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: device.id
        description: ID of the device to be deleted
        in: path
        required: true
        schema:
          type: string
      tags:
      - DeviceService
  /device/v202504beta2/device/{id}/labels:
    put:
      summary: Updates labels of a device.
      description: Removes all existing labels from the device and applies the device labels (see [About Device Labels](https://kb.kentik.com/v4/Cb16.htm)) specified by id. Returns the updated configuration.
      operationId: UpdateDeviceLabels
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202504beta2UpdateDeviceLabelsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: id
        description: ID of the device to be updated
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceServiceUpdateDeviceLabelsBody'
        required: true
      tags:
      - DeviceService
components:
  schemas:
    v202504beta2LabelConcise:
      type: object
      properties:
        id:
          type: integer
          format: int64
          description: Label ID
      title: LabelConcise
    v202504beta2Site:
      type: object
      properties:
        id:
          type: string
          description: Site ID
        siteName:
          type: string
          description: Site name
        lat:
          type: number
          format: double
          description: Site latitude
        lon:
          type: number
          format: double
          description: Site longitude
        companyId:
          type: string
          description: Company ID
      title: Site
    v202504beta2Interface:
      type: object
      properties:
        interfaceDescription:
          type: string
          description: Interface description
        initialSnmpSpeed:
          type: string
          description: Initial SNMP speed
        deviceId:
          type: string
          description: Device ID
        snmpSpeed:
          type: string
          description: SNMP speed
        snmpAlias:
          type: string
          description: SNMP alias
        snmpId:
          type: string
          description: SNMP ID
        connectivityType:
          type: string
          description: Connectivity type
        networkBoundary:
          type: string
          description: Network boundary
        provider:
          type: string
          description: Provider
      title: Interface
    v202504beta2Plan:
      type: object
      properties:
        id:
          type: string
          description: Plan ID
        name:
          type: string
          description: Plan name
        active:
          type: boolean
          description: Plan Status
        bgp:
          type: boolean
          description: BGP enabled
        companyId:
          type: string
          description: Company ID
        description:
          type: string
          description: Plan Description
        deviceTypes:
          type: array
          items:
            type: string
          description: Device Types
        devices:
          type: array
          items:
            type: string
          description: Devices
        fastRetention:
          type: integer
          format: int64
          description: Fast Rention in days
        fullRetention:
          type: integer
          format: int64
          description: Full Retention in days
        maxBigdataFps:
          type: integer
          format: int64
          description: Max data FPS
        maxDevices:
          type: integer
          format: int64
          description: Max Device
        maxFps:
          type: integer
          format: int64
          description: Max FPS
        cdate:
          type: string
          format: date-time
          description: Created Date
        edate:
          type: string
          format: date-time
          description: Updated Data
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Plan Metadata
      title: Plan
    v202504beta2GnmiV1Conf:
      type: object
      properties:
        dialoutServer:
          type: string
          description: Dialout server
      title: GnmiV1Conf
    v202504beta2GetDeviceByNameResponse:
      type: object
      properties:
        device:
          $ref: '#/components/schemas/v202504beta2DeviceDetailed'
      title: GetDeviceByNameResponse
    v202504beta2CreateDeviceResponse:
      type: object
      properties:
        device:
          $ref: '#/components/schemas/v202504beta2DeviceDetailed'
      title: CreateDeviceResponse
    v202504beta2DeleteDeviceResponse:
      type: object
      title: DeleteDeviceResponse
    v202504beta2DeviceDetailed:
      type: object
      properties:
        id:
          type: string
          description: System generated unique identifier
          readOnly: true
        companyId:
          type: string
          description: Company ID
        deviceName:
          type: string
          description: Device name
        deviceAlias:
          type: string
          description: Device alias
        deviceType:
          type: string
          description: Device type
        deviceDescription:
          type: string
          description: Device description
        site:
          $ref: '#/components/schemas/v202504beta2Site'
        plan:
          $ref: '#/components/schemas/v202504beta2Plan'
        labels:
          type: array
          items:
            $ref: '#/components/schemas/devicev202504beta2Label'
          description: List of labels
        allInterfaces:
          type: array
          items:
            $ref: '#/components/schemas/v202504beta2Interface'
          description: List of interfaces
        deviceFlowType:
          type: string
          description: Device flow type
        deviceSampleRate:
          type: string
          description: Device sample rate
        sendingIps:
          type: array
          items:
            type: string
          description: List of sending IPs
        deviceSnmpIp:
          type: string
          description: Device SNMP IP
        deviceSnmpCommunity:
          type: string
          description: Device SNMP community
          title: Keeping these tokens so we can give the user a useful error.  They are removed from DeviceRequest
        minimizeSnmp:
          type: boolean
          description: Minimize SNMP
        deviceBgpType:
          type: string
          description: Device BGP type
        deviceBgpNeighborIp:
          type: string
          description: Device BGP neighbor IP
        deviceBgpNeighborIp6:
          type: string
          description: Device BGP neighbor IP6
        deviceBgpNeighborAsn:
          type: string
          description: Device BGP neighbor ASN
        deviceBgpFlowspec:
          type: boolean
          description: Device BGP flowspec
        deviceBgpPassword:
          type: string
          description: Device BGP password
          title: Keeping these tokens so we can give the user a useful error.  They are removed from DeviceRequest
        deviceBgpLabelUnicast:
          type: boolean
          description: Device BGP label unicast
        bgpLookupStrategy:
          type: string
          description: BGP lookup strategy
        deviceStatus:
          type: string
          description: Device status
        useBgpDeviceId:
          type: string
          description: Use BGP device ID
        customColumns:
          type: string
          description: Custom columns
        customColumnData:
          type: array
          items:
            $ref: '#/components/schemas/v202504beta2CustomColumnData'
          description: Custom column data
        deviceChfClientPort:
          type: string
          description: Device CHF client port
        deviceChfClientProtocol:
          type: string
          description: Device CHF client protocol
        deviceChfInterface:
          type: string
          description: Device CHF interface
        deviceAgentType:
          type: string
          description: Device agent type
        maxFlowRate:
          type: integer
          format: int64
          description: Max flow rate
        maxBigFlowRate:
          type: integer
          format: int64
          description: Max big flow rate
        deviceProxyBgp:
          type: string
          description: Device proxy BGP
        deviceProxyBgp6:
          type: string
          description: Device proxy BGP6
        createdDate:
          type: string
          format: date-time
          description: Creation timestamp (UTC)
        updatedDate:
          type: string
          format: date-time
          description: Last modification timestamp (UTC)
        deviceSnmpV3ConfEnabled:
          type: boolean
          description: Device SNMP v3 configuration enabled
        deviceSnmpV3Conf:
          $ref: '#/components/schemas/v202504beta2DeviceSnmpV3Conf'
        cdnAttr:
          type: string
          description: CDN attributes
        bgpPeerIp4:
          type: string
          description: BGP peer IP4
        bgpPeerIp6:
          type: string
          description: BGP peer IP6
        deviceSubtype:
          type: string
          description: Device subtype
        deviceVendorType:
          type: string
          description: Device vendor type
        deviceModelType:
          type: string
          description: Device model type
        cloudExportId:
          type: string
          description: Cloud export ID
        deviceKproxy:
          type: string
          description: Device KProxy
        snmpEnabled:
          type: string
          description: SNMP enabled
        snmpDisabledReason:
          type: string
          description: SNMP disabled reason
        snmpDisabledReasonOther:
          type: string
          description: SNMP disabled reason other
        bgpDisabledReason:
          type: string
          description: BGP disabled reason
        bgpDisabledReasonOther:
          type: string
          description: BGP disabled reason other
        deviceManufacturer:
          type: string
          description: Device manufacturer
        deviceAlert:
          type: string
          description: Device alert
        role:
          type: string
          description: Role
        deviceGnmiV1Conf:
          $ref: '#/components/schemas/v202504beta2GnmiV1Conf'
        useAsnFromFlow:
          type: boolean
          description: Use ASN from flow
        maxInterface:
          type: integer
          format: int64
          description: Max interface
        maxInterfaceCheck:
          type: integer
          format: int64
          description: Max interface check
        nms:
          $ref: '#/components/schemas/v202504beta2DeviceNmsConfig'
        deviceBgpCredentialName:
          type: string
          description: BGP Credential Name (device_bgp_credential_name) - Unsupported Field. Use device_bgp_password instead.
        flowSnmpCredentialName:
          type: string
          description: 'Snmp Credential Name (flow_snmp_credential_name) - Optional Credential Name (Credential for Flow Snmp peering). Valid characters: alphanumeric. Length: 32.'
        monitoringTemplateId:
          type: integer
          format: int64
          description: Monitoring template - The ID of the monitoring template assigned to this device.
        osName:
          type: string
          description: Operating system name
        osVersion:
          type: string
          description: Operating system version
        serialNumber:
          type: string
          description: Serial number
      title: DeviceDetailed
    v202504beta2CreateDevicesResponse:
      type: object
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/v202504beta2DeviceDetailed'
          description: List of configurations of newly created devices
        failedDevices:
          type: array
          items:
            type: string
          description: List of names of devices that failed to be created
      title: CreateDevicesResponse
    v202504beta2DeviceNmsConfig:
      type: object
      properties:
        agentId:
          type: string
          description: ID of the agent that is monitoring this device.
        ipAddress:
          type: string
          description: Local IP address of this device.
        snmp:
          $ref: '#/components/schemas/v202504beta2DeviceNmsSnmpConfig'
        st:
          $ref: '#/components/schemas/v202504beta2DeviceNmsStConfig'
      title: DeviceNmsConfig
    v202504beta2UpdateDevicesRequest:
      type: object
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/v202504beta2DeviceConcise'
          description: List of configurations of devices to be updated
      title: UpdateDevicesRequest
      required:
      - devices
    v202504beta2DeviceNmsStConfig:
      type: object
      properties:
        credentialName:
          type: string
          description: Name of the ST credentials from the credential vault.
        port:
          type: integer
          format: int64
          description: ST port, to override default of 6030.
        timeout:
          type: string
          description: Timeout, to override default of 2s.
        secure:
          type: boolean
          description: Use SSL to connect to this device.
      title: DeviceNmsStConfig
    v202504beta2DeviceSnmpV3Conf:
      type: object
      properties:
        username:
          type: string
          description: UserName (username) - the user name to use to authenticate via SNMP v3. ** UserName is required when device_snmp_v3_conf is not null
        authenticationProtocol:
          type: string
          description: Authentication Protocol (authentication_protocol) - the auth protocol to use via SNMP v3
        authenticationPassphrase:
          type: string
          description: Authentication Passphrase (authentication_passphrase) - the passphrase to use for SNMP v3 authentication protocol (required when AuthenticationProtocol not NoAuth)
        privacyProtocol:
          type: string
          description: Privacy Protocol (privacy_protocol) - the privacy protocol to use to authenticate via SNMP v3
        privacyPassphrase:
          type: string
          description: Privacy Passphrase (privacy_passphrase) - the passphrase to use for SNMP v3 privacy protocol (required when PrivacyProtocol not NoPriv)
      title: DeviceSnmpV3Conf
    v202504beta2DeleteDevicesResponse:
      type: object
      properties:
        failedDevices:
          type: array
          items:
            type: string
          description: List of IDs of devices that failed to be deleted
      title: DeleteDevicesResponse
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    v202504beta2DeviceNmsSnmpConfig:
      type: object
      properties:
        credentialName:
          type: string
          description: Name of the SNMP credentials from the credential vault.
        port:
          type: integer
          format: int64
          description: SNMP port, to override default of 161.
        timeout:
          type: string
          description: Timeout, to override default of 2s.
      title: DeviceNmsSnmpConfig
    v202504beta2CreateDeviceRequest:
      type: object
      properties:
        device:
          $ref: '#/components/schemas/v202504beta2DeviceConcise'
      title: CreateDeviceRequest
      required:
      - device
    v202504beta2UpdateDevicesResponse:
      type: object
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/v202504beta2DeviceDetailed'
          description: List of configurations of updated devices
        failedDevices:
          type: array
          items:
            type: string
          description: List of IDs of devices that failed to be updated
      title: UpdateDevicesResponse
    v202504beta2CustomColumnData:
      type: object
      properties:
        deviceId:
          type: string
          description: Device ID
        fieldId:
          type: string
          description: Field ID
        colName:
          type: string
          description: Column name
        description:
          type: string
          description: Description
        colType:
          type: string
          description: Column type
        deviceType:
          type: string
          description: Device type
      title: CustomColumnData
    v202504beta2CreateDevicesRequest:
      type: object
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/v202504beta2DeviceConcise'
          description: List of configurations of devices to be created
      title: CreateDevicesRequest
      required:
      - devices
    v202504beta2GetDeviceResponse:
      type: object
      properties:
        device:
          $ref: '#/components/schemas/v202504beta2DeviceDetailed'
      title: GetDeviceResponse
    DeviceServiceUpdateDeviceLabelsBody:
      type: object
      properties:
        labels:
          type: array
          items:
            $ref: '#/components/schemas/v202504beta2LabelConcise'
          description: List of labels to be added to the device
      title: UpdateDeviceLabelsRequest
      required:
      - labels
    DeviceServiceUpdateDeviceBody:
      type: object
      properties:
        device:
          type: object
          properties:
            deviceName:
              type: string
              description: 'Device name (device_name) - The name of the device. Valid characters: alphanumeric and underscores. Length: min=4, max=60.'
            deviceSubtype:
              type: string
              description: Device subtype (device_subtype) - The device subtype.
            cdnAttr:
              type: string
              description: 'CDN attributes (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"'
            deviceDescription:
              type: string
              description: 'Description (device_description) - The device description. Valid characters: any. Length: max=128.'
            sendingIps:
              type: array
              items:
                type: string
              description: Device ip (sending_ips) - Array containing one or more IP address(es), from which the device is sending flow. ** sending_ips is required when the device subtype's parent type is "router"
            deviceSampleRate:
              type: number
              format: double
              description: 'Sample rate (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"'
            planId:
              type: integer
              format: int64
              description: 'Plan (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.'
            siteId:
              type: integer
              format: int64
              description: 'Site (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.'
            minimizeSnmp:
              type: boolean
              description: SNMP polling (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"
            deviceSnmpIp:
              type: string
              description: Device SNMP IP (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"
            deviceSnmpCommunity:
              type: string
              description: SNMP community (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"
            deviceSnmpV3Conf:
              $ref: '#/components/schemas/v202504beta2DeviceSnmpV3Conf'
            deviceBgpType:
              type: string
              description: 'BGP (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)'
            deviceBgpNeighborIp:
              type: string
              description: Your IPv4 peering address (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"
            deviceBgpNeighborIp6:
              type: string
              description: Your IPv6 peering address (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"
            deviceBgpNeighborAsn:
              type: string
              description: Your ASN (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"
            deviceBgpPassword:
              type: string
              description: 'BGP md5 password (device_bgp_password) - Optional BGP MD5 password (shared authentication password for BGP peering). Valid characters: printable ASCII excluding space and question mark. Length: 32. device_bgp_password is optional when device_bgp_type is set to "device"'
            useBgpDeviceId:
              type: string
              description: 'Select master BGP device (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'
        

# --- truncated at 32 KB (41 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kentik/refs/heads/main/openapi/kentik-deviceservice-api-openapi.yml