Kentik KmiService API

The KmiService API from Kentik — 5 operation(s) for kmiservice.

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-kmiservice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: AI Advisor AiAdvisorDataService KmiService 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: KmiService
paths:
  /kmi/v202212/insights:
    get:
      summary: List global KMI insights.
      description: Returns list of global KMI insights.
      operationId: GetGlobalInsights
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202212GetGlobalInsightsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: limit
        description: Maximum number of insights to return. Defaults to 100.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: marketId
        description: Geo Market identifier (e.g., 'planet$earth'). If omitted, defaults to global market.
        in: query
        required: false
        schema:
          type: string
      - name: ip
        description: IP Address Family ('v4' or 'v6'). Defaults to 'v4'.
        in: query
        required: false
        schema:
          type: string
      - name: lookback
        description: 'Lookback in days. Allowed values: 1, 7, 30. Defaults to 1.'
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: types
        description: 'Insight types to include. Provide as repeated query params, e.g., types=market_entrance&types=market_exit. Allowed: market_entrance, market_exit, ranking_gain, ranking_loss, start_prefix_origination, stop_prefix_origination, increase_prefix_origination, decrease_prefix_origination, customer_gain, customer_loss, customer_routing_gain, customer_routing_loss, provider_gain, provider_loss, provider_routing_gain, provider_routing_loss.'
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: magnitude
        description: Minimum magnitude (severity) threshold, integer 1–5. Defaults to 1.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      tags:
      - KmiService
  /kmi/v202212/insights/{asn}:
    get:
      summary: List ASN-specific KMI insights.
      description: Returns list of KMI insights for a specific Autonomous System.
      operationId: GetASNInsights
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202212GetASNInsightsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: asn
        description: Autonomous System Number (ASN)
        in: path
        required: true
        schema:
          type: string
      - name: limit
        description: Maximum number of insights to return. Defaults to 100.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: marketId
        description: Geo Market identifier (e.g., 'planet$earth'). If omitted, defaults to global market.
        in: query
        required: false
        schema:
          type: string
      - name: ip
        description: IP Address Family ('v4' or 'v6'). Defaults to 'v4'.
        in: query
        required: false
        schema:
          type: string
      - name: lookback
        description: 'Lookback in days. Allowed values: 1, 7, 30. Defaults to 1.'
        in: query
        required: false
        schema:
          type: integer
          format: int64
      - name: types
        description: 'Insight types to include. Allowed: market_entrance, market_exit, ranking_gain, ranking_loss, start_prefix_origination, stop_prefix_origination, increase_prefix_origination, decrease_prefix_origination, customer_gain, customer_loss, customer_routing_gain, customer_routing_loss, provider_gain, provider_loss, provider_routing_gain, provider_routing_loss.'
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: magnitude
        description: Minimum magnitude (severity) threshold, integer 1–5. Defaults to 1.
        in: query
        required: false
        schema:
          type: integer
          format: int64
      tags:
      - KmiService
  /kmi/v202212/market/{marketId}/network/{asn}/{type}:
    post:
      summary: List metadata and list of customers, providers, and peers for an Autonomous System.
      description: Returns metadata and list of customers, providers, and peers for an Autonomous System.
      operationId: GetASNDetails
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202212GetASNDetailsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: marketId
        description: Unique Geo Market identifier (as provided by the ListMarkets RPC)
        in: path
        required: true
        schema:
          type: string
      - name: asn
        description: Autonomous System Number (ASN)
        in: path
        required: true
        schema:
          type: string
      - name: type
        description: Type of the requested ASN ('all', 'customers', 'providers', 'peers'). Defaults to 'all'.
        in: path
        required: true
        schema:
          type: string
          default: all
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KmiServiceGetASNDetailsBody'
        required: true
      tags:
      - KmiService
  /kmi/v202212/market/{marketId}/rankings/{rankType}/ip/{ip}:
    post:
      summary: List KMI rankings by geo market and rank type.
      description: Returns list of KMI rankings.
      operationId: GetRankings
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202212GetRankingsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: marketId
        description: Unique Geo Market identifier (as provided by the ListMarkets RPC)
        in: path
        required: true
        schema:
          type: string
      - name: rankType
        description: Type of the requested ranking ('customer_base', 'customer_base_retail', 'customer_base_wholesome', 'customer_base_backbone', 'customer_growth', 'peering_base'). Defaults to 'customer_base'.
        in: path
        required: true
        schema:
          type: string
          default: customer_base
      - name: ip
        description: IP Address Family ('v4' or 'v6') of requested ranking. Defaults to 'v4'.
        in: path
        required: true
        schema:
          type: string
          default: v4
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KmiServiceGetRankingsBody'
        required: true
      tags:
      - KmiService
  /kmi/v202212/markets:
    get:
      summary: List all geo markets for KMI.
      description: Returns list of geo markets for KMI.
      operationId: ListMarkets
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202212ListMarketsResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      tags:
      - KmiService
components:
  schemas:
    v202212Ranking:
      type: object
      properties:
        asn:
          type: integer
          format: int64
          description: Autonomous System Number (ASN)
          readOnly: true
        name:
          type: string
          description: Name of the Autonomous System
          readOnly: true
        rank:
          type: integer
          format: int64
          description: Rank of the Autonomous System
          readOnly: true
        rankChange:
          type: integer
          format: int64
          description: Rank Change of the Autonomous System
          readOnly: true
        score:
          type: integer
          format: int64
          description: Score of the Autonomous System
          readOnly: true
        scoreChange:
          type: integer
          format: int64
          description: Score Change of the Autonomous System
          readOnly: true
      title: Ranking
    v202212GetASNDetailsResponse:
      type: object
      properties:
        asnDetails:
          $ref: '#/components/schemas/v202212ASNDetails'
      title: GetASNDetailsResponse
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    v202212GetGlobalInsightsResponse:
      type: object
      properties:
        insights:
          type: array
          items:
            $ref: '#/components/schemas/v202212Insight'
          description: List of global insights
          readOnly: true
      title: GetGlobalInsightsResponse
    v202212GetRankingsResponse:
      type: object
      properties:
        rankings:
          type: array
          items:
            $ref: '#/components/schemas/v202212Ranking'
          description: List of rankings
        invalidCount:
          type: integer
          format: int64
          description: Number of invalid entries encountered while collecting data
      title: GetRankingsResponse
    v202212Peer:
      type: object
      properties:
        asn:
          type: integer
          format: int64
          description: Autonomous System Number (ASN)
          readOnly: true
        name:
          type: string
          description: Name of the Autonomous System
          readOnly: true
        pfxCount:
          type: integer
          format: int64
          description: Prefix Count (number of distinct IP address blocks announced by AS)
          readOnly: true
      title: Peer
    v202212GetASNInsightsResponse:
      type: object
      properties:
        insights:
          type: array
          items:
            $ref: '#/components/schemas/v202212Insight'
          description: List of ASN-specific insights
          readOnly: true
      title: GetASNInsightsResponse
    v202212ListMarketsResponse:
      type: object
      properties:
        markets:
          type: array
          items:
            $ref: '#/components/schemas/v202212Market'
          description: Markets
          readOnly: true
      title: ListMarketsResponse
    KmiServiceGetRankingsBody:
      type: object
      properties:
        limit:
          type: integer
          format: int64
          description: 'Maximum number of entries returned. (Default: 600).'
      title: GetRankingsRequest
    KmiServiceGetASNDetailsBody:
      type: object
      properties:
        ip:
          type: string
          enum:
          - v4
          - v6
          default: v4
          description: IP Address Family ('v4' or 'v6'). Defaults to 'v4'.
        mutualProvider:
          type: string
          enum:
          - all
          - only
          - exclude
          default: all
          description: Filter by mutual provider ('all', 'only', 'exclude'). Defaults to 'all'.
        mutualCustomer:
          type: string
          enum:
          - all
          - only
          - exclude
          default: all
          description: Filter by mutual customer ('all', 'only', 'exclude'). Defaults to 'all'.
        singlehomedCustomer:
          type: string
          enum:
          - all
          - only
          - exclude
          default: all
          description: Filter by singlehomed customer ('all', 'only', 'exclude'). Defaults to 'all'.
      title: GetASNDetailsRequest
    v202212Market:
      type: object
      properties:
        marketId:
          type: string
          description: Unique Geo Market identifier
          readOnly: true
        name:
          type: string
          description: Geo Market Name
          readOnly: true
      title: Market
    protobufAny:
      type: object
      properties:
        '@type':
          type: string
      additionalProperties: {}
    v202212Insight:
      type: object
      properties:
        asn:
          type: integer
          format: int64
          description: Autonomous System Number (ASN)
          readOnly: true
        name:
          type: string
          description: Name of the Autonomous System
          readOnly: true
        type:
          type: integer
          format: int64
          description: Type of insight
          readOnly: true
        message:
          type: string
          description: Insight message text
          readOnly: true
        createdAt:
          type: string
          description: Timestamp when insight was created
          readOnly: true
      title: Insight
    v202212ASNDetails:
      type: object
      properties:
        asn:
          type: integer
          format: int64
          description: Autonomous System Number (ASN)
          readOnly: true
        name:
          type: string
          description: Name of the Autonomous System
          readOnly: true
        countryName:
          type: string
          description: Country Name of the Autonomous System
          readOnly: true
        customers:
          type: array
          items:
            $ref: '#/components/schemas/v202212CustomerProvider'
          description: List of Customers
          readOnly: true
        providers:
          type: array
          items:
            $ref: '#/components/schemas/v202212CustomerProvider'
          description: List of Providers
          readOnly: true
        peers:
          type: array
          items:
            $ref: '#/components/schemas/v202212Peer'
          description: List of Peers
          readOnly: true
      title: ASNDetails
    v202212CustomerProvider:
      type: object
      properties:
        asn:
          type: integer
          format: int64
          description: Autonomous System Number (ASN)
          readOnly: true
        name:
          type: string
          description: Name of the Autonomous System
          readOnly: true
        score:
          type: integer
          format: int64
          description: Score of the Autonomous System
          readOnly: true
        singlehomedCustomer:
          type: boolean
          description: Singlehomed customer (only one upstream provider to the internet)
          readOnly: true
        mutualCustomer:
          type: boolean
          description: Mutual customer
          readOnly: true
        mutualProvider:
          type: boolean
          description: Mutual provider
          readOnly: true
      title: CustomerProvider
  securitySchemes:
    email:
      type: apiKey
      name: X-CH-Auth-Email
      in: header
    token:
      type: apiKey
      name: X-CH-Auth-API-Token
      in: header
externalDocs:
  description: General information about Kentik APIs
  url: https://kb.kentik.com/v0/Ab09.htm#Ab09-APIs_Overview