Kentik DeviceService API

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

Operations 10

GET /device/v202504beta2/device List all devices #
POST /device/v202504beta2/device Configure a new device #
POST /device/v202504beta2/device/batch_create Configure multiple devices (max 100) #
POST /device/v202504beta2/device/batch_delete Delete configuration of multiple devices #
PUT /device/v202504beta2/device/batch_update Updates configuration of multiple devices (max 100) #
GET /device/v202504beta2/device/name/{deviceName} Retrieve configuration of a device by name #
PUT /device/v202504beta2/device/{device.id} Updates configuration of a device #
GET /device/v202504beta2/device/{device.id} Retrieve configuration of a device #
DELETE /device/v202504beta2/device/{device.id} Delete configuration of a device #
PUT /device/v202504beta2/device/{id}/labels Updates labels of a device #

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kentik-deviceservice-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kentik-deviceservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Device Service API
  description: '# Overview

    The Device API provides programmatic access to configuration of devices'
  version: v202504beta2
  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.'
      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).
      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).
      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).
      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).
      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).
      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).
      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).
      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).
      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) 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:
    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
    v202504beta2UpdateDeviceResponse:
      type: object
      properties:
        device:
          $ref: '#/components/schemas/v202504beta2DeviceDetailed'
      title: UpdateDeviceResponse
    v202504beta2GnmiV1Conf:
      type: object
      properties:
        dialoutServer:
          type: string
          description: Dialout server
      title: GnmiV1Conf
    v202504beta2DeleteDevicesResponse:
      type: object
      properties:
        failedDevices:
          type: array
          items:
            type: string
          description: List of IDs of devices that failed to be deleted
      title: DeleteDevicesResponse
    v202504beta2GetDeviceResponse:
      type: object
      properties:
        device:
          $ref: '#/components/schemas/v202504beta2DeviceDetailed'
      title: GetDeviceResponse
    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'
            deviceBgpFlowspec:
              type: boolean
              description: BGP Flowspec Compatibility (device_bgp_flowspec) - Toggle BGP Flowspec Compatibility for device.
            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.
            deviceAlert:
              type: string
              description: Device alert - The device alert endpoint URL.
          title: DeviceConcise
      title: UpdateDeviceRequest
      required:
      - device
    v202504beta2DeleteDevicesRequest:
      type: object
      properties:
        ids:
          type: array
          items:
            type: string
          description: List of IDs of devices to be deleted
      title: DeleteDevicesRequest
      required:
      - ids
    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
    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
    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
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
      additionalProperties: {}
    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
    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
    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
    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
    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
    v202504beta2ListDevicesResponse:
      type: object
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/v202504beta2DeviceDetailed'
          description: List of configurations of devices
        invalidCount:
          type: integer
          format: int64
          description: Number of invalid entries encountered while collecting data
      title: ListDevicesResponse
    devicev202504beta2Label:
      type: object
      properties:
        id:
          type: string
          description: Label ID
        name:
          type: string
          description: Label name
        description:
          type: string
          description: Label description
        edate:
          type: string
          format: date-time
          description: Label end date (UTC)
        cdate:
          type: string
          format: date-time
          description: Label creation date (UTC)
        userId:
          type: string
          description: User ID
        companyId:
          type: string
          description: Company ID
        color:
          type: string
          description: Label color
        order:
          type: string
          description: Label order
        pivotDeviceId:
          type: string
          description: Pivot device ID
        pivotLabelId:
          type: string
          description: Pivot label ID
      title: Label
    v202504beta2DeviceConcise:
      type: object
      properties:
        id:
          type: string
          description: System generated unique identifier
          title: id
        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
          form

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