openapi: 3.0.0
info:
  title: AS Group Configuration API
  description: >-
    # Overview

    The AS Group Configuration API provides programmatic access to configuration of AS Groups:


    * **AS Group**: ASNs can be logically grouped into an AS group.
  contact:
    name: Kentik API Engineering
    url: https://github.com/kentik/api-schema-public
  version: 'v202212'
servers:
- url: https://grpc.api.kentik.com
  variables: {}
paths:
  /as_group/v202212/as_group:
    get:
      tags:
      - ASGroupService
      summary: ListASGroups
      description: Returns list of configured AS groups.
      operationId: ListASGroups
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListASGroupsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - ASGroupService
      summary: CreateASGroup
      description: Create configuration for a new AS group. Returns the newly created configuration.
      operationId: CreateASGroup
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateASGroupRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateASGroupResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /as_group/v202212/as_group/{asGroup.id}:
    put:
      tags:
      - ASGroupService
      summary: UpdateASGroup
      description: Replaces configuration of a AS group with attributes in the request. Returns the updated configuration.
      operationId: UpdateASGroup
      parameters:
      - name: asGroup.id
        in: path
        description: System generated unique identifier
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateASGroupRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateASGroupResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    get:
      tags:
      - ASGroupService
      summary: GetASGroup
      description: Returns configuration of a AS group specified by ID.
      operationId: GetASGroup
      parameters:
      - name: asGroup.id
        in: path
        description: ID of the requested AS group
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetASGroupResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - ASGroupService
      summary: DeleteASGroup
      description: Deletes configuration of a AS group with specific ID.
      operationId: DeleteASGroup
      parameters:
      - name: asGroup.id
        in: path
        description: ID of the AS group to be deleted
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /bgp_monitoring/v202210/monitors:
    get:
      tags:
      - BgpMonitoringAdminService
      summary: ListMonitors
      description: Returns list of all BGP monitors present in the account.
      operationId: ListMonitors
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMonitorsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - BgpMonitoringAdminService
      summary: CreateMonitor
      description: Creates new BGP Monitor and if successful returns its configuration.
      operationId: CreateMonitor
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMonitorRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateMonitorResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /bgp_monitoring/v202210/monitors/{id}:
    get:
      tags:
      - BgpMonitoringAdminService
      summary: GetMonitor
      description: Returns configuration of existing BGP monitor with specific ID.
      operationId: GetMonitor
      parameters:
      - name: id
        in: path
        description: ID of the BGP monitor to be retrieved
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMonitorResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - BgpMonitoringAdminService
      summary: DeleteMonitor
      description: Delete BGP monitor with with specific ID.
      operationId: DeleteMonitor
      parameters:
      - name: id
        in: path
        description: ID of the BGP monitor to be deleted
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    put:
      tags:
      - BgpMonitoringAdminService
      summary: UpdateMonitor
      description: Updates configuration of BGP monitor with specific ID and returns updated  configuration.
      operationId: UpdateMonitor
      parameters:
      - name: id
        in: path
        description: System generated unique identifier
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMonitorRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateMonitorResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /bgp_monitoring/v202210/monitors/{id}/status:
    put:
      tags:
      - BgpMonitoringAdminService
      summary: SetMonitorStatus
      description: Sets administrative status of BGP monitor with specific ID.
      operationId: SetMonitorStatus
      parameters:
      - name: id
        in: path
        description: ID of the BGP monitor whose status is to be modified
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetMonitorStatusRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /bgp_monitoring/v202210/metrics:
    post:
      tags:
      - BgpMonitoringDataService
      summary: GetMetricsForTarget
      description: Retrieve metric data for single BGP prefix and time interval.
      operationId: GetMetricsForTarget
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetMetricsForTargetRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMetricsForTargetResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /bgp_monitoring/v202210/routes:
    post:
      tags:
      - BgpMonitoringDataService
      summary: GetRoutesForTarget
      description: Retrieve snapshot of route information for single BGP prefix at specific time.
      operationId: GetRoutesForTarget
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetRoutesForTargetRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRoutesForTargetResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /capacity_plan/v202212/capacity_plan:
    get:
      tags:
      - CapacityPlanService
      summary: ListCapacityPlans
      description: Returns list of capacity plans.
      operationId: ListCapacityPlans
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCapacityPlansResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /capacity_plan/v202212/capacity_plan/summary:
    get:
      tags:
      - CapacityPlanService
      summary: ListCapacitySummaries
      description: Returns list of capacity summaries.
      operationId: ListCapacitySummaries
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCapacitySummariesResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /capacity_plan/v202212/capacity_plan/{id}:
    get:
      tags:
      - CapacityPlanService
      summary: GetCapacityPlan
      description: Returns capacity plan specified by ID.
      operationId: GetCapacityPlan
      parameters:
      - name: id
        in: path
        description: ID of the requested capacity plan
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCapacityPlanResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /capacity_plan/v202212/capacity_plan/{id}/summary:
    get:
      tags:
      - CapacityPlanService
      summary: GetCapacitySummary
      description: Returns capacity plan summary specified by ID.
      operationId: GetCapacitySummary
      parameters:
      - name: id
        in: path
        description: ID of the requested capacity plan summary
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCapacitySummaryResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /cloud_export/v202210/exports:
    get:
      tags:
      - CloudExportAdminService
      summary: ListCloudExports
      description: Returns a list of all cloud exports in the account.
      operationId: ListCloudExports
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListCloudExportsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - CloudExportAdminService
      summary: CreateCloudExport
      description: Create new cloud export based on configuration in the request.
      operationId: CreateCloudExport
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCloudExportRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCloudExportResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /cloud_export/v202210/exports/{export.id}:
    put:
      tags:
      - CloudExportAdminService
      summary: UpdateCloudExport
      description: Replace complete configuration of a cloud export with data in the request.
      operationId: UpdateCloudExport
      parameters:
      - name: export.id
        in: path
        description: Unique identifier of the instance
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCloudExportRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCloudExportResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    get:
      tags:
      - CloudExportAdminService
      summary: GetCloudExport
      description: Returns configuration and status of cloud export with specified ID.
      operationId: GetCloudExport
      parameters:
      - name: export.id
        in: path
        description: ID of the cloud export to be retrieved.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCloudExportResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - CloudExportAdminService
      summary: DeleteCloudExport
      description: Delete cloud export with specified ID.
      operationId: DeleteCloudExport
      parameters:
      - name: export.id
        in: path
        description: ID of the cloud export to be deleted.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /interface/v202108alpha1/interfaces:
    get:
      tags:
      - InterfaceService
      summary: ListInterface
      description: Return list of interfaces matches search critera.
      operationId: ListInterface
      parameters:
      - name: filters.text
        in: query
        description: Search text match in interface description and alias.
        style: form
        explode: true
        schema:
          type: string
      - name: filters.deviceIds
        in: query
        description: Search by device ID.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filters.connectivityTypes
        in: query
        description: Search by type of interface connectivity.
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/v202108alpha1ConnectivityType'
      - name: filters.networkBoundaries
        in: query
        description: Search by type of network boundary.
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/v202108alpha1NetworkBoundary'
      - name: filters.providers
        in: query
        description: Search by provider.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: filters.snmpSpeeds
        in: query
        description: SNMP speed in Mbps.
        style: form
        explode: true
        schema:
          type: array
          items:
            type: integer
            format: int32
      - name: filters.ipTypes
        in: query
        description: Search by ip address.
        style: form
        explode: true
        schema:
          type: array
          items:
            $ref: '#/components/schemas/v202108alpha1IpFilter'
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202108alpha1ListInterfaceResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - InterfaceService
      summary: InterfaceCreate
      description: Create a interface from request. returns created.
      operationId: InterfaceCreate
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202108alpha1CreateInterfaceRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202108alpha1CreateInterfaceResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /interface/v202108alpha1/interfaces/{id}:
    get:
      tags:
      - InterfaceService
      summary: InterfaceGet
      description: Returns information about a interface specified with ID.
      operationId: InterfaceGet
      parameters:
      - name: id
        in: path
        description: ID of interface.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202108alpha1GetInterfaceResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - InterfaceService
      summary: InterfaceDelete
      description: Deletes the interface specified with id.
      operationId: InterfaceDelete
      parameters:
      - name: id
        in: path
        description: ID of interface.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    put:
      tags:
      - InterfaceService
      summary: InterfaceUpdate
      description: Replaces the entire interface attributes specified with id.
      operationId: InterfaceUpdate
      parameters:
      - name: id
        in: path
        description: ID of interface.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202108alpha1UpdateInterfaceRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202108alpha1UpdateInterfaceResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /interface/v202108alpha1/manual_classify:
    post:
      tags:
      - InterfaceService
      summary: ManualClassify
      description: Manually set interface(s) classification.
      operationId: ManualClassify
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202108alpha1ManualClassifyRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202108alpha1ManualClassifyResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /kmi/v202212/market/{marketId}/network/{asn}/{type}:
    post:
      tags:
      - KmiService
      summary: GetASNDetails
      description: Returns metadata and list of customers, providers, and peers for an Autonomous System.
      operationId: GetASNDetails
      parameters:
      - name: marketId
        in: path
        description: Unique Geo Market identifier (as provided by the ListMarkets RPC)
        required: true
        style: simple
        schema:
          type: string
      - name: asn
        in: path
        description: Autonomous System Number (ASN)
        required: true
        style: simple
        schema:
          type: string
      - name: type
        in: path
        description: Type of the requested ASN ('all', 'customer', 'provider', 'peer'). Defaults to 'all'.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetASNDetailsRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetASNDetailsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /kmi/v202212/market/{marketId}/rankings/{rankType}:
    post:
      tags:
      - KmiService
      summary: GetRankings
      description: Returns list of KMI rankings.
      operationId: GetRankings
      parameters:
      - name: marketId
        in: path
        description: Unique Geo Market identifier (as provided by the ListMarkets RPC)
        required: true
        style: simple
        schema:
          type: string
      - name: rankType
        in: path
        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'.
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetRankingsRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRankingsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /kmi/v202212/markets:
    get:
      tags:
      - KmiService
      summary: ListMarkets
      description: Returns list of geo markets for KMI.
      operationId: ListMarkets
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListMarketsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /label/v202210/labels:
    get:
      tags:
      - LabelService
      summary: ListLabels
      description: Returns list of all labels configured in the account.
      operationId: ListLabels
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListLabelsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - LabelService
      summary: CreateLabel
      description: Creates a new label based on data in the request.
      operationId: CreateLabel
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateLabelRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateLabelResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /label/v202210/labels/{id}:
    delete:
      tags:
      - LabelService
      summary: DeleteLabel
      description: Deletes label with specified with id.
      operationId: DeleteLabel
      parameters:
      - name: id
        in: path
        description: ID of the label to be deleted
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - LabelService
      summary: UpdateLabel
      description: Updates configuration of a label.
      operationId: UpdateLabel
      parameters:
      - name: id
        in: path
        description: Unique system assigned identifier of the label
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateLabelRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateLabelResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /mkp/v202102alpha1/packages:
    get:
      tags:
      - PackageService
      summary: PackageList
      description: Returns a list of MKP packages.
      operationId: PackageList
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1ListPackageResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - PackageService
      summary: PackageCreate
      description: Create package from request. returns created package.
      operationId: PackageCreate
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202102alpha1CreatePackageRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1CreatePackageResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /mkp/v202102alpha1/packages/{id}:
    get:
      tags:
      - PackageService
      summary: PackageGet
      description: Returns information about package specified with ID.
      operationId: PackageGet
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1GetPackageResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - PackageService
      summary: PackageDelete
      description: Deletes the package specified with id.
      operationId: PackageDelete
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    put:
      tags:
      - PackageService
      summary: PackageUpdate
      description: Replaces the entire package attributes specified with id.
      operationId: PackageUpdate
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202102alpha1UpdatePackageRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1UpdatePackageResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    patch:
      tags:
      - PackageService
      summary: PackagePatch
      description: Partially Updates the attributes of package specified with id and mask fields.
      operationId: PackagePatch
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202102alpha1PatchPackageRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1PatchPackageResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /mkp/v202102alpha1/tenants:
    get:
      tags:
      - TenantService
      summary: TenantList
      description: Returns a list of MKP tenants.
      operationId: TenantList
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1ListTenantResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - TenantService
      summary: TenantCreate
      description: Create tenant from request. returns created tenant.
      operationId: TenantCreate
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202102alpha1CreateTenantRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1CreateTenantResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /mkp/v202102alpha1/tenants/{id}:
    get:
      tags:
      - TenantService
      summary: TenantGet
      description: Returns information about package specified with ID.
      operationId: TenantGet
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1GetTenantResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - TenantService
      summary: TenantDelete
      description: Deletes the tenant specified with id.
      operationId: TenantDelete
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    put:
      tags:
      - TenantService
      summary: TenantUpdate
      description: Replaces the entire tenant attributes specified with id.
      operationId: TenantUpdate
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202102alpha1UpdateTenantRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1UpdateTenantResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    patch:
      tags:
      - TenantService
      summary: TenantPatch
      description: Partially Updates the attributes of tenant specified with id and mask fields.
      operationId: TenantPatch
      parameters:
      - name: id
        in: path
        description: ''
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202102alpha1PatchTenantRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202102alpha1PatchTenantResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /network_class/v202109alpha1/network_class:
    get:
      tags:
      - NetworkClassService
      summary: NetworkClassGet
      description: Returns information about a network classification for the company.
      operationId: NetworkClassGet
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202109alpha1GetNetworkClassResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - NetworkClassService
      summary: NetworkClassUpdate
      description: Replaces the entire network classification attributes for the company.
      operationId: NetworkClassUpdate
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202109alpha1UpdateNetworkClassRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202109alpha1UpdateNetworkClassResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /notification_channel/v202210/notification_channels:
    get:
      tags:
      - NotificationChannelService
      summary: ListNotificationChannels
      description: Returns list of all configured notification channels.
      operationId: ListNotificationChannels
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListNotificationChannelsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /notification_channel/v202210/notification_channels/search:
    post:
      tags:
      - NotificationChannelService
      summary: SearchNotificationChannels
      description: Returns list of all notification channels matching request criteria. Match criteria are treated as a logical AND, i.e. all provided criteria must match in order for an entry to be included in the response.
      operationId: SearchNotificationChannels
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchNotificationChannelsRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchNotificationChannelsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /notification_channel/v202210/notification_channels/{id}:
    get:
      tags:
      - NotificationChannelService
      summary: GetNotificationChannel
      description: Returns information about a notification channel with specific ID.
      operationId: GetNotificationChannel
      parameters:
      - name: id
        in: path
        description: Request channel ID.
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetNotificationChannelResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /site/v202211/site_markets:
    get:
      tags:
      - SiteService
      summary: ListSiteMarkets
      description: Returns list of configured site markets.
      operationId: ListSiteMarkets
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSiteMarketsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - SiteService
      summary: CreateSiteMarket
      description: Create configuration for a new site market. Returns the newly created configuration.
      operationId: CreateSiteMarket
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSiteMarketRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSiteMarketResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /site/v202211/site_markets/{id}:
    get:
      tags:
      - SiteService
      summary: GetSiteMarket
      description: Returns configuration of a site market specified by ID.
      operationId: GetSiteMarket
      parameters:
      - name: id
        in: path
        description: ID of the requested site market
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSiteMarketResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - SiteService
      summary: DeleteSiteMarket
      description: Deletes configuration of a site market with specific ID.
      operationId: DeleteSiteMarket
      parameters:
      - name: id
        in: path
        description: ID of the site market to be deleted
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    put:
      tags:
      - SiteService
      summary: UpdateSiteMarket
      description: Replaces configuration of a site market with attributes in the request. Returns the updated configuration.
      operationId: UpdateSiteMarket
      parameters:
      - name: id
        in: path
        description: System generated unique identifier
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSiteMarketRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSiteMarketResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /site/v202211/sites:
    get:
      tags:
      - SiteService
      summary: ListSites
      description: Returns list of configured sites.
      operationId: ListSites
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSitesResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - SiteService
      summary: CreateSite
      description: Create configuration for a new site. Returns the newly created configuration.
      operationId: CreateSite
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSiteRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSiteResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /site/v202211/sites/{id}:
    get:
      tags:
      - SiteService
      summary: GetSite
      description: Returns configuration of a site specified by ID.
      operationId: GetSite
      parameters:
      - name: id
        in: path
        description: ID of the requested site
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetSiteResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - SiteService
      summary: DeleteSite
      description: Deletes configuration of a site with specific ID.
      operationId: DeleteSite
      parameters:
      - name: id
        in: path
        description: ID of the site to be deleted
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    put:
      tags:
      - SiteService
      summary: UpdateSite
      description: Replaces configuration of a site with attributes in the request. Returns the updated configuration.
      operationId: UpdateSite
      parameters:
      - name: id
        in: path
        description: System generated unique identifier
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSiteRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSiteResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /synthetics/v202202/results:
    post:
      tags:
      - SyntheticsDataService
      summary: GetResultsForTests
      description: Returns probe results for a set of tests for specified period of time.
      operationId: GetResultsForTests
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetResultsForTestsRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetResultsForTestsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /synthetics/v202202/trace:
    post:
      tags:
      - SyntheticsDataService
      summary: GetTraceForTest
      description: Get network trace data for a specific synthetic test. The test must have traceroute task configured.
      operationId: GetTraceForTest
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetTraceForTestRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTraceForTestResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /synthetics/v202202/agents:
    get:
      tags:
      - SyntheticsAdminService
      summary: ListAgents
      description: Returns list of all synthetic agents available in the account.
      operationId: ListAgents
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListAgentsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /synthetics/v202202/agents/{agent.id}:
    put:
      tags:
      - SyntheticsAdminService
      summary: UpdateAgent
      description: Update configuration of a synthetic agent.
      operationId: UpdateAgent
      parameters:
      - name: agent.id
        in: path
        description: Unique identifier of the agent
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAgentRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAgentResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    get:
      tags:
      - SyntheticsAdminService
      summary: GetAgent
      description: Returns information about the requested synthetic agent.
      operationId: GetAgent
      parameters:
      - name: agent.id
        in: path
        description: ID of the requested agent
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - SyntheticsAdminService
      summary: DeleteAgent
      description: Deletes the requested agent. The deleted agent is removed from configuration of all tests.
      operationId: DeleteAgent
      parameters:
      - name: agent.id
        in: path
        description: ID of the agent to be deleted
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /synthetics/v202202/tests:
    get:
      tags:
      - SyntheticsAdminService
      summary: ListTests
      description: Returns a list of all configured active and paused synthetic tests.
      operationId: ListTests
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTestsResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - SyntheticsAdminService
      summary: CreateTest
      description: Create synthetic test based on configuration provided in the request.
      operationId: CreateTest
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTestRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTestResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /synthetics/v202202/tests/{id}:
    get:
      tags:
      - SyntheticsAdminService
      summary: GetTest
      description: Returns configuration and status for the requested synthetic test.
      operationId: GetTest
      parameters:
      - name: id
        in: path
        description: ID of requested test
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetTestResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - SyntheticsAdminService
      summary: DeleteTest
      description: Deletes the synthetics test. All accumulated results for the test cease to be accessible.
      operationId: DeleteTest
      parameters:
      - name: id
        in: path
        description: ID of the test to be deleted
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    put:
      tags:
      - SyntheticsAdminService
      summary: UpdateTest
      description: Updates configuration of a synthetic test.
      operationId: UpdateTest
      parameters:
      - name: id
        in: path
        description: Unique ID of the test
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTestRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateTestResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /synthetics/v202202/tests/{id}/status:
    put:
      tags:
      - SyntheticsAdminService
      summary: SetTestStatus
      description: Update status of a synthetic test
      operationId: SetTestStatus
      parameters:
      - name: id
        in: path
        description: ID of the test which status is to be modified
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SetTestStatusRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /user/v202211/users:
    get:
      tags:
      - UserService
      summary: ListUsers
      description: Returns a list of all user accounts in the company.
      operationId: ListUsers
      parameters: []
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListUsersResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    post:
      tags:
      - UserService
      summary: CreateUser
      description: Creates new user account based on attributes in the request. Returns attributes of the newly created account.
      operationId: CreateUser
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateUserResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /user/v202211/users/{id}:
    get:
      tags:
      - UserService
      summary: GetUser
      description: Returns attributes of a user account specified by ID.
      operationId: GetUser
      parameters:
      - name: id
        in: path
        description: ID of the requested user
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetUserResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    delete:
      tags:
      - UserService
      summary: DeleteUser
      description: Deletes user account specified by ID.
      operationId: DeleteUser
      parameters:
      - name: id
        in: path
        description: ID of the the user account to be deleted
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
    put:
      tags:
      - UserService
      summary: UpdateUser
      description: Replaces all attributes of a user account specified by ID with attributes in the request. Returns updated attributes.
      operationId: UpdateUser
      parameters:
      - name: id
        in: path
        description: System generated unique identifier
        required: true
        style: simple
        schema:
          type: string
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserRequest'
        required: true
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateUserResponse'
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /user/v202211/users/{id}/reset_active_sessions:
    put:
      tags:
      - UserService
      summary: ResetActiveSessions
      description: Resets active sessions for a user specified by ID.
      operationId: ResetActiveSessions
      parameters:
      - name: id
        in: path
        description: ID of the the user whose sessions should be reset
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
  /user/v202211/users/{id}/reset_api_token:
    put:
      tags:
      - UserService
      summary: ResetApiToken
      description: Resets API token for a user specified by ID.
      operationId: ResetApiToken
      parameters:
      - name: id
        in: path
        description: ID of the the user whose API token should be reset
        required: true
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: A successful response.
          headers: {}
          content:
            application/json:
              schema:
                type: object
        default:
          description: An unexpected error response.
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      deprecated: false
components:
  schemas:
    protobufAny:
      title: protobufAny
      type: object
      properties:
        typeUrl:
          type: string
        value:
          type: string
    rpcStatus:
      title: rpcStatus
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
          description: ''
    ASGroupConcise:
      title: ASGroupConcise
      required:
      - name
      type: object
      properties:
        id:
          type: string
          description: System generated unique identifier
          readOnly: true
        name:
          type: string
          description: User selected unique name
        asn:
          type: array
          items:
            type: string
          description: List of ASNs
        createdDate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        updatedDate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
    ASGroupDetailed:
      title: ASGroupDetailed
      required:
      - name
      type: object
      properties:
        id:
          type: string
          description: System generated unique identifier
          readOnly: true
        name:
          type: string
          description: User selected unique name
        asn:
          type: array
          items:
            $ref: '#/components/schemas/AutonomousSystem'
          description: List of ASNs
        createdDate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        updatedDate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
    AutonomousSystem:
      title: AutonomousSystem
      type: object
      properties:
        asn:
          type: integer
          format: int64
        name:
          type: string
    CreateASGroupRequest:
      title: CreateASGroupRequest
      required:
      - asGroup
      type: object
      properties:
        asGroup:
          $ref: '#/components/schemas/ASGroupConcise'
    CreateASGroupResponse:
      title: CreateASGroupResponse
      type: object
      properties:
        asGroup:
          $ref: '#/components/schemas/ASGroupDetailed'
    GetASGroupResponse:
      title: GetASGroupResponse
      type: object
      properties:
        asGroup:
          $ref: '#/components/schemas/ASGroupDetailed'
    ListASGroupsResponse:
      title: ListASGroupsResponse
      type: object
      properties:
        asGroups:
          type: array
          items:
            $ref: '#/components/schemas/ASGroupDetailed'
          description: List of configurations of requested AS groups
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    UpdateASGroupRequest:
      title: UpdateASGroupRequest
      required:
      - asGroup
      type: object
      properties:
        asGroup:
          $ref: '#/components/schemas/ASGroupConcise'
    UpdateASGroupResponse:
      title: UpdateASGroupResponse
      type: object
      properties:
        asGroup:
          $ref: '#/components/schemas/ASGroupDetailed'
    BgpHealthSettings:
      title: BgpHealthSettings
      type: object
      properties:
        reachabilityWarning:
          type: number
          description: Threshold (in percents) for triggering warning level alert
        reachabilityCritical:
          type: number
          description: Threshold (in percents) for triggering critical level alert
    BgpMetric:
      title: BgpMetric
      type: object
      properties:
        timestamp:
          type: string
          description: UTC time of the observation
          format: date-time
          readOnly: true
        nlri:
          $ref: '#/components/schemas/Nlri'
        reachability:
          type: number
          description: Percentage of vantage points reporting the prefix reachable
          readOnly: true
        pathChanges:
          type: integer
          description: Number of AS path changes for the prefix across all vantage points in the queried time interval
          format: int64
          readOnly: true
    BgpMetricType:
      title: BgpMetricType
      enum:
      - BGP_METRIC_TYPE_UNSPECIFIED
      - BGP_METRIC_TYPE_REACHABILITY
      - BGP_METRIC_TYPE_PATH_CHANGES
      type: string
      description: >-
        - BGP_METRIC_TYPE_UNSPECIFIED: Invalid value.
         - BGP_METRIC_TYPE_REACHABILITY: Reachability metric in percents
         - BGP_METRIC_TYPE_PATH_CHANGES: Number of path changes over time interval
    BgpMonitor:
      title: BgpMonitor
      required:
      - name
      type: object
      properties:
        id:
          type: string
          description: System generated unique identifier
          readOnly: true
        name:
          type: string
          description: User selected name of the monitor
        status:
          allOf:
          - $ref: '#/components/schemas/BgpMonitorStatus'
          - description: >-
              - BGP_MONITOR_STATUS_UNSPECIFIED: Invalid value.
               - BGP_MONITOR_STATUS_ACTIVE: Monitor is active.
               - BGP_MONITOR_STATUS_PAUSED: Monitor is paused.
               - BGP_MONITOR_STATUS_DELETED: Monitor is deleted. Not user settable
        settings:
          $ref: '#/components/schemas/BgpMonitorSettings'
        cdate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        edate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
        createdBy:
          $ref: '#/components/schemas/UserInfo'
        lastUpdatedBy:
          $ref: '#/components/schemas/UserInfo'
        labels:
          type: array
          items:
            type: string
          description: ''
    BgpMonitorSettings:
      title: BgpMonitorSettings
      required:
      - targets
      type: object
      properties:
        allowedAsns:
          type: array
          items:
            type: integer
            format: int64
          description: List of ASNs that are valid originators of monitored prefixes
        targets:
          type: array
          items:
            $ref: '#/components/schemas/Nlri'
          description: List of prefixes to monitor
        checkRpki:
          type: boolean
          description: Enable verification of validity of advertisements of monitored prefixes with respect to RPKI
        includeCoveredPrefixes:
          type: boolean
          description: Include advertised subnets (sub-prefixes) of monitored prefixes
        healthSettings:
          $ref: '#/components/schemas/BgpHealthSettings'
        notificationChannels:
          type: array
          items:
            type: string
          description: List of IDs of notification channels for delivery of alerts
        notes:
          type: string
          description: Free form notes documenting the monitor
        allowedUpstreams:
          type: array
          items:
            type: integer
            format: int64
          description: List of ASNs that are expected to propagate monitored prefixes
    BgpMonitorStatus:
      title: BgpMonitorStatus
      enum:
      - BGP_MONITOR_STATUS_UNSPECIFIED
      - BGP_MONITOR_STATUS_ACTIVE
      - BGP_MONITOR_STATUS_PAUSED
      - BGP_MONITOR_STATUS_DELETED
      type: string
      description: >-
        - BGP_MONITOR_STATUS_UNSPECIFIED: Invalid value.
         - BGP_MONITOR_STATUS_ACTIVE: Monitor is active.
         - BGP_MONITOR_STATUS_PAUSED: Monitor is paused.
         - BGP_MONITOR_STATUS_DELETED: Monitor is deleted. Not user settable
    CreateMonitorRequest:
      title: CreateMonitorRequest
      required:
      - monitor
      type: object
      properties:
        monitor:
          $ref: '#/components/schemas/BgpMonitor'
    CreateMonitorResponse:
      title: CreateMonitorResponse
      type: object
      properties:
        monitor:
          $ref: '#/components/schemas/BgpMonitor'
    GetMetricsForTargetRequest:
      title: GetMetricsForTargetRequest
      required:
      - startTime
      - endTime
      - target
      - metrics
      type: object
      properties:
        startTime:
          type: string
          description: UTC timestamp of the beginning of queried interval
          format: date-time
        endTime:
          type: string
          description: UTC timestamp of the end of queried interval
          format: date-time
        target:
          $ref: '#/components/schemas/Nlri'
        includeCovered:
          type: boolean
          description: 'Return metrics for subnets (sub-prefixes) of the target prefix (default: false)'
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/BgpMetricType'
          description: List of one or more BGP metric types to return
    GetMetricsForTargetResponse:
      title: GetMetricsForTargetResponse
      type: object
      properties:
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/BgpMetric'
          description: List of observations (metric values)
          readOnly: true
    GetMonitorResponse:
      title: GetMonitorResponse
      type: object
      properties:
        monitor:
          $ref: '#/components/schemas/BgpMonitor'
    GetRoutesForTargetRequest:
      title: GetRoutesForTargetRequest
      required:
      - time
      - target
      type: object
      properties:
        time:
          type: string
          description: Reference UTC time for the route information snapshot
          format: date-time
        target:
          $ref: '#/components/schemas/Nlri'
        includeCovered:
          type: boolean
          description: 'Return routes for subnets (sub-prefixes) of the target prefix (default: false)'
        checkRpki:
          type: boolean
          description: 'Return information about validity of prefix advertisements with respect to RPKI (default: false)'
    GetRoutesForTargetResponse:
      title: GetRoutesForTargetResponse
      type: object
      properties:
        routes:
          type: array
          items:
            $ref: '#/components/schemas/RouteInfo'
          description: List of routes
          readOnly: true
        asNames:
          type: object
          additionalProperties:
            type: string
          description: look-aside map AS names keyed by ASNs
          readOnly: true
    ListMonitorsResponse:
      title: ListMonitorsResponse
      type: object
      properties:
        monitors:
          type: array
          items:
            $ref: '#/components/schemas/BgpMonitor'
          description: List of BGP monitors configured in the account
          readOnly: true
        invalidCount:
          type: integer
          description: Number of invalid objects (should be always zero)
          format: int64
          readOnly: true
    Nlri:
      title: Nlri
      required:
      - afi
      - safi
      - prefix
      type: object
      properties:
        afi:
          $ref: '#/components/schemas/Afi'
        safi:
          $ref: '#/components/schemas/Safi'
        prefix:
          type: string
          description: Actual prefix data (format depends on AFI)
    RouteInfo:
      title: RouteInfo
      type: object
      properties:
        nlri:
          $ref: '#/components/schemas/Nlri'
        originAsn:
          type: integer
          description: The autonomous system number originating the NLRI
          format: int64
          readOnly: true
        asPath:
          type: array
          items:
            type: string
          description: AS path observed at the vantage point for the NLRI
        vantagePoint:
          $ref: '#/components/schemas/VantagePoint'
        rpkiStatus:
          allOf:
          - $ref: '#/components/schemas/RpkiStatus'
          - description: >-
              - RPKI_STATUS_UNSPECIFIED: Invalid value.
               - RPKI_STATUS_NOT_FOUND: No matching ROAs found for the prefix.
               - RPKI_STATUS_EXPLICIT_INVALID: Explicitly invalid prefix matching ROA
               - RPKI_STATUS_INVALID_PREFIX: Prefix format not suitable for validation
               - RPKI_STATUS_INVALID: Prefix origin does not match any matching ROA
               - RPKI_STATUS_VALID: Prefix origin matches an ROA
               - RPKI_STATUS_ERROR: Error during validation
        nexthop:
          type: string
          description: IP address of the first route hop from the vantage point toward the target
          readOnly: true
    SetMonitorStatusRequest:
      title: SetMonitorStatusRequest
      required:
      - id
      - status
      type: object
      properties:
        id:
          type: string
          description: ID of the BGP monitor whose status is to be modified
        status:
          allOf:
          - $ref: '#/components/schemas/BgpMonitorStatus'
          - description: >-
              - BGP_MONITOR_STATUS_UNSPECIFIED: Invalid value.
               - BGP_MONITOR_STATUS_ACTIVE: Monitor is active.
               - BGP_MONITOR_STATUS_PAUSED: Monitor is paused.
               - BGP_MONITOR_STATUS_DELETED: Monitor is deleted. Not user settable
    UpdateMonitorRequest:
      title: UpdateMonitorRequest
      required:
      - monitor
      type: object
      properties:
        monitor:
          $ref: '#/components/schemas/BgpMonitor'
    UpdateMonitorResponse:
      title: UpdateMonitorResponse
      type: object
      properties:
        monitor:
          $ref: '#/components/schemas/BgpMonitor'
    Afi:
      title: Afi
      enum:
      - AFI_UNSPECIFIED
      - AFI_IP4
      - AFI_IP6
      type: string
    RpkiStatus:
      title: RpkiStatus
      enum:
      - RPKI_STATUS_UNSPECIFIED
      - RPKI_STATUS_NOT_FOUND
      - RPKI_STATUS_EXPLICIT_INVALID
      - RPKI_STATUS_INVALID_PREFIX
      - RPKI_STATUS_INVALID
      - RPKI_STATUS_VALID
      - RPKI_STATUS_ERROR
      type: string
      description: >-
        - RPKI_STATUS_UNSPECIFIED: Invalid value.
         - RPKI_STATUS_NOT_FOUND: No matching ROAs found for the prefix.
         - RPKI_STATUS_EXPLICIT_INVALID: Explicitly invalid prefix matching ROA
         - RPKI_STATUS_INVALID_PREFIX: Prefix format not suitable for validation
         - RPKI_STATUS_INVALID: Prefix origin does not match any matching ROA
         - RPKI_STATUS_VALID: Prefix origin matches an ROA
         - RPKI_STATUS_ERROR: Error during validation
    Safi:
      title: Safi
      enum:
      - SAFI_UNSPECIFIED
      - SAFI_UNICAST
      - SAFI_MPLS
      - SAFI_L3VPN
      type: string
    UserInfo:
      title: UserInfo
      type: object
      properties:
        id:
          type: string
          description: Unique system generated ID
          readOnly: true
        email:
          type: string
          description: E-mail address of the user
          readOnly: true
        fullName:
          type: string
          description: Full name of the user
          readOnly: true
    VantagePoint:
      title: VantagePoint
      type: object
      properties:
        dataset:
          type: string
          description: Name of the collector data set
          readOnly: true
        collector:
          type: string
          description: Name of the collector
          readOnly: true
        peerAsn:
          type: integer
          description: ASN of the peer from which the collector receives BGP data
          format: int64
          readOnly: true
        peerIp:
          type: string
          description: IP address of the peer from which the collector receives BGP data
          readOnly: true
    InterfaceDetail:
      title: InterfaceDetail
      type: object
      properties:
        deviceName:
          type: string
          description: Device name
          readOnly: true
        intfName:
          type: string
          description: Interface name
          readOnly: true
        intfDescription:
          type: string
          description: Interface description
          readOnly: true
        intfCapacity:
          type: string
          description: Interface capacity
          readOnly: true
        networkBoundary:
          type: string
          description: Network boundary
          readOnly: true
        connType:
          type: string
          description: Connectivity type
          readOnly: true
        provider:
          type: string
          description: Provider
          readOnly: true
        utilStatus:
          type: string
          description: Utilization status
          readOnly: true
        utilOutMbps:
          type: string
          description: Utilization out mbps
          readOnly: true
        utilOutPct:
          type: string
          description: Utilization out percentage
          readOnly: true
        utilInMbps:
          type: string
          description: Utilization in mbps
          readOnly: true
        utilInPct:
          type: string
          description: Utilization in percentage
          readOnly: true
        runoutStatus:
          type: string
          description: Runout status
          readOnly: true
        runoutInDate:
          type: string
          description: Runout in date
          readOnly: true
        runoutInVariation:
          type: string
          description: Runout in variation
          readOnly: true
        runoutOutDate:
          type: string
          description: Runout out date
          readOnly: true
        runoutOutVariation:
          type: string
          description: Runout out variation
          readOnly: true
    InterfacesDetail:
      title: InterfacesDetail
      type: object
      properties:
        totalCount:
          type: integer
          description: Total number of interfaces
          format: int64
          readOnly: true
        totalCapacityBps:
          type: string
          description: Total capacity in bps
          readOnly: true
        healthy:
          $ref: '#/components/schemas/StatusDetail'
        warning:
          $ref: '#/components/schemas/StatusDetail'
        critical:
          $ref: '#/components/schemas/StatusDetail'
    RunoutConfig:
      title: RunoutConfig
      type: object
      properties:
        strategy:
          type: string
          description: Strategy for runout
          readOnly: true
        warnQty:
          type: integer
          description: Warning quantity for runout
          format: int64
          readOnly: true
        critQty:
          type: integer
          description: Critical quantity for runout
          format: int64
          readOnly: true
    UtilConfig:
      title: UtilConfig
      type: object
      properties:
        aggregate:
          type: string
          description: Aggregate for utilization
          readOnly: true
        warnPct:
          type: integer
          description: Warning percentage for utilization
          format: int64
          readOnly: true
        critPct:
          type: integer
          description: Critical percentage for utilization
          format: int64
          readOnly: true
    StatusDetail:
      title: StatusDetail
      type: object
      properties:
        bps:
          type: string
          description: Bandwidth in bps
          readOnly: true
        count:
          type: integer
          description: Number of interfaces
          format: int64
          readOnly: true
    RunoutStatus:
      title: RunoutStatus
      type: object
      properties:
        status:
          type: string
          description: Status of runout
          readOnly: true
        earliestDate:
          type: string
          description: Earliest runout date
          readOnly: true
    UtilStatus:
      title: UtilStatus
      type: object
      properties:
        status:
          type: string
          description: Status of utilization
          readOnly: true
        highestPct:
          type: integer
          description: Highest utilization percentage
          format: int64
          readOnly: true
    CapacityPlan:
      title: CapacityPlan
      type: object
      properties:
        id:
          type: string
          description: ID of capacity plan
          readOnly: true
        name:
          type: string
          description: Name of capacity plan
          readOnly: true
        description:
          type: string
          description: Description of capacity plan
          readOnly: true
        status:
          type: string
          description: Status of capacity plan
          readOnly: true
        interfaces:
          type: array
          items:
            $ref: '#/components/schemas/InterfaceDetail'
          description: List of interfaces
          readOnly: true
        config:
          $ref: '#/components/schemas/Config'
        summaryStatus:
          $ref: '#/components/schemas/SummaryStatus'
    CapacitySummary:
      title: CapacitySummary
      type: object
      properties:
        id:
          type: string
          description: ID of capacity plan
          readOnly: true
        name:
          type: string
          description: Name of capacity plan
          readOnly: true
        description:
          type: string
          description: Description of capacity plan
          readOnly: true
        status:
          type: string
          description: Status of capacity plan
          readOnly: true
        interfaces:
          $ref: '#/components/schemas/InterfacesDetail'
        config:
          $ref: '#/components/schemas/Config'
        summaryStatus:
          $ref: '#/components/schemas/SummaryStatus'
    Config:
      title: Config
      type: object
      properties:
        runout:
          $ref: '#/components/schemas/RunoutConfig'
        utilization:
          $ref: '#/components/schemas/UtilConfig'
    GetCapacityPlanResponse:
      title: GetCapacityPlanResponse
      type: object
      properties:
        capacity:
          $ref: '#/components/schemas/CapacityPlan'
    GetCapacitySummaryResponse:
      title: GetCapacitySummaryResponse
      type: object
      properties:
        capacity:
          $ref: '#/components/schemas/CapacitySummary'
    ListCapacityPlansResponse:
      title: ListCapacityPlansResponse
      type: object
      properties:
        capacity:
          type: array
          items:
            $ref: '#/components/schemas/CapacityPlan'
          description: List of capacity plans
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    ListCapacitySummariesResponse:
      title: ListCapacitySummariesResponse
      type: object
      properties:
        capacity:
          type: array
          items:
            $ref: '#/components/schemas/CapacitySummary'
          description: List of capacity plan summaries
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    SummaryStatus:
      title: SummaryStatus
      type: object
      properties:
        runout:
          $ref: '#/components/schemas/RunoutStatus'
        utilization:
          $ref: '#/components/schemas/UtilStatus'
    AwsProperties:
      title: AwsProperties
      required:
      - iamRoleArn
      - region
      type: object
      properties:
        bucket:
          type: string
          description: Name of S3 bucket from which flow logs are to be exported.
        iamRoleArn:
          type: string
          description: ARN of the IAM role granted access to the S3 bucket and describe API end-points.
        region:
          type: string
          description: Name of AWS region from which to export flow logs.
        deleteAfterRead:
          type: boolean
          description: Delete from logs from the S3 bucket after export (default false).
        metadataOnly:
          type: boolean
          description: Import only metadata without any flows (default false).
    AzureProperties:
      title: AzureProperties
      required:
      - location
      - resourceGroup
      - storageAccount
      - subscriptionId
      type: object
      properties:
        location:
          type: string
          description: Azure region/location from which to export flow logs.
        resourceGroup:
          type: string
          description: Resource group containing the NSG generating flow logs.
        storageAccount:
          type: string
          description: Storage account from which flow logs are to be extracted.
        subscriptionId:
          type: string
          description: ID of Azure account from which flows logs are to be exported.
        securityPrincipalEnabled:
          type: boolean
          description: Indication whether security principal for the Kentik flow export application has been authorized.
    CloudExport:
      title: CloudExport
      required:
      - enabled
      - name
      - planId
      - cloudProvider
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the instance
          readOnly: true
        type:
          allOf:
          - $ref: '#/components/schemas/CloudExportType'
          - description: >-
              - CLOUD_EXPORT_TYPE_UNSPECIFIED: Invalid value.
               - CLOUD_EXPORT_TYPE_KENTIK_MANAGED: Cloud export process is managed by Kentik
               - CLOUD_EXPORT_TYPE_CUSTOMER_MANAGED: Cloud export process is managed by customer
        enabled:
          type: boolean
          description: Attribute controlling whether the instance is active
        name:
          type: string
          description: User selected name of the instance
        description:
          type: string
          description: Description of the instance
        planId:
          type: string
          description: Identifier of the billing plan for the instance
        cloudProvider:
          allOf:
          - $ref: '#/components/schemas/CloudProvider'
          - description: >-
              - CLOUD_PROVIDER_UNSPECIFIED: Invalid value.
               - CLOUD_PROVIDER_AWS: Amazon Web Services
               - CLOUD_PROVIDER_AZURE: Microsoft Azure
               - CLOUD_PROVIDER_GCE: Google Cloud
               - CLOUD_PROVIDER_IBM: IBM Cloud
        aws:
          $ref: '#/components/schemas/AwsProperties'
        azure:
          $ref: '#/components/schemas/AzureProperties'
        gce:
          $ref: '#/components/schemas/GceProperties'
        ibm:
          $ref: '#/components/schemas/IbmProperties'
        currentStatus:
          $ref: '#/components/schemas/CloudExportStatus'
        cdate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        edate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
    CloudExportStatus:
      title: CloudExportStatus
      type: object
      properties:
        status:
          type: string
          description: Status of the export task.
          readOnly: true
        errorMessage:
          type: string
          description: Text of the last error message (empty if status is OK).
          readOnly: true
        flowFound:
          type: boolean
          description: Indication whether any flow data were exported.
          readOnly: true
        apiAccess:
          type: boolean
          description: Indication whether the export process is able to access cloud API.
          readOnly: true
        storageAccountAccess:
          type: boolean
          description: Indication whether the export process is able to access storage account containing flow logs.
          readOnly: true
    CloudExportType:
      title: CloudExportType
      enum:
      - CLOUD_EXPORT_TYPE_UNSPECIFIED
      - CLOUD_EXPORT_TYPE_KENTIK_MANAGED
      - CLOUD_EXPORT_TYPE_CUSTOMER_MANAGED
      type: string
      description: >-
        - CLOUD_EXPORT_TYPE_UNSPECIFIED: Invalid value.
         - CLOUD_EXPORT_TYPE_KENTIK_MANAGED: Cloud export process is managed by Kentik
         - CLOUD_EXPORT_TYPE_CUSTOMER_MANAGED: Cloud export process is managed by customer
    CloudProvider:
      title: CloudProvider
      enum:
      - CLOUD_PROVIDER_UNSPECIFIED
      - CLOUD_PROVIDER_AWS
      - CLOUD_PROVIDER_AZURE
      - CLOUD_PROVIDER_GCE
      - CLOUD_PROVIDER_IBM
      type: string
      description: >-
        - CLOUD_PROVIDER_UNSPECIFIED: Invalid value.
         - CLOUD_PROVIDER_AWS: Amazon Web Services
         - CLOUD_PROVIDER_AZURE: Microsoft Azure
         - CLOUD_PROVIDER_GCE: Google Cloud
         - CLOUD_PROVIDER_IBM: IBM Cloud
    CreateCloudExportRequest:
      title: CreateCloudExportRequest
      type: object
      properties:
        export:
          $ref: '#/components/schemas/CloudExport'
    CreateCloudExportResponse:
      title: CreateCloudExportResponse
      type: object
      properties:
        export:
          $ref: '#/components/schemas/CloudExport'
    GceProperties:
      title: GceProperties
      required:
      - project
      - subscription
      type: object
      properties:
        project:
          type: string
          description: Name of the project from which to export flow logs.
        subscription:
          type: string
          description: GCP Pub/Sub subscription providing flow logs.
    GetCloudExportResponse:
      title: GetCloudExportResponse
      type: object
      properties:
        export:
          $ref: '#/components/schemas/CloudExport'
    IbmProperties:
      title: IbmProperties
      type: object
      properties:
        bucket:
          type: string
          description: Storage bucket from which flow logs are to be extracted.
    ListCloudExportsResponse:
      title: ListCloudExportsResponse
      type: object
      properties:
        exports:
          type: array
          items:
            $ref: '#/components/schemas/CloudExport'
          description: List of cloud export objects.
        invalidExportsCount:
          type: integer
          description: Number of objects with invalid data (which are not returned in the response).
          format: int64
    UpdateCloudExportRequest:
      title: UpdateCloudExportRequest
      type: object
      properties:
        export:
          $ref: '#/components/schemas/CloudExport'
    UpdateCloudExportResponse:
      title: UpdateCloudExportResponse
      type: object
      properties:
        export:
          $ref: '#/components/schemas/CloudExport'
    v202108alpha1ConnectivityType:
      title: v202108alpha1ConnectivityType
      enum:
      - CONNECTIVITY_TYPE_UNSPECIFIED
      - CONNECTIVITY_TYPE_AGGREGATION_INTERCONNECT
      - CONNECTIVITY_TYPE_AVAILABLE
      - CONNECTIVITY_TYPE_BACKBONE
      - CONNECTIVITY_TYPE_CLOUD_INTERCONNECT
      - CONNECTIVITY_TYPE_CUSTOMER
      - CONNECTIVITY_TYPE_DATACENTER_FABRIC
      - CONNECTIVITY_TYPE_DATACENTER_INTERCONNECT
      - CONNECTIVITY_TYPE_EMBEDDED_CACHE
      - CONNECTIVITY_TYPE_FREE_PNI
      - CONNECTIVITY_TYPE_HOST
      - CONNECTIVITY_TYPE_IX
      - CONNECTIVITY_TYPE_OTHER
      - CONNECTIVITY_TYPE_PAID_PNI
      - CONNECTIVITY_TYPE_RESERVED
      - CONNECTIVITY_TYPE_TRANSIT
      - CONNECTIVITY_TYPE_VIRTUAL_CROSS_CONNECT
      type: string
    v202108alpha1CreateInterfaceRequest:
      title: v202108alpha1CreateInterfaceRequest
      type: object
      properties:
        interface:
          $ref: '#/components/schemas/v202108alpha1Interface'
    v202108alpha1CreateInterfaceResponse:
      title: v202108alpha1CreateInterfaceResponse
      type: object
      properties:
        interface:
          $ref: '#/components/schemas/v202108alpha1Interface'
    v202108alpha1GetInterfaceResponse:
      title: v202108alpha1GetInterfaceResponse
      type: object
      properties:
        interface:
          $ref: '#/components/schemas/v202108alpha1Interface'
    v202108alpha1Interface:
      title: v202108alpha1Interface
      type: object
      properties:
        id:
          type: string
          description: ID of interface.
        deviceId:
          type: string
          description: ID of device with this interface.
        snmpId:
          type: string
          description: SNMP ID.
        snmpSpeed:
          type: integer
          description: Network speed in Mbps.
          format: int32
        snmpType:
          type: integer
          description: Snmp Type.
          format: int32
        snmpAlias:
          type: string
          description: Interface alias.
        interfaceIp:
          type: string
          description: IP of interface.
        interfaceDescription:
          type: string
          description: Readable string description of interface.
        cdate:
          type: string
          description: Create timestamp.
          format: date-time
        edate:
          type: string
          description: Update Timestamp.
          format: date-time
        interfaceIpNetmask:
          type: string
          description: Subnet mask.
        connectivityType:
          $ref: '#/components/schemas/v202108alpha1ConnectivityType'
        networkBoundary:
          $ref: '#/components/schemas/v202108alpha1NetworkBoundary'
        topNexthopAsns:
          type: array
          items:
            type: integer
            format: int32
          description: Top asn hops.
        provider:
          type: string
          description: Network provider.
    v202108alpha1InterfaceFilter:
      title: v202108alpha1InterfaceFilter
      type: object
      properties:
        text:
          type: string
          description: Search text match in interface description and alias.
        deviceIds:
          type: array
          items:
            type: string
          description: Search by device ID.
        connectivityTypes:
          type: array
          items:
            $ref: '#/components/schemas/v202108alpha1ConnectivityType'
          description: Search by type of interface connectivity.
        networkBoundaries:
          type: array
          items:
            $ref: '#/components/schemas/v202108alpha1NetworkBoundary'
          description: Search by type of network boundary.
        providers:
          type: array
          items:
            type: string
          description: ''
        snmpSpeeds:
          type: array
          items:
            type: integer
            format: int32
          description: ''
        ipTypes:
          type: array
          items:
            $ref: '#/components/schemas/v202108alpha1IpFilter'
          description: Search by ip address.
      description: Supports multiple search criteria. Fields are combined to AND statements to perform search.
    v202108alpha1IpFilter:
      title: v202108alpha1IpFilter
      enum:
      - IP_FILTER_UNSPECIFIED
      - IP_FILTER_PRIVATE
      - IP_FILTER_PUBLIC
      - IP_FILTER_UNSET
      type: string
    v202108alpha1ListInterfaceResponse:
      title: v202108alpha1ListInterfaceResponse
      type: object
      properties:
        interfaces:
          type: array
          items:
            $ref: '#/components/schemas/v202108alpha1Interface'
          description: ''
        totalCount:
          type: integer
          format: int32
        invalidCount:
          type: integer
          format: int32
    v202108alpha1ManualClassifyRequest:
      title: v202108alpha1ManualClassifyRequest
      type: object
      properties:
        interfaceIds:
          type: array
          items:
            type: string
          description: Interface ids to set the properties.
        connectivityType:
          $ref: '#/components/schemas/v202108alpha1ConnectivityType'
        networkBoundary:
          $ref: '#/components/schemas/v202108alpha1NetworkBoundary'
        provider:
          type: string
          description: Network provider.
      description: Set connection type, network boundary, and provider of interface id(s) specified.
    v202108alpha1ManualClassifyResponse:
      title: v202108alpha1ManualClassifyResponse
      type: object
      properties:
        deviceIds:
          type: array
          items:
            type: string
          description: ''
    v202108alpha1NetworkBoundary:
      title: v202108alpha1NetworkBoundary
      enum:
      - NETWORK_BOUNDARY_UNSPECIFIED
      - NETWORK_BOUNDARY_AUTO
      - NETWORK_BOUNDARY_INTERNAL
      - NETWORK_BOUNDARY_EXTERNAL
      - NETWORK_BOUNDARY_NONE
      type: string
    v202108alpha1UpdateInterfaceRequest:
      title: v202108alpha1UpdateInterfaceRequest
      type: object
      properties:
        interface:
          $ref: '#/components/schemas/v202108alpha1Interface'
    v202108alpha1UpdateInterfaceResponse:
      title: v202108alpha1UpdateInterfaceResponse
      type: object
      properties:
        interface:
          $ref: '#/components/schemas/v202108alpha1Interface'
    ASNDetails:
      title: ASNDetails
      type: object
      properties:
        asn:
          type: integer
          description: Autonomous System Number (ASN)
          format: int64
          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/CustomerProvider'
          description: List of Customers
          readOnly: true
        providers:
          type: array
          items:
            $ref: '#/components/schemas/CustomerProvider'
          description: List of Providers
          readOnly: true
        peers:
          type: array
          items:
            $ref: '#/components/schemas/Peer'
          description: List of Peers
          readOnly: true
    CustomerProvider:
      title: CustomerProvider
      type: object
      properties:
        asn:
          type: integer
          description: Autonomous System Number (ASN)
          format: int64
          readOnly: true
        name:
          type: string
          description: Name of the Autonomous System
          readOnly: true
        score:
          type: integer
          description: Score of the Autonomous System
          format: int64
          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
    GetASNDetailsRequest:
      title: GetASNDetailsRequest
      required:
      - marketId
      - asn
      type: object
      properties:
        marketId:
          type: string
          description: Unique Geo Market identifier (as provided by the ListMarkets RPC)
        asn:
          type: string
          description: Autonomous System Number (ASN)
        ip:
          type: string
          description: IP Address Family ('v4' or 'v6'). Defaults to 'v4'.
        type:
          type: string
          description: Type of the requested ASN ('all', 'customer', 'provider', 'peer'). Defaults to 'all'.
        mutualProvider:
          type: string
          description: Filter by mutual provider ('all', 'only', 'exclude'). Defaults to 'all'.
        mutualCustomer:
          type: string
          description: Filter by mutual customer ('all', 'only', 'exclude'). Defaults to 'all'.
        singlehomedCustomer:
          type: string
          description: Filter by singlehomed customer ('all', 'only', 'exclude'). Defaults to 'all'.
    GetASNDetailsResponse:
      title: GetASNDetailsResponse
      type: object
      properties:
        asnDetails:
          $ref: '#/components/schemas/ASNDetails'
    GetRankingsRequest:
      title: GetRankingsRequest
      required:
      - marketId
      type: object
      properties:
        marketId:
          type: string
          description: Unique Geo Market identifier (as provided by the ListMarkets RPC)
        rankType:
          type: string
          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'.
        ip:
          type: string
          description: IP Address Family ('v4' or 'v6') of requested ranking. Defaults to 'v4'.
        limit:
          type: integer
          description: 'Maximum number of entries returned. (Default: 600).'
          format: int64
    GetRankingsResponse:
      title: GetRankingsResponse
      type: object
      properties:
        rankings:
          type: array
          items:
            $ref: '#/components/schemas/Ranking'
          description: List of rankings
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    ListMarketsResponse:
      title: ListMarketsResponse
      type: object
      properties:
        markets:
          type: array
          items:
            $ref: '#/components/schemas/Market'
          description: Markets
          readOnly: true
    Market:
      title: Market
      type: object
      properties:
        marketId:
          type: string
          description: Unique Geo Market identifier
          readOnly: true
        name:
          type: string
          description: Geo Market Name
          readOnly: true
    Peer:
      title: Peer
      type: object
      properties:
        asn:
          type: integer
          description: Autonomous System Number (ASN)
          format: int64
          readOnly: true
        name:
          type: string
          description: Name of the Autonomous System
          readOnly: true
        pfxCount:
          type: integer
          description: Prefix Count (number of distinct IP address blocks announced by AS)
          format: int64
          readOnly: true
    Ranking:
      title: Ranking
      type: object
      properties:
        asn:
          type: integer
          description: Autonomous System Number (ASN)
          format: int64
          readOnly: true
        name:
          type: string
          description: Name of the Autonomous System
          readOnly: true
        rank:
          type: integer
          description: Rank of the Autonomous System
          format: int64
          readOnly: true
        rankChange:
          type: integer
          description: Rank Change of the Autonomous System
          format: int64
          readOnly: true
        score:
          type: integer
          description: Score of the Autonomous System
          format: int64
          readOnly: true
        scoreChange:
          type: integer
          description: Score Change of the Autonomous System
          format: int64
          readOnly: true
    Label:
      title: Label
      required:
      - name
      type: object
      properties:
        id:
          type: string
          description: Unique system assigned identifier of the label
          readOnly: true
        name:
          type: string
          description: Label text visible in listing of configuration of objects to which it has been applied
        description:
          type: string
          description: Optional description of the label, visible only in API responses
        color:
          type: string
          description: '[Hexadecimal code of the color](https://www.color-hex.com/) of the label text background in the portal'
        cdate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        edate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
    CreateLabelRequest:
      title: CreateLabelRequest
      required:
      - label
      type: object
      properties:
        label:
          $ref: '#/components/schemas/Label'
    CreateLabelResponse:
      title: CreateLabelResponse
      type: object
      properties:
        label:
          $ref: '#/components/schemas/Label'
    ListLabelsResponse:
      title: ListLabelsResponse
      type: object
      properties:
        labels:
          type: array
          items:
            $ref: '#/components/schemas/Label'
          description: List of configured labels
          readOnly: true
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data (should be always 0)
          format: int32
    UpdateLabelRequest:
      title: UpdateLabelRequest
      required:
      - label
      type: object
      properties:
        label:
          $ref: '#/components/schemas/Label'
    UpdateLabelResponse:
      title: UpdateLabelResponse
      type: object
      properties:
        label:
          $ref: '#/components/schemas/Label'
    AssetReport:
      title: AssetReport
      type: object
      properties:
        id:
          type: string
        type:
          type: string
    v202102alpha1Activate:
      title: v202102alpha1Activate
      type: object
      properties:
        times:
          type: integer
          format: int64
        operator:
          type: string
        timeUnit:
          type: string
        timeWindow:
          type: integer
          format: int64
        gracePeriod:
          type: integer
          format: int64
    AlertPolicy:
      title: AlertPolicy
      type: object
      properties:
        saved:
          type: boolean
        policyId:
          type: string
        thresholds:
          type: array
          items:
            $ref: '#/components/schemas/AlertThreshold'
          description: ''
        primaryMetric:
          type: string
        secondaryMetrics:
          type: array
          items:
            type: string
          description: ''
        isTemplate:
          type: boolean
        subpolicyId:
          type: string
    v202102alpha1Asset:
      title: v202102alpha1Asset
      type: object
      properties:
        reports:
          type: array
          items:
            $ref: '#/components/schemas/AssetReport'
          description: ''
        defaultReport:
          $ref: '#/components/schemas/AssetReport'
    v202102alpha1Condition:
      title: v202102alpha1Condition
      type: object
      properties:
        type:
          type: string
        value:
          type: integer
          format: int64
        metric:
          type: string
        operator:
          type: string
        valueType:
          type: string
        valueSelect:
          type: string
    v202102alpha1CreatePackageRequest:
      title: v202102alpha1CreatePackageRequest
      type: object
      properties:
        package:
          $ref: '#/components/schemas/PackageTemplatedefinition'
    v202102alpha1CreatePackageResponse:
      title: v202102alpha1CreatePackageResponse
      type: object
      properties:
        package:
          $ref: '#/components/schemas/PackageTemplatedefinition'
    v202102alpha1CreateTenantRequest:
      title: v202102alpha1CreateTenantRequest
      type: object
      properties:
        tenant:
          $ref: '#/components/schemas/v202102alpha1Tenant'
    v202102alpha1CreateTenantResponse:
      title: v202102alpha1CreateTenantResponse
      type: object
      properties:
        tenant:
          $ref: '#/components/schemas/v202102alpha1Tenant'
    v202102alpha1CustomDimension:
      title: v202102alpha1CustomDimension
      type: object
      properties:
        dimension:
          type: string
        populator:
          type: string
    v202102alpha1Device:
      title: v202102alpha1Device
      type: object
      properties:
        allDevices:
          type: boolean
        deviceTypes:
          type: array
          items:
            type: string
          description: ''
        deviceLabels:
          type: array
          items:
            type: integer
            format: int64
          description: ''
        deviceSites:
          type: array
          items:
            type: integer
            format: int64
          description: ''
        deviceName:
          type: array
          items:
            type: string
          description: ''
    v202102alpha1Filter:
      title: v202102alpha1Filter
      type: object
      properties:
        name:
          type: string
        named:
          type: boolean
        connector:
          type: string
        not:
          type: boolean
        autoAdded:
          type: string
        savedFilters:
          type: array
          items:
            type: string
          description: ''
        filters:
          type: array
          items:
            $ref: '#/components/schemas/v202102alpha1FilterField'
          description: ''
        filterGroups:
          type: array
          items:
            $ref: '#/components/schemas/v202102alpha1Filter'
          description: ''
        metric:
          type: array
          items:
            type: string
          description: ''
    v202102alpha1FilterField:
      title: v202102alpha1FilterField
      type: object
      properties:
        filterField:
          type: string
        operator:
          type: string
        filterValue:
          type: string
    v202102alpha1GetPackageResponse:
      title: v202102alpha1GetPackageResponse
      type: object
      properties:
        package:
          $ref: '#/components/schemas/PackageTemplatedefinition'
    v202102alpha1GetTenantResponse:
      title: v202102alpha1GetTenantResponse
      type: object
      properties:
        tenant:
          $ref: '#/components/schemas/v202102alpha1Tenant'
    v202102alpha1ListPackageResponse:
      title: v202102alpha1ListPackageResponse
      type: object
      properties:
        packages:
          type: array
          items:
            $ref: '#/components/schemas/PackageTemplatedefinition'
          description: ''
        invalidCount:
          type: integer
          description: The number of invalid packages, for troubleshooting. Should be zero.
          format: int64
    v202102alpha1ListTenantResponse:
      title: v202102alpha1ListTenantResponse
      type: object
      properties:
        tenants:
          type: array
          items:
            $ref: '#/components/schemas/v202102alpha1Tenant'
          description: ''
        invalidCount:
          type: integer
          format: int64
    v202102alpha1Mitigation:
      title: v202102alpha1Mitigation
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        companyId:
          type: string
        pairingId:
          type: string
        thresholdId:
          type: string
        isMethodOverridable:
          type: boolean
        mitigationApplyType:
          type: string
        mitigationClearType:
          type: string
        mitigationApplyTimer:
          type: integer
          format: int64
        mitigationClearTimer:
          type: integer
          format: int64
        isPlatformOverridable:
          type: boolean
        cdate:
          type: string
        edate:
          type: string
    v202102alpha1NotificationChannel:
      title: v202102alpha1NotificationChannel
      type: object
      properties:
        id:
          type: string
    PackageTemplatedefinition:
      title: PackageTemplatedefinition
      type: object
      properties:
        id:
          type: string
        companyId:
          type: string
        name:
          type: string
        description:
          type: string
        icon:
          type: string
        color:
          type: string
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/AlertPolicy'
          description: ''
        assets:
          $ref: '#/components/schemas/v202102alpha1Asset'
        isDefault:
          type: boolean
        tenants:
          type: array
          items:
            $ref: '#/components/schemas/TenantsreferencingthisPackagetemplate'
          description: ''
    v202102alpha1PatchPackageRequest:
      title: v202102alpha1PatchPackageRequest
      type: object
      properties:
        package:
          $ref: '#/components/schemas/PackageTemplatedefinition'
        mask:
          type: string
    v202102alpha1PatchPackageResponse:
      title: v202102alpha1PatchPackageResponse
      type: object
      properties:
        package:
          $ref: '#/components/schemas/PackageTemplatedefinition'
    v202102alpha1PatchTenantRequest:
      title: v202102alpha1PatchTenantRequest
      type: object
      properties:
        tenant:
          $ref: '#/components/schemas/v202102alpha1Tenant'
        mask:
          type: string
    v202102alpha1PatchTenantResponse:
      title: v202102alpha1PatchTenantResponse
      type: object
      properties:
        tenant:
          $ref: '#/components/schemas/v202102alpha1Tenant'
    v202102alpha1Tenant:
      title: v202102alpha1Tenant
      type: object
      properties:
        id:
          type: string
        companyId:
          type: string
        name:
          type: string
        description:
          type: string
        type:
          type: string
        enabled:
          type: boolean
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/AlertPolicy'
          description: ''
        assets:
          $ref: '#/components/schemas/v202102alpha1Asset'
        asn:
          type: string
        cidr:
          type: string
        customDimensions:
          type: array
          items:
            $ref: '#/components/schemas/v202102alpha1CustomDimension'
          description: ''
        devices:
          $ref: '#/components/schemas/v202102alpha1Device'
        filters:
          $ref: '#/components/schemas/v202102alpha1Filter'
        interfaceName:
          type: string
        snmpAlias:
          type: string
        packages:
          type: array
          items:
            $ref: '#/components/schemas/PackageTemplatedefinition'
          description: ''
        users:
          type: array
          items:
            $ref: '#/components/schemas/v202102alpha1User'
          description: ''
        templateId:
          type: integer
          format: int64
    TenantsreferencingthisPackagetemplate:
      title: TenantsreferencingthisPackagetemplate
      type: object
      properties:
        id:
          type: string
        pivotTemplateId:
          type: string
        pivotUserGroupId:
          type: string
    AlertThreshold:
      title: AlertThreshold
      type: object
      properties:
        id:
          type: string
        activate:
          $ref: '#/components/schemas/v202102alpha1Activate'
        severity:
          type: string
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/v202102alpha1Condition'
          description: ''
        mitigations:
          type: array
          items:
            $ref: '#/components/schemas/v202102alpha1Mitigation'
          description: ''
        notificationChannels:
          type: array
          items:
            $ref: '#/components/schemas/v202102alpha1NotificationChannel'
          description: ''
        thresholdAckRequired:
          type: boolean
        enableTenantNotifications:
          type: boolean
        receiveLandlordNotifications:
          type: boolean
    v202102alpha1UpdatePackageRequest:
      title: v202102alpha1UpdatePackageRequest
      type: object
      properties:
        package:
          $ref: '#/components/schemas/PackageTemplatedefinition'
    v202102alpha1UpdatePackageResponse:
      title: v202102alpha1UpdatePackageResponse
      type: object
      properties:
        package:
          $ref: '#/components/schemas/PackageTemplatedefinition'
    v202102alpha1UpdateTenantRequest:
      title: v202102alpha1UpdateTenantRequest
      type: object
      properties:
        tenant:
          $ref: '#/components/schemas/v202102alpha1Tenant'
    v202102alpha1UpdateTenantResponse:
      title: v202102alpha1UpdateTenantResponse
      type: object
      properties:
        tenant:
          $ref: '#/components/schemas/v202102alpha1Tenant'
    v202102alpha1User:
      title: v202102alpha1User
      type: object
      properties:
        id:
          type: string
        companyId:
          type: string
        userEmail:
          type: string
        userName:
          type: string
        userFullName:
          type: string
        userGroupId:
          type: string
        lastLogin:
          type: string
        permissionOverrides:
          type: boolean
        role:
          type: string
        userLevel:
          type: integer
          format: int64
    v202109alpha1CloudSubnet:
      title: v202109alpha1CloudSubnet
      type: object
      properties:
        type:
          $ref: '#/components/schemas/v202109alpha1CloudType'
        subnets:
          type: array
          items:
            type: string
          description: ''
    v202109alpha1CloudType:
      title: v202109alpha1CloudType
      enum:
      - CLOUD_TYPE_UNSPECIFIED
      - CLOUD_TYPE_AWS
      - CLOUD_TYPE_AZURE
      - CLOUD_TYPE_GCE
      - CLOUD_TYPE_IBM
      type: string
    v202109alpha1GetNetworkClassResponse:
      title: v202109alpha1GetNetworkClassResponse
      type: object
      properties:
        networkClass:
          $ref: '#/components/schemas/v202109alpha1NetworkClass'
    v202109alpha1NetworkClass:
      title: v202109alpha1NetworkClass
      type: object
      properties:
        internalAsns:
          type: array
          items:
            type: string
          description: ''
        internalIps:
          type: array
          items:
            type: string
          description: ''
        usePrivateAsns:
          type: boolean
        usePrivateSubnets:
          type: boolean
        cloudSubnets:
          type: array
          items:
            $ref: '#/components/schemas/v202109alpha1CloudSubnet'
          description: Cloud provider and subnet info.
    v202109alpha1UpdateNetworkClassRequest:
      title: v202109alpha1UpdateNetworkClassRequest
      type: object
      properties:
        networkClass:
          $ref: '#/components/schemas/v202109alpha1NetworkClass'
    v202109alpha1UpdateNetworkClassResponse:
      title: v202109alpha1UpdateNetworkClassResponse
      type: object
      properties:
        networkClass:
          $ref: '#/components/schemas/v202109alpha1NetworkClass'
    ChannelType:
      title: ChannelType
      enum:
      - CHANNEL_TYPE_UNSPECIFIED
      - CHANNEL_TYPE_XMATTERS
      - CHANNEL_TYPE_SLACK
      - CHANNEL_TYPE_SERVICENOW
      - CHANNEL_TYPE_SYSLOG
      - CHANNEL_TYPE_OPSGENIE
      - CHANNEL_TYPE_CUSTOM_WEBHOOK
      - CHANNEL_TYPE_SPLUNK
      - CHANNEL_TYPE_MSTEAMS
      - CHANNEL_TYPE_JSON
      - CHANNEL_TYPE_EMAIL
      - CHANNEL_TYPE_VICTOROPS
      - CHANNEL_TYPE_PAGERDUTY
      type: string
      description: >-
        - CHANNEL_TYPE_UNSPECIFIED: Invalid value.
         - CHANNEL_TYPE_XMATTERS: XMATTERS platform
         - CHANNEL_TYPE_SLACK: Slack channel
         - CHANNEL_TYPE_SERVICENOW: ServiceNow platform
         - CHANNEL_TYPE_SYSLOG: Syslog server
         - CHANNEL_TYPE_OPSGENIE: Atlassian Opsgenie
         - CHANNEL_TYPE_CUSTOM_WEBHOOK: Custom REST webhook
         - CHANNEL_TYPE_SPLUNK: Splunk platform
         - CHANNEL_TYPE_MSTEAMS: Microsoft Teams channel
         - CHANNEL_TYPE_JSON: webhook with JSON payload
         - CHANNEL_TYPE_EMAIL: E-mail
         - CHANNEL_TYPE_VICTOROPS: Splunk On-Call (formerly VictorOps)
         - CHANNEL_TYPE_PAGERDUTY: Pagerduty platform
    GetNotificationChannelResponse:
      title: GetNotificationChannelResponse
      type: object
      properties:
        notificationChannel:
          $ref: '#/components/schemas/NotificationChannel'
    ListNotificationChannelsResponse:
      title: ListNotificationChannelsResponse
      type: object
      properties:
        notificationChannels:
          type: array
          items:
            $ref: '#/components/schemas/NotificationChannel'
          description: List of notification channels
          readOnly: true
        invalidCount:
          type: integer
          description: Number of invalid entries that were not included in the list (should be always zero)
          format: int32
          readOnly: true
    NotificationChannel:
      title: NotificationChannel
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the channel
          readOnly: true
        name:
          type: string
          description: User selected name of the channel
          readOnly: true
        type:
          allOf:
          - $ref: '#/components/schemas/ChannelType'
          - description: >-
              - CHANNEL_TYPE_UNSPECIFIED: Invalid value.
               - CHANNEL_TYPE_XMATTERS: XMATTERS platform
               - CHANNEL_TYPE_SLACK: Slack channel
               - CHANNEL_TYPE_SERVICENOW: ServiceNow platform
               - CHANNEL_TYPE_SYSLOG: Syslog server
               - CHANNEL_TYPE_OPSGENIE: Atlassian Opsgenie
               - CHANNEL_TYPE_CUSTOM_WEBHOOK: Custom REST webhook
               - CHANNEL_TYPE_SPLUNK: Splunk platform
               - CHANNEL_TYPE_MSTEAMS: Microsoft Teams channel
               - CHANNEL_TYPE_JSON: webhook with JSON payload
               - CHANNEL_TYPE_EMAIL: E-mail
               - CHANNEL_TYPE_VICTOROPS: Splunk On-Call (formerly VictorOps)
               - CHANNEL_TYPE_PAGERDUTY: Pagerduty platform
        enabled:
          type: boolean
          description: Administrative status
          readOnly: true
        cdate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        edate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
    SearchNotificationChannelsRequest:
      title: SearchNotificationChannelsRequest
      type: object
      properties:
        namePattern:
          type: string
          description: Regular expression pattern for matching the name attribute of channels. Empty string matches any name, otherwise the regular expression must consume all characters in the channel name.
        types:
          type: array
          items:
            $ref: '#/components/schemas/ChannelType'
          description: List of ChannelType enum values to match. Empty list matches any channel type.
        includeDisabled:
          type: boolean
          description: Include disabled channels in results.
          default: false
    SearchNotificationChannelsResponse:
      title: SearchNotificationChannelsResponse
      type: object
      properties:
        notificationChannels:
          type: array
          items:
            $ref: '#/components/schemas/NotificationChannel'
          description: List of matching notification channels.
          readOnly: true
        invalidCount:
          type: integer
          description: Number of invalid entries that were not included in the list (should be always zero)
          format: int32
          readOnly: true
    CreateSiteMarketRequest:
      title: CreateSiteMarketRequest
      required:
      - siteMarket
      type: object
      properties:
        siteMarket:
          $ref: '#/components/schemas/SiteMarket'
    CreateSiteMarketResponse:
      title: CreateSiteMarketResponse
      type: object
      properties:
        siteMarket:
          $ref: '#/components/schemas/SiteMarket'
    CreateSiteRequest:
      title: CreateSiteRequest
      required:
      - site
      type: object
      properties:
        site:
          $ref: '#/components/schemas/Site'
    CreateSiteResponse:
      title: CreateSiteResponse
      type: object
      properties:
        site:
          $ref: '#/components/schemas/Site'
    GetSiteMarketResponse:
      title: GetSiteMarketResponse
      type: object
      properties:
        siteMarket:
          $ref: '#/components/schemas/SiteMarket'
    GetSiteResponse:
      title: GetSiteResponse
      type: object
      properties:
        site:
          $ref: '#/components/schemas/Site'
    Layer:
      title: Layer
      type: object
      properties:
        name:
          type: string
          description: Name of the network layer
        deviceIds:
          type: array
          items:
            type: string
          description: IDs of devices that are deemed to be part of the network layer
    LayerSet:
      title: LayerSet
      type: object
      properties:
        layers:
          type: array
          items:
            $ref: '#/components/schemas/Layer'
          description: List of parallel network layers
    ListSiteMarketsResponse:
      title: ListSiteMarketsResponse
      type: object
      properties:
        siteMarkets:
          type: array
          items:
            $ref: '#/components/schemas/SiteMarket'
          description: List of configurations of requested site markets
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    ListSitesResponse:
      title: ListSitesResponse
      type: object
      properties:
        sites:
          type: array
          items:
            $ref: '#/components/schemas/Site'
          description: List of configurations of requested sites
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    PostalAddress:
      title: PostalAddress
      required:
      - address
      - city
      - country
      type: object
      properties:
        address:
          type: string
          description: Street address
        city:
          type: string
          description: City (full name)
        region:
          type: string
          description: Geographical region
        postalCode:
          type: string
          description: Country specific postal code
        country:
          type: string
          description: Country (full name or country code)
    Site:
      title: Site
      required:
      - title
      - type
      type: object
      properties:
        id:
          type: string
          description: System generated unique identifier
          readOnly: true
        title:
          type: string
          description: User selected title/name
        lat:
          type: number
          description: Latitude (signed decimal degrees)
        lon:
          type: number
          description: Longitude (signed decimal degrees)
        postalAddress:
          $ref: '#/components/schemas/PostalAddress'
        type:
          allOf:
          - $ref: '#/components/schemas/SiteType'
          - description: >-
              - SITE_TYPE_UNSPECIFIED: Invalid value.
               - SITE_TYPE_DATA_CENTER: Data center site type.
               - SITE_TYPE_CLOUD: Cloud site type.
               - SITE_TYPE_BRANCH: Branch office site type.
               - SITE_TYPE_CONNECTIVITY: Connectivity/PoP site type.
               - SITE_TYPE_CUSTOMER: Customer/partner site type.
               - SITE_TYPE_OTHER: Other site type.
        addressClassification:
          $ref: '#/components/schemas/SiteIpAddressClassification'
        architecture:
          type: array
          items:
            $ref: '#/components/schemas/LayerSet'
          description: Logical network topology/architecture
        siteMarket:
          type: string
          description: Name of the Site Market this sire belongs to
    SiteIpAddressClassification:
      title: SiteIpAddressClassification
      type: object
      properties:
        infrastructureNetworks:
          type: array
          items:
            type: string
          description: List of IP address prefixes (in standard CIDR notation) used in infrastructure networks
        userAccessNetworks:
          type: array
          items:
            type: string
          description: List of IP address prefixes (in standard CIDR notation) used in access networks
        otherNetworks:
          type: array
          items:
            type: string
          description: List of IP address prefixes (in standard CIDR notation) used in other networks
    SiteMarket:
      title: SiteMarket
      required:
      - name
      type: object
      properties:
        id:
          type: string
          description: System generated unique identifier
          readOnly: true
        name:
          type: string
          description: User selected unique name
        description:
          type: string
          description: Free-form description
        numberOfSites:
          type: integer
          description: Number of sites in this market
          format: int64
          readOnly: true
        cdate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        edate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
    SiteType:
      title: SiteType
      enum:
      - SITE_TYPE_UNSPECIFIED
      - SITE_TYPE_DATA_CENTER
      - SITE_TYPE_CLOUD
      - SITE_TYPE_BRANCH
      - SITE_TYPE_CONNECTIVITY
      - SITE_TYPE_CUSTOMER
      - SITE_TYPE_OTHER
      type: string
      description: >-
        - SITE_TYPE_UNSPECIFIED: Invalid value.
         - SITE_TYPE_DATA_CENTER: Data center site type.
         - SITE_TYPE_CLOUD: Cloud site type.
         - SITE_TYPE_BRANCH: Branch office site type.
         - SITE_TYPE_CONNECTIVITY: Connectivity/PoP site type.
         - SITE_TYPE_CUSTOMER: Customer/partner site type.
         - SITE_TYPE_OTHER: Other site type.
    UpdateSiteMarketRequest:
      title: UpdateSiteMarketRequest
      required:
      - siteMarket
      type: object
      properties:
        siteMarket:
          $ref: '#/components/schemas/SiteMarket'
    UpdateSiteMarketResponse:
      title: UpdateSiteMarketResponse
      type: object
      properties:
        siteMarket:
          $ref: '#/components/schemas/SiteMarket'
    UpdateSiteRequest:
      title: UpdateSiteRequest
      required:
      - site
      type: object
      properties:
        site:
          $ref: '#/components/schemas/Site'
    UpdateSiteResponse:
      title: UpdateSiteResponse
      type: object
      properties:
        site:
          $ref: '#/components/schemas/Site'
    AgentMetadataIpValue:
      title: AgentMetadataIpValue
      type: object
      properties:
        value:
          type: string
    Location:
      title: Location
      type: object
      properties:
        latitude:
          type: number
          description: Latitude in signed decimal degrees
        longitude:
          type: number
          description: Longitude in signed decimal degrees
        country:
          type: string
          description: Country of the location
        region:
          type: string
          description: Geographic region within the country
        city:
          type: string
          description: City of the location
    ActivationSettings:
      title: ActivationSettings
      type: object
      properties:
        gracePeriod:
          type: string
          description: Period of healthy status in minutes within the time window not cancelling alarm activation
        timeUnit:
          type: string
          description: Time unit for specifying time window (m | h)
        timeWindow:
          type: string
          description: Time window for evaluating of test for alarm activation
        times:
          type: string
          description: Number of occurrences of unhealthy test status within the time window triggering alarm activation
    Agent:
      title: Agent
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the agent
          readOnly: true
        siteName:
          type: string
          description: Name of the site where agent is located
        status:
          allOf:
          - $ref: '#/components/schemas/AgentStatus'
          - description: >-
              - AGENT_STATUS_UNSPECIFIED: Invalid value.
               - AGENT_STATUS_OK: Agent is ready to accept tests
               - AGENT_STATUS_WAIT: Agent is waiting for authorization
               - AGENT_STATUS_DELETED: Agent was deleted - not user settable
        alias:
          type: string
          description: User selected descriptive name of the agent
        type:
          type: string
          description: Type of agent (global | private)
          readOnly: true
        os:
          type: string
          description: OS version of server/VM hosting the agent
          readOnly: true
        ip:
          type: string
          description: Public IP address of the agent (auto-detected)
          readOnly: true
        lat:
          type: number
          description: Latitude of agent's location (signed decimal degrees)
        long:
          type: number
          description: Longitude of agent's location (signed decimal degrees)
        lastAuthed:
          type: string
          description: Timestamp of the last authorization
          format: date-time
          readOnly: true
        family:
          allOf:
          - $ref: '#/components/schemas/IPFamily'
          - description: >-
              - IP_FAMILY_UNSPECIFIED: Invalid value.
               - IP_FAMILY_V4: IPv4 only
               - IP_FAMILY_V6: IPv6 only
               - IP_FAMILY_DUAL: IPv4 and IPv6 supported
        asn:
          type: integer
          description: ASN of the AS owning agent's public address
          format: int64
        siteId:
          type: string
          description: ID of the site hosting the agent (if configured in Kentik)
        version:
          type: string
          description: Software version of the agent
          readOnly: true
        city:
          type: string
          description: City where the agent is located
        region:
          type: string
          description: Geographical region of agent's location
        country:
          type: string
          description: Country of agent's location
        testIds:
          type: array
          items:
            type: string
          description: IDs of user's test running on the agent
          readOnly: true
        localIp:
          type: string
          description: Internal IP address of the agent
        cloudRegion:
          type: string
          description: Cloud region (if any) hosting the agent
        cloudProvider:
          type: string
          description: Cloud provider (if any) hosting the agent
        agentImpl:
          allOf:
          - $ref: '#/components/schemas/ImplementType'
          - description: >-
              - IMPLEMENT_TYPE_RUST: ksynth, a.k.a network agent (implemented in Rust) capable of running all tasks except for page-load and transaction
               - IMPLEMENT_TYPE_NODE: ksynth-agent, a.k.a. app agent (implemented in NodeJS) with Chromium enabled capable of running all tasks
               - IMPLEMENT_TYPE_NETWORK: ksynth-agent, a.k.a. app agent with Chromium disabled, capable of running all tasks except for page-load and transaction
        labels:
          type: array
          items:
            type: string
          description: List of names of labels associated with the agent
        metadata:
          $ref: '#/components/schemas/AgentMetadata'
    AgentMetadata:
      title: AgentMetadata
      type: object
      properties:
        privateIpv4Addresses:
          type: array
          items:
            $ref: '#/components/schemas/AgentMetadataIpValue'
          description: List of private IPv4 addresses
        publicIpv4Addresses:
          type: array
          items:
            $ref: '#/components/schemas/AgentMetadataIpValue'
          description: List of public IPv4 addresses
          readOnly: true
        privateIpv6Addresses:
          type: array
          items:
            $ref: '#/components/schemas/AgentMetadataIpValue'
          description: List of private IPv6 addresses
        publicIpv6Addresses:
          type: array
          items:
            $ref: '#/components/schemas/AgentMetadataIpValue'
          description: List of public IPv6 addresses
          readOnly: true
    AgentResults:
      title: AgentResults
      type: object
      properties:
        agentId:
          type: string
          description: ID of the agent providing results
        health:
          type: string
          description: Overall health status of all task for the test executed by this agent
        tasks:
          type: array
          items:
            $ref: '#/components/schemas/TaskResults'
          description: List of results for individual tasks
    AgentStatus:
      title: AgentStatus
      enum:
      - AGENT_STATUS_UNSPECIFIED
      - AGENT_STATUS_OK
      - AGENT_STATUS_WAIT
      - AGENT_STATUS_DELETED
      type: string
      description: >-
        - AGENT_STATUS_UNSPECIFIED: Invalid value.
         - AGENT_STATUS_OK: Agent is ready to accept tests
         - AGENT_STATUS_WAIT: Agent is waiting for authorization
         - AGENT_STATUS_DELETED: Agent was deleted - not user settable
    AgentTest:
      title: AgentTest
      type: object
      properties:
        target:
          type: string
          description: ID of the target agent
        useLocalIp:
          type: boolean
          description: Boolean value indicating whether to use local (private) IP address of the target agent
    CreateTestRequest:
      title: CreateTestRequest
      required:
      - test
      type: object
      properties:
        test:
          $ref: '#/components/schemas/Test'
    CreateTestResponse:
      title: CreateTestResponse
      type: object
      properties:
        test:
          $ref: '#/components/schemas/Test'
    DNSRecord:
      title: DNSRecord
      enum:
      - DNS_RECORD_UNSPECIFIED
      - DNS_RECORD_A
      - DNS_RECORD_AAAA
      - DNS_RECORD_CNAME
      - DNS_RECORD_DNAME
      - DNS_RECORD_NS
      - DNS_RECORD_MX
      - DNS_RECORD_PTR
      - DNS_RECORD_SOA
      type: string
      description: >-
        - DNS_RECORD_UNSPECIFIED: Invalid value
         - DNS_RECORD_A: name to IPv4 address(es) mapping
         - DNS_RECORD_AAAA: name to IPv6 address(es) mapping
         - DNS_RECORD_CNAME: alternative resource name
         - DNS_RECORD_DNAME: alternative resource set name
         - DNS_RECORD_NS: domain to name server mapping
         - DNS_RECORD_MX: SMTP mail server record
         - DNS_RECORD_PTR: IPv4/6 address to name mapping
         - DNS_RECORD_SOA: domain meta-data
    DNSResponseData:
      title: DNSResponseData
      type: object
      properties:
        status:
          type: integer
          description: Received DNS status
          format: int64
        data:
          type: string
          description: Text rendering of received DNS resolution
    DNSResults:
      title: DNSResults
      type: object
      properties:
        target:
          type: string
          description: Queried DNS record
        server:
          type: string
          description: DNS server used for the query
        latency:
          $ref: '#/components/schemas/MetricData'
        response:
          $ref: '#/components/schemas/DNSResponseData'
    DnsTest:
      title: DnsTest
      type: object
      properties:
        target:
          type: string
          description: Fully qualified DNS name to query
        timeout:
          type: integer
          description: '--- Deprecated: value is ignored. ---'
          format: int64
        recordType:
          allOf:
          - $ref: '#/components/schemas/DNSRecord'
          - description: >-
              - DNS_RECORD_UNSPECIFIED: Invalid value
               - DNS_RECORD_A: name to IPv4 address(es) mapping
               - DNS_RECORD_AAAA: name to IPv6 address(es) mapping
               - DNS_RECORD_CNAME: alternative resource name
               - DNS_RECORD_DNAME: alternative resource set name
               - DNS_RECORD_NS: domain to name server mapping
               - DNS_RECORD_MX: SMTP mail server record
               - DNS_RECORD_PTR: IPv4/6 address to name mapping
               - DNS_RECORD_SOA: domain meta-data
        servers:
          type: array
          items:
            type: string
          description: List of IP addresses of DNS servers
        port:
          type: integer
          description: Target DNS server port
          format: int64
    FlowTest:
      title: FlowTest
      type: object
      properties:
        target:
          type: string
          description: Target ASN, CDN, Country, Region of City for autonomous test (type of value depends on flow test sub-type)
        targetRefreshIntervalMillis:
          type: integer
          description: Period (in milliseconds) for refreshing list of targets based on available flow data
          format: int64
        maxProviders:
          type: integer
          description: Maximum number of IP providers to track autonomously
          format: int64
        maxIpTargets:
          type: integer
          description: Maximum number of target IP addresses to select based flow data query
          format: int64
        type:
          type: string
          description: Autonomous test sub-type (asn | cdn | country | region | city)
        inetDirection:
          type: string
          description: Selection of address from flow data (src = source address in inbound flows | dst = destination addresses in outbound flows)
        direction:
          type: string
          description: Direction of flows to match target attribute for extraction of target addresses (src | dst)
    GetAgentResponse:
      title: GetAgentResponse
      type: object
      properties:
        agent:
          $ref: '#/components/schemas/Agent'
    GetResultsForTestsRequest:
      title: GetResultsForTestsRequest
      required:
      - ids
      - startTime
      - endTime
      type: object
      properties:
        ids:
          type: array
          items:
            type: string
          description: List of test IDs for which to retrieve results
        startTime:
          type: string
          description: Timestamp of the oldest results to include in results
          format: date-time
        endTime:
          type: string
          description: Timestamp of the newest results to include in results
          format: date-time
        agentIds:
          type: array
          items:
            type: string
          description: List of agent IDs from which to return results
        targets:
          type: array
          items:
            type: string
          description: List of targets (test dependent) for which to retrieve results
        aggregate:
          type: boolean
          description: If true, retrieve result aggregated across the requested time period, else return complete time series
    GetResultsForTestsResponse:
      title: GetResultsForTestsResponse
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/TestResults'
          description: ''
    GetTestResponse:
      title: GetTestResponse
      type: object
      properties:
        test:
          $ref: '#/components/schemas/Test'
    GetTraceForTestRequest:
      title: GetTraceForTestRequest
      required:
      - startTime
      - endTime
      type: object
      properties:
        id:
          type: string
          description: ID of test for which to retrieve network path trace data
        startTime:
          type: string
          description: Timestamp of the oldest results to include in results
          format: date-time
        endTime:
          type: string
          description: Timestamp of the newest results to include in results
          format: date-time
        agentIds:
          type: array
          items:
            type: string
          description: List of agent IDs from which to return results
        targetIps:
          type: array
          items:
            type: string
          description: List of target IP addresses for which to retrieve results
    GetTraceForTestResponse:
      title: GetTraceForTestResponse
      type: object
      properties:
        nodes:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/NetNode'
          description: Map of network node information keyed by node IDs
        paths:
          type: array
          items:
            $ref: '#/components/schemas/Path'
          description: List of retrieved network path data
    HTTPResponseData:
      title: HTTPResponseData
      type: object
      properties:
        status:
          type: integer
          description: HTTP status in response
          format: int64
        size:
          type: integer
          description: Total size of  received response body
          format: int64
        data:
          type: string
          description: Detailed information about transaction timing, connection characteristics and response
    HTTPResults:
      title: HTTPResults
      type: object
      properties:
        target:
          type: string
          description: Target probed URL
        latency:
          $ref: '#/components/schemas/MetricData'
        response:
          $ref: '#/components/schemas/HTTPResponseData'
        dstIp:
          type: string
          description: IP address of probed target server
    HealthSettings:
      title: HealthSettings
      type: object
      properties:
        latencyCritical:
          type: number
          description: Threshold for ping or DNS response latency (in microseconds) to trigger critical alarm
        latencyWarning:
          type: number
          description: Threshold for ping or DNS response latency (in microseconds) to trigger warning alarm
        packetLossCritical:
          type: number
          description: Threshold for ping packet loss (in %) to trigger critical alarm
        packetLossWarning:
          type: number
          description: Threshold for ping packet loss (in %) to trigger warning alarm
        jitterCritical:
          type: number
          description: Threshold for ping jitter (in microseconds) to trigger critical alarm
        jitterWarning:
          type: number
          description: Threshold for ping jitter (in microseconds) to trigger critical alarm
        httpLatencyCritical:
          type: number
          description: Threshold for HTTP response latency (in microseconds) to trigger critical alarm
        httpLatencyWarning:
          type: number
          description: Threshold for HTTP response latency (in microseconds) to trigger warning alarm
        httpValidCodes:
          type: array
          items:
            type: integer
            format: int64
          description: List of HTTP status codes indicating healthy state
        dnsValidCodes:
          type: array
          items:
            type: integer
            format: int64
          description: List of DNS status codes indicating healthy state
        latencyCriticalStddev:
          type: number
          description: Threshold for standard deviation (in microseconds) of ping or DNS response latency to trigger critical alarm
        latencyWarningStddev:
          type: number
          description: Threshold for standard deviation (in microseconds) of ping or DNS response latency to trigger warning alarm
        jitterCriticalStddev:
          type: number
          description: Threshold for standard deviation of ping jitter (in microseconds) to trigger critical alarm
        jitterWarningStddev:
          type: number
          description: Threshold for standard deviation of ping jitter (in microseconds) to trigger warning alarm
        httpLatencyCriticalStddev:
          type: number
          description: Threshold for standard deviation of HTTP response latency (in microseconds) to trigger critical alarm
        httpLatencyWarningStddev:
          type: number
          description: Threshold for standard deviation of HTTP response latency (in microseconds) to trigger warning alarm
        unhealthySubtestThreshold:
          type: integer
          description: Number of tasks (across all agents) that must report unhealthy status in order for alarm to be triggered
          format: int64
        activation:
          $ref: '#/components/schemas/ActivationSettings'
        certExpiryWarning:
          type: integer
          description: Threshold for remaining validity of TLS certificate (in days) to trigger warning alarm
          format: int64
        certExpiryCritical:
          type: integer
          description: Threshold for remaining validity of TLS certificate (in days) to trigger critical alarm
          format: int64
        dnsValidIps:
          type: string
          description: Comma separated list of IP addresses expected to be received in response to DNS A or AAAA query
    HostnameTest:
      title: HostnameTest
      type: object
      properties:
        target:
          type: string
          description: Fully qualified DNS name of the target host
    IPFamily:
      title: IPFamily
      enum:
      - IP_FAMILY_UNSPECIFIED
      - IP_FAMILY_V4
      - IP_FAMILY_V6
      - IP_FAMILY_DUAL
      type: string
      description: >-
        - IP_FAMILY_UNSPECIFIED: Invalid value.
         - IP_FAMILY_V4: IPv4 only
         - IP_FAMILY_V6: IPv6 only
         - IP_FAMILY_DUAL: IPv4 and IPv6 supported
    ImplementType:
      title: ImplementType
      enum:
      - IMPLEMENT_TYPE_UNSPECIFIED
      - IMPLEMENT_TYPE_RUST
      - IMPLEMENT_TYPE_NODE
      - IMPLEMENT_TYPE_NETWORK
      type: string
      description: >-
        - IMPLEMENT_TYPE_RUST: ksynth, a.k.a network agent (implemented in Rust) capable of running all tasks except for page-load and transaction
         - IMPLEMENT_TYPE_NODE: ksynth-agent, a.k.a. app agent (implemented in NodeJS) with Chromium enabled capable of running all tasks
         - IMPLEMENT_TYPE_NETWORK: ksynth-agent, a.k.a. app agent with Chromium disabled, capable of running all tasks except for page-load and transaction
    IpTest:
      title: IpTest
      type: object
      properties:
        targets:
          type: array
          items:
            type: string
          description: List of IP addresses of targets
    ListAgentsResponse:
      title: ListAgentsResponse
      type: object
      properties:
        agents:
          type: array
          items:
            $ref: '#/components/schemas/Agent'
          description: List of available agents
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    ListTestsResponse:
      title: ListTestsResponse
      type: object
      properties:
        tests:
          type: array
          items:
            $ref: '#/components/schemas/Test'
          description: List of configured active or paused tests
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    MetricData:
      title: MetricData
      type: object
      properties:
        current:
          type: integer
          description: Current value of metric
          format: int64
        rollingAvg:
          type: integer
          description: Rolling average of metric
          format: int64
        rollingStddev:
          type: integer
          description: Rolling average of standard deviation of metric
          format: int64
        health:
          type: string
          description: Health evaluation status for the metric (healthy | warning | critical)
    NetNode:
      title: NetNode
      type: object
      properties:
        ip:
          type: string
          description: IP address of the node in standard textual notation
        asn:
          type: integer
          description: AS number owning the address of the node
          format: int64
        asName:
          type: string
          description: Name of the AS owning the address of the node
        location:
          $ref: '#/components/schemas/Location'
        dnsName:
          type: string
          description: DNS name of the node (obtained by reverse DNS resolution)
        deviceId:
          type: string
          description: ID of the device corresponding with the node in Kentik configuration
        siteId:
          type: string
          description: ID of the site containing the device corresponding with the node in Kentik configuration
    NetworkMeshTest:
      title: NetworkMeshTest
      type: object
      properties:
        useLocalIp:
          type: boolean
          description: Boolean value indicating whether to use local (private) IP address of the target agents
    PacketLossData:
      title: PacketLossData
      type: object
      properties:
        current:
          type: number
          description: Current packet loss value
        health:
          type: string
          description: Health evaluation status for the metric (healthy | warning | critical)
    PageLoadTest:
      title: PageLoadTest
      type: object
      properties:
        target:
          type: string
          description: HTTP or HTTPS URL to request
        timeout:
          type: integer
          description: HTTP transaction timeout (in milliseconds)
          format: int64
        headers:
          type: object
          additionalProperties:
            type: string
          description: Map of HTTP header values keyed by header names
        ignoreTlsErrors:
          type: boolean
          description: Boolean indicating whether to ignore TLS certificate verification errors
        cssSelectors:
          type: object
          additionalProperties:
            type: string
          description: Map of CSS selector values keyed by selector name
    Path:
      title: Path
      type: object
      properties:
        agentId:
          type: string
          description: ID of the agent generating the path data
        targetIp:
          type: string
          description: IP address of the target of the path
        hopCount:
          $ref: '#/components/schemas/Stats'
        maxAsPathLength:
          type: integer
          description: Maximum length of AS path across all traces
          format: int32
        traces:
          type: array
          items:
            $ref: '#/components/schemas/PathTrace'
          description: Data for individual traces
        time:
          type: string
          description: Timestamp (UTC) of initiation of the path trace
          format: date-time
    PathTrace:
      title: PathTrace
      type: object
      properties:
        asPath:
          type: array
          items:
            type: integer
            format: int32
          description: AS path of the network trace
        isComplete:
          type: boolean
          description: Indication whether response from target was received
        hops:
          type: array
          items:
            $ref: '#/components/schemas/TraceHop'
          description: List of hops in the trace
    PingResults:
      title: PingResults
      type: object
      properties:
        target:
          type: string
          description: Hostname or address of the probed target
        packetLoss:
          $ref: '#/components/schemas/PacketLossData'
        latency:
          $ref: '#/components/schemas/MetricData'
        jitter:
          $ref: '#/components/schemas/MetricData'
        dstIp:
          type: string
          description: IP address of probed target
    SetTestStatusRequest:
      title: SetTestStatusRequest
      required:
      - id
      - status
      type: object
      properties:
        id:
          type: string
          description: ID of the test which status is to be modified
        status:
          allOf:
          - $ref: '#/components/schemas/TestStatus'
          - description: >-
              - TEST_STATUS_UNSPECIFIED: Invalid value.
               - TEST_STATUS_ACTIVE: Test is active.
               - TEST_STATUS_PAUSED: Test is paused.
               - TEST_STATUS_DELETED: Test is deleted. Not user settable.
               - TEST_STATUS_PREVIEW: Test is preview
    Stats:
      title: Stats
      type: object
      properties:
        average:
          type: integer
          description: Average value
          format: int32
        min:
          type: integer
          description: Minimum value
          format: int32
        max:
          type: integer
          description: Maximum value
          format: int32
    TaskResults:
      title: TaskResults
      type: object
      properties:
        ping:
          $ref: '#/components/schemas/PingResults'
        http:
          $ref: '#/components/schemas/HTTPResults'
        dns:
          $ref: '#/components/schemas/DNSResults'
        health:
          type: string
          description: Health status of the task
    Test:
      title: Test
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the test
          readOnly: true
        name:
          type: string
          description: User selected name of the test
        type:
          type: string
          description: Type of the test
        status:
          allOf:
          - $ref: '#/components/schemas/TestStatus'
          - description: >-
              - TEST_STATUS_UNSPECIFIED: Invalid value.
               - TEST_STATUS_ACTIVE: Test is active.
               - TEST_STATUS_PAUSED: Test is paused.
               - TEST_STATUS_DELETED: Test is deleted. Not user settable.
               - TEST_STATUS_PREVIEW: Test is preview
        settings:
          $ref: '#/components/schemas/TestSettings'
        cdate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        edate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
        createdBy:
          $ref: '#/components/schemas/UserInfo'
        lastUpdatedBy:
          $ref: '#/components/schemas/UserInfo'
        labels:
          type: array
          items:
            type: string
          description: Set of labels associated with the test
    TestPingSettings:
      title: TestPingSettings
      type: object
      properties:
        count:
          type: integer
          description: Number of probe packets to send in one iteration
          format: int64
        protocol:
          type: string
          description: Transport protocol to use (icmp | tcp)
        port:
          type: integer
          description: Target port for TCP probes (ignored for ICMP)
          format: int64
        timeout:
          type: integer
          description: Timeout in milliseconds for execution of the task
          format: int64
        delay:
          type: number
          description: Inter-probe delay in milliseconds
        dscp:
          type: integer
          description: DSCP code to be set in IP header of probe packets
          format: int64
    TestResults:
      title: TestResults
      type: object
      properties:
        testId:
          type: string
          description: ID of the test for which results are provided
        time:
          type: string
          description: Results timestamp (UTC)
          format: date-time
        health:
          type: string
          description: Health status of the test
        agents:
          type: array
          items:
            $ref: '#/components/schemas/AgentResults'
          description: List of results from agents executing tasks on behalf of the test
    TestSettings:
      title: TestSettings
      type: object
      properties:
        hostname:
          $ref: '#/components/schemas/HostnameTest'
        ip:
          $ref: '#/components/schemas/IpTest'
        agent:
          $ref: '#/components/schemas/AgentTest'
        flow:
          $ref: '#/components/schemas/FlowTest'
        dns:
          $ref: '#/components/schemas/DnsTest'
        url:
          $ref: '#/components/schemas/UrlTest'
        networkGrid:
          $ref: '#/components/schemas/IpTest'
        pageLoad:
          $ref: '#/components/schemas/PageLoadTest'
        dnsGrid:
          $ref: '#/components/schemas/DnsTest'
        networkMesh:
          $ref: '#/components/schemas/NetworkMeshTest'
        agentIds:
          type: array
          items:
            type: string
          description: IDs of agents assigned to run tasks on behalf of the test
        tasks:
          type: array
          items:
            type: string
          description: List of task names to run for the test
        healthSettings:
          $ref: '#/components/schemas/HealthSettings'
        ping:
          $ref: '#/components/schemas/TestPingSettings'
        trace:
          $ref: '#/components/schemas/TestTraceSettings'
        period:
          type: integer
          description: Test evaluation period (in seconds)
          format: int64
        family:
          allOf:
          - $ref: '#/components/schemas/IPFamily'
          - description: >-
              - IP_FAMILY_UNSPECIFIED: Invalid value.
               - IP_FAMILY_V4: IPv4 only
               - IP_FAMILY_V6: IPv6 only
               - IP_FAMILY_DUAL: IPv4 and IPv6 supported
        notificationChannels:
          type: array
          items:
            type: string
          description: List of IDs of notification channels for alarms triggered by the test
        notes:
          type: string
          description: Add a note or comment for this test
    TestStatus:
      title: TestStatus
      enum:
      - TEST_STATUS_UNSPECIFIED
      - TEST_STATUS_ACTIVE
      - TEST_STATUS_PAUSED
      - TEST_STATUS_DELETED
      - TEST_STATUS_PREVIEW
      type: string
      description: >-
        - TEST_STATUS_UNSPECIFIED: Invalid value.
         - TEST_STATUS_ACTIVE: Test is active.
         - TEST_STATUS_PAUSED: Test is paused.
         - TEST_STATUS_DELETED: Test is deleted. Not user settable.
         - TEST_STATUS_PREVIEW: Test is preview
    TestTraceSettings:
      title: TestTraceSettings
      type: object
      properties:
        count:
          type: integer
          description: Number of probe packets to send in one iteration
          format: int64
        protocol:
          type: string
          description: Transport protocol to use (icmp | tcp | udp)
        port:
          type: integer
          description: Target port for TCP or UDP probes (ignored for ICMP)
          format: int64
        timeout:
          type: integer
          description: Timeout in milliseconds for execution of the task
          format: int64
        limit:
          type: integer
          description: Maximum number of hops to probe (i.e. maximum TTL)
          format: int64
        delay:
          type: number
          description: Inter-probe delay in milliseconds
        dscp:
          type: integer
          description: DSCP code to be set in IP header of probe packets
          format: int64
    TraceHop:
      title: TraceHop
      type: object
      properties:
        latency:
          type: integer
          description: Round-trip packet latency to the node (in microseconds) - 0 if no response was received
          format: int32
        nodeId:
          type: string
          description: ID of the node for this hop in the Nodes map  - empty if no response was received
    UpdateAgentRequest:
      title: UpdateAgentRequest
      type: object
      properties:
        agent:
          $ref: '#/components/schemas/Agent'
    UpdateAgentResponse:
      title: UpdateAgentResponse
      type: object
      properties:
        agent:
          $ref: '#/components/schemas/Agent'
    UpdateTestRequest:
      title: UpdateTestRequest
      type: object
      properties:
        test:
          $ref: '#/components/schemas/Test'
    UpdateTestResponse:
      title: UpdateTestResponse
      type: object
      properties:
        test:
          $ref: '#/components/schemas/Test'
    UrlTest:
      title: UrlTest
      type: object
      properties:
        target:
          type: string
          description: HTTP or HTTPS URL to request
        timeout:
          type: integer
          description: HTTP transaction timeout (in milliseconds)
          format: int64
        method:
          type: string
          description: HTTP method to use (GET | HEAD | PATCH | POST | PUT)
        headers:
          type: object
          additionalProperties:
            type: string
          description: Map of HTTP header values keyed by header names
        body:
          type: string
          description: HTTP request body
        ignoreTlsErrors:
          type: boolean
          description: Boolean indicating whether to ignore TLS certificate verification errors
    CreateUserRequest:
      title: CreateUserRequest
      required:
      - user
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
    CreateUserResponse:
      title: CreateUserResponse
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
    GetUserResponse:
      title: GetUserResponse
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
    ListUsersResponse:
      title: ListUsersResponse
      type: object
      properties:
        users:
          type: array
          items:
            $ref: '#/components/schemas/User'
          description: Last of users in the account
          readOnly: true
        invalidCount:
          type: integer
          description: Number of invalid entries encountered while collecting data
          format: int64
    PermissionEntry:
      title: PermissionEntry
      required:
      - capability
      - allowed
      type: object
      properties:
        capability:
          type: string
          description: String identifying capability that is granted of denied
        allowed:
          type: boolean
          description: Flag indicating whether operation is allowed
    Role:
      title: Role
      enum:
      - ROLE_UNSPECIFIED
      - ROLE_MEMBER
      - ROLE_ADMINISTRATOR
      - ROLE_SUPER_ADMINISTRATOR
      type: string
      description: >-
        - ROLE_UNSPECIFIED: Invalid value.
         - ROLE_MEMBER: Member
         - ROLE_ADMINISTRATOR: Administrator
         - ROLE_SUPER_ADMINISTRATOR: Super-administrator
    UpdateUserRequest:
      title: UpdateUserRequest
      required:
      - user
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
    UpdateUserResponse:
      title: UpdateUserResponse
      type: object
      properties:
        user:
          $ref: '#/components/schemas/User'
    User:
      title: User
      required:
      - userEmail
      - userFullName
      - role
      type: object
      properties:
        id:
          type: string
          description: System generated unique identifier
          readOnly: true
        userEmail:
          type: string
          description: User e-mail address (serves also as username)
        userFullName:
          type: string
          description: Full name
        role:
          allOf:
          - $ref: '#/components/schemas/Role'
          - description: >-
              - ROLE_UNSPECIFIED: Invalid value.
               - ROLE_MEMBER: Member
               - ROLE_ADMINISTRATOR: Administrator
               - ROLE_SUPER_ADMINISTRATOR: Super-administrator
        permissions:
          type: array
          items:
            $ref: '#/components/schemas/PermissionEntry'
          description: Optional list of permissions granted to the user
        filter:
          type: string
          description: Optional JSON string defining filter for objects visible to the user
        lastLogin:
          type: string
          description: UTC Timestamp of user's last login session
          format: date-time
          readOnly: true
        cdate:
          type: string
          description: Creation timestamp (UTC)
          format: date-time
          readOnly: true
        edate:
          type: string
          description: Last modification timestamp (UTC)
          format: date-time
          readOnly: true
  securitySchemes:
    email:
      type: apiKey
      name: X-CH-Auth-Email
      in: header
    token:
      type: apiKey
      name: X-CH-Auth-API-Token
      in: header
security:
- email: []
  token: []
tags:
- name: ASGroupService
- name: BgpMonitoringAdminService
- name: BgpMonitoringDataService
- name: CapacityPlanService
- name: CloudExportAdminService
- name: InterfaceService
- name: KmiService
- name: LabelService
- name: PackageService
- name: TenantService
- name: NetworkClassService
- name: NotificationChannelService
- name: SiteService
- name: SyntheticsDataService
- name: SyntheticsAdminService
- name: UserService
externalDocs:
  description: General information about Kentik APIs
  url: https://kb.kentik.com/v0/Ab09.htm#Ab09-APIs_Overview
