Kentik PolicyService API

The PolicyService API from Kentik — 4 operation(s) for policyservice.

Specifications

Other Resources

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

OpenAPI Specification

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

    Provides programmatic access to AI Advisor.'
  version: v202511
  contact:
    name: Kentik API Engineering
    url: https://github.com/kentik/api-schema-public
security:
- email: []
  token: []
tags:
- name: PolicyService
paths:
  /v202505/policies/list:
    post:
      summary: List Policies
      description: Returns a list of alerting policies.
      operationId: List
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202505PolicyServiceListResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v202505PolicyServiceListRequest'
        required: true
      tags:
      - PolicyService
  /v202505/policies/{policyType}/{id}:
    get:
      summary: Get Policy
      description: Returns an alerting policy.
      operationId: Get
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202505PolicyServiceGetResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: policyType
        description: The type of policy to get.
        in: path
        required: true
        schema:
          type: string
          enum:
          - POLICY_TYPE_UNSPECIFIED
          - POLICY_TYPE_AGENT
          - POLICY_TYPE_COMPONENT
          - POLICY_TYPE_DEVICE
          - POLICY_TYPE_EVENT
          - POLICY_TYPE_INTERFACE
          - POLICY_TYPE_CUSTOM
          - POLICY_TYPE_CLOUD
          - POLICY_TYPE_PROTECT
          - POLICY_TYPE_TRAFFIC
          - POLICY_TYPE_KMETRICS
      - name: id
        description: The ID of the policy to get.
        in: path
        required: true
        schema:
          type: string
      tags:
      - PolicyService
  /v202505/policies/{policyType}/{id}/disable:
    post:
      summary: Disable Policy
      description: Disables an alerting policy.
      operationId: Disable
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202505PolicyServiceDisableResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: policyType
        description: The type of policy to disable.
        in: path
        required: true
        schema:
          type: string
          enum:
          - POLICY_TYPE_UNSPECIFIED
          - POLICY_TYPE_AGENT
          - POLICY_TYPE_COMPONENT
          - POLICY_TYPE_DEVICE
          - POLICY_TYPE_EVENT
          - POLICY_TYPE_INTERFACE
          - POLICY_TYPE_CUSTOM
          - POLICY_TYPE_CLOUD
          - POLICY_TYPE_PROTECT
          - POLICY_TYPE_TRAFFIC
          - POLICY_TYPE_KMETRICS
      - name: id
        description: The ID of the policy to disable.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyServiceDisableBody'
        required: true
      tags:
      - PolicyService
  /v202505/policies/{policyType}/{id}/enable:
    post:
      summary: Enable Policy
      description: Enables an alerting policy.
      operationId: Enable
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v202505PolicyServiceEnableResponse'
        default:
          description: An unexpected error response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rpcStatus'
      parameters:
      - name: policyType
        description: The type of policy to enable.
        in: path
        required: true
        schema:
          type: string
          enum:
          - POLICY_TYPE_UNSPECIFIED
          - POLICY_TYPE_AGENT
          - POLICY_TYPE_COMPONENT
          - POLICY_TYPE_DEVICE
          - POLICY_TYPE_EVENT
          - POLICY_TYPE_INTERFACE
          - POLICY_TYPE_CUSTOM
          - POLICY_TYPE_CLOUD
          - POLICY_TYPE_PROTECT
          - POLICY_TYPE_TRAFFIC
          - POLICY_TYPE_KMETRICS
      - name: id
        description: The ID of the policy to enable.
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PolicyServiceEnableBody'
        required: true
      tags:
      - PolicyService
components:
  schemas:
    v202505NmsPolicyLevelSettings:
      type: object
      properties:
        activate:
          $ref: '#/components/schemas/v202505NmsActivateOrClearConditions'
        clearType:
          $ref: '#/components/schemas/NmsPolicyLevelSettingsClearType'
        conditional:
          $ref: '#/components/schemas/v202505NmsActivateOrClearConditions'
    v202505PolicyServiceListResponse:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/typesv202506PaginationInfo'
        policies:
          type: array
          items:
            $ref: '#/components/schemas/v202505Policy'
          description: The alerting policies that were found matching the filters.
          readOnly: true
    v202505PolicyListFilters:
      type: object
      properties:
        sources:
          type: array
          items:
            $ref: '#/components/schemas/v202505Source'
          description: The source policies to list.
        userIds:
          type: array
          items:
            type: string
          description: The IDs of the users who created the policies to filter by.
        createdAt:
          $ref: '#/components/schemas/v202303TimeRange'
        modifiedAt:
          $ref: '#/components/schemas/v202303TimeRange'
    v202505NmsConditionOperator:
      type: string
      enum:
      - NMS_CONDITION_OPERATOR_UNSPECIFIED
      - NMS_CONDITION_OPERATOR_EQUALS
      - NMS_CONDITION_OPERATOR_LESS_THAN
      - NMS_CONDITION_OPERATOR_GREATER_THAN
      - NMS_CONDITION_OPERATOR_LESS_THAN_OR_EQUALS
      - NMS_CONDITION_OPERATOR_GREATER_THAN_OR_EQUALS
      default: NMS_CONDITION_OPERATOR_UNSPECIFIED
      title: "- NMS_CONDITION_OPERATOR_EQUALS: Equals\n - NMS_CONDITION_OPERATOR_LESS_THAN: Less than\n - NMS_CONDITION_OPERATOR_GREATER_THAN: Greater than\n - NMS_CONDITION_OPERATOR_LESS_THAN_OR_EQUALS: Less than or equals\n - NMS_CONDITION_OPERATOR_GREATER_THAN_OR_EQUALS: Greater than or equals"
    v202505Source:
      type: object
      properties:
        policyType:
          $ref: '#/components/schemas/v202505PolicyType'
        id:
          type: string
          description: The ID of the policy, can be integer ID, UUID or any other format.
      required:
      - policyType
      - id
    typesv202506SortingConfig:
      type: object
      properties:
        fields:
          type: array
          items:
            $ref: '#/components/schemas/SortingConfigField'
    v202505NmsPolicySettingsDatasetConfig:
      type: object
      properties:
        sources:
          $ref: '#/components/schemas/v202505PolicyDataSources'
        filters:
          $ref: '#/components/schemas/v202505PolicyFilters'
        measurements:
          type: array
          items:
            type: string
        customDimensions:
          type: array
          items:
            type: string
          title: this might be irrelevant based on policy type - only applicable if custom type
    TopKeysConditionTopKeysEvent:
      type: string
      enum:
      - TOP_KEYS_EVENT_UNSPECIFIED
      - TOP_KEYS_EVENT_JOINS
      - TOP_KEYS_EVENT_LEAVES
      default: TOP_KEYS_EVENT_UNSPECIFIED
      title: "- TOP_KEYS_EVENT_JOINS: the traffic value must join the top keys observed previously in the baseline values\n - TOP_KEYS_EVENT_LEAVES: the traffic value must leave the top keys observed previously in the baseline value"
    PolicyServiceEnableBody:
      type: object
    v202303Severity:
      type: string
      enum:
      - SEVERITY_UNSPECIFIED
      - SEVERITY_CLEAR
      - SEVERITY_MINOR
      - SEVERITY_WARNING
      - SEVERITY_MAJOR
      - SEVERITY_SEVERE
      - SEVERITY_CRITICAL
      default: SEVERITY_UNSPECIFIED
    v202505NmsThresholdCondition:
      type: object
      properties:
        operator:
          $ref: '#/components/schemas/v202505NmsConditionOperator'
        conditionValue:
          type: string
    v202505EventPolicyLevelSettings:
      type: object
      properties:
        filters:
          $ref: '#/components/schemas/v202505PolicyDimensionFilters'
      required:
      - filters
    FieldBy:
      type: string
      enum:
      - BY_UNSPECIFIED
      - BY_ID
      - BY_NAME
      - BY_CREATED_AT
      - BY_UPDATED_AT
      - BY_SEVERITY
      - BY_STATUS
      - BY_POLICY_TYPE
      - BY_START_TIME
      - BY_END_TIME
      - BY_ALARM_STATE
      - BY_ALARM_POLICY_NAME
      - BY_ALARM_PRIMARY_DIMENSION
      default: BY_UNSPECIFIED
    v202505EventPolicySettings:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/EventPolicySettingsEventType'
        dimensions:
          type: array
          items:
            type: string
          description: The dimensions of the event to trigger the policy.
        filters:
          $ref: '#/components/schemas/v202505PolicyFilters'
      required:
      - type
      - dimensions
      - filters
    FlowPolicyLevelSettingsActivationSettings:
      type: object
      properties:
        matchTimes:
          type: string
          format: int64
          description: The number of times the policy level conditions must be met within the match window to activate the alert.
        matchWindow:
          type: string
          description: The window of time within which the policy level conditions must be met to activate the alert.
        resetCountWindow:
          type: string
          description: The window of time within which the level conditions must not be met again to reset the match count.
      required:
      - matchTimes
      - matchWindow
      - resetCountWindow
    v202505PolicyServiceEnableResponse:
      type: object
      properties:
        policy:
          $ref: '#/components/schemas/v202505Policy'
    v202505PolicyFiltersOperator:
      type: string
      enum:
      - OPERATOR_UNSPECIFIED
      - OPERATOR_EQUALS
      - OPERATOR_NOT_EQUALS
      - OPERATOR_BITWISE_AND
      - OPERATOR_BITWISE_OR
      - OPERATOR_LESS_THAN
      - OPERATOR_GREATER_THAN
      - OPERATOR_LESS_THAN_OR_EQUALS
      - OPERATOR_GREATER_THAN_OR_EQUALS
      - OPERATOR_NOT_CONTAINS
      - OPERATOR_CONTAINS
      - OPERATOR_NOT_CONTAINS_REGULAR_EXP
      - OPERATOR_CONTAINS_REGULAR_EXP
      - OPERATOR_NOT_CONTAINS_REGULAR_EXP_STAR
      - OPERATOR_CONTAINS_REGULAR_EXP_STAR
      - OPERATOR_BITWISE_ANY
      - OPERATOR_BITWISE_NONE
      - OPERATOR_BITWISE_ALL
      - OPERATOR_BITWISE_NOT_ALL
      - OPERATOR_EXISTS
      - OPERATOR_NOT_EXISTS
      default: OPERATOR_UNSPECIFIED
      title: '- OPERATOR_UNSPECIFIED: TODO: expose only ones used'
    PolicyDataSourcesDeviceTag:
      type: object
      properties:
        id:
          type: string
          description: The ID of the device tag to include in the policy.
        values:
          type: array
          items:
            type: string
          description: The values of the device tag to include in the policy. Has to contain at least one value.
          minItems: 1
    ConditionsTopKeysCondition:
      type: object
      properties:
        event:
          $ref: '#/components/schemas/TopKeysConditionTopKeysEvent'
        count:
          type: string
          format: int64
          description: The count of the top keys used for the policy level condition.
      required:
      - event
      - count
    FlowPolicyLevelSettingsConditions:
      type: object
      properties:
        static:
          $ref: '#/components/schemas/ConditionsStaticCondition'
        baseline:
          $ref: '#/components/schemas/ConditionsBaselineCondition'
        topKeys:
          $ref: '#/components/schemas/ConditionsTopKeysCondition'
        interfaceCapacity:
          $ref: '#/components/schemas/ConditionsInterfaceCapacityCondition'
        ratio:
          $ref: '#/components/schemas/ConditionsRatioCondition'
        forecast:
          $ref: '#/components/schemas/ConditionsForecastCondition'
    v202505NmsPolicySettings:
      type: object
      properties:
        dataset:
          $ref: '#/components/schemas/v202505NmsPolicySettingsDatasetConfig'
        evaluation:
          $ref: '#/components/schemas/v202505NmsPolicySettingsEvaluationConfig'
    v202505NmsStateSet:
      type: object
      properties:
        not:
          type: boolean
        states:
          type: array
          items:
            type: string
    v202505Policy:
      type: object
      properties:
        source:
          $ref: '#/components/schemas/v202505Source'
        createdAt:
          type: string
          format: date-time
          description: The time when the policy was created.
          readOnly: true
        modifiedAt:
          type: string
          format: date-time
          description: The time when the policy was last modified.
          readOnly: true
        createdBy:
          type: string
          description: The user who created the policy.
          readOnly: true
        modifiedBy:
          type: string
          description: The user who last modified the policy.
          readOnly: true
        name:
          type: string
          description: The name of the policy.
          readOnly: true
        description:
          type: string
          description: The description of the policy.
          readOnly: true
        enabled:
          type: boolean
          description: Whether the policy is enabled.
          title: provide annotation for default value
          readOnly: true
        levels:
          type: array
          items:
            $ref: '#/components/schemas/PolicyPolicyLevel'
          description: The policy levels configuration.
          title: in future labels will be supported
          readOnly: true
        flow:
          $ref: '#/components/schemas/v202505FlowPolicySettings'
        nms:
          $ref: '#/components/schemas/v202505NmsPolicySettings'
        event:
          $ref: '#/components/schemas/v202505EventPolicySettings'
        hasErrors:
          type: boolean
          description: Whether the policy has errors in the run-time.
          readOnly: true
        lastError:
          $ref: '#/components/schemas/PolicyPolicyErrorInfo'
        expireDate:
          type: string
          format: date-time
          description: Indicates when the policy that was made from a query should expire and become disabled.
          readOnly: true
    v202303TimeRange:
      type: object
      properties:
        start:
          type: string
          format: date-time
        end:
          type: string
          format: date-time
    PolicyDimensionFiltersConjunction:
      type: object
      properties:
        entries:
          type: array
          items:
            $ref: '#/components/schemas/PolicyDimensionFiltersEntry'
          description: The entries of the conjunction.
    PolicyPolicyErrorInfo:
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
          description: The timestamp when the error occurred.
        description:
          type: string
          description: The description of the error.
    v202505PolicyFilters:
      type: object
      properties:
        not:
          type: boolean
          default: 'false'
          description: If true, the filter will be negated.
        connector:
          $ref: '#/components/schemas/PolicyFiltersFilterConnector'
        filters:
          type: array
          items:
            $ref: '#/components/schemas/PolicyFiltersFieldFilter'
          description: The actual filters of the policy.
        groups:
          type: array
          items:
            $ref: '#/components/schemas/v202505PolicyFilters'
          description: The nested groups of the policy filters.
        saved:
          type: array
          items:
            $ref: '#/components/schemas/PolicyFiltersSavedFilter'
          description: The saved filters of the policy. Saved filters are pre-defined filters that can be used in the policy.
    ConditionsStaticCondition:
      type: object
      properties:
        metric:
          type: string
          description: The metric used for the policy level condition.
        operator:
          $ref: '#/components/schemas/FlowPolicyLevelSettingsConditionsOperator'
        value:
          type: number
          format: double
          description: The value used for the policy level condition.
      required:
      - metric
      - operator
      - value
    v202505PolicyDataSources:
      type: object
      properties:
        allDevices:
          type: boolean
          description: If true, all devices traffic will be included in the policy and the other fields will be ignored.
        deviceIds:
          type: array
          items:
            type: string
          description: The IDs of the devices to include in the policy.
        labelIds:
          type: array
          items:
            type: string
          description: The IDs of the labels to include in the policy.
        siteIds:
          type: array
          items:
            type: string
          description: The IDs of the sites to include in the policy.
        types:
          type: array
          items:
            type: string
          description: The types of devices to include in the policy.
        deviceTags:
          type: array
          items:
            $ref: '#/components/schemas/PolicyDataSourcesDeviceTag'
          description: '[Not implemented] The device tags to include in the policy. If multiple tags are specified, the policy will include devices that match at least one of the tags.'
    typesv202506PaginationInfo:
      type: object
      properties:
        totalCount:
          type: string
          format: uint64
          description: 'total_count is the total number of items in the list.

            It may be provided optionally if include_total_count is set to false.

            It will be provided always if include_total_count is set to true.'
        hasMoreResults:
          type: boolean
          title: 'has_more_results is a flag to indicate if there are more results to fetch

            It may be provided instead of total_count if include_total_count is set to false and it would be very expensive to fetch the total count'
    FlowPolicySettingsBaselineConfig:
      type: object
      properties:
        storedKeyCount:
          type: string
          format: int64
          default: '25'
          description: The number of alert keys stored in the baseline per policy window.
          title: not exposing completeness duration as this does not work
        windowLength:
          type: string
          default: 2419200s
          description: The length of the entire policy baseline window.
        windowStartOffset:
          type: string
          default: 86400s
          description: The start offset from now used when calculating the baseline value.
        rollupAggregation:
          $ref: '#/components/schemas/v202505AggregationType'
        compareMode:
          $ref: '#/components/schemas/BaselineConfigCompareMode'
        neighbourhoodRadius:
          type: string
          description: The neighbourhood radius used to calculate the neighbourhood value. This is the number of hours before and after the current hour to include in the neighbourhood value calculation.
        neighbourhoodAggregation:
          $ref: '#/components/schemas/v202505AggregationType'
        finalAggregation:
          $ref: '#/components/schemas/v202505AggregationType'
      required:
      - storedKeyCount
      - windowLength
      - windowStartOffset
      - rollupAggregation
      - compareMode
      - neighbourhoodRadius
      - neighbourhoodAggregation
      - finalAggregation
    v202505PolicyServiceGetResponse:
      type: object
      properties:
        policy:
          $ref: '#/components/schemas/v202505Policy'
    SortingConfigOrder:
      type: string
      enum:
      - ORDER_UNSPECIFIED
      - ORDER_ASCENDING
      - ORDER_DESCENDING
      default: ORDER_UNSPECIFIED
    PolicyDimensionFiltersEntryStringArray:
      type: object
      properties:
        values:
          type: array
          items:
            type: string
          description: The values of the string array.
    ConditionsInterfaceCapacityCondition:
      type: object
      properties:
        absolute:
          type: number
          format: double
          description: The absolute value used for the policy level condition.
        percentage:
          type: string
          format: int64
          description: The percentage value used for the policy level condition.
    NmsPolicyLevelSettingsClearType:
      type: string
      enum:
      - CLEAR_TYPE_UNSPECIFIED
      - CLEAR_TYPE_CLEAR_MANUAL
      - CLEAR_TYPE_CLEAR_UNLESS_ACTIVATED
      default: CLEAR_TYPE_UNSPECIFIED
      title: "- CLEAR_TYPE_UNSPECIFIED: assumed CLEAR_TYPE_CLEAR_UNLESS_ACTIVATED if not specified\n - CLEAR_TYPE_CLEAR_MANUAL: CLEAR_TYPE_CONDITIONAL = 1; we don't want to expose this yet, not implemented"
    FlowPolicyLevelSettingsMitigationAssociation:
      type: object
      properties:
        platformId:
          type: string
          description: The platform ID of the mitigation association.
        methodId:
          type: string
          description: The method ID of the mitigation association.
      required:
      - platformId
      - methodId
    PolicyFiltersFilterConnector:
      type: string
      enum:
      - FILTER_CONNECTOR_UNSPECIFIED
      - FILTER_CONNECTOR_AND
      - FILTER_CONNECTOR_OR
      default: FILTER_CONNECTOR_UNSPECIFIED
      title: "- FILTER_CONNECTOR_AND: All of the conditions must be true\n - FILTER_CONNECTOR_OR: Any of the conditions must be true"
    rpcStatus:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        details:
          type: array
          items:
            $ref: '#/components/schemas/protobufAny'
    typesv202506PaginationConfig:
      type: object
      properties:
        limit:
          type: string
          format: uint64
          title: limit is how many items to return at most
        offset:
          type: string
          format: uint64
          title: offset is the offset into the list of items
        includeTotalCount:
          type: boolean
          title: 'include_total_count is a flag to enforce API service to include the total count of items in the response,

            which in some cases may be very expensive to fetch'
    v202505NmsConditionGroup:
      type: object
      properties:
        connector:
          $ref: '#/components/schemas/v202505NmsConditionConnector'
        not:
          type: boolean
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/v202505NmsCondition'
        conditionGroups:
          type: array
          items:
            $ref: '#/components/schemas/v202505NmsConditionGroup'
          title: recursive
    PolicyPolicyLevel:
      type: object
      properties:
        severity:
          $ref: '#/components/schemas/v202303Severity'
        description:
          type: string
          description: The description of the policy level.
        ackRequired:
          type: boolean
          description: Whether acknowledgment is required for alerts that match this policy level.
        nms:
          $ref: '#/components/schemas/v202505NmsPolicyLevelSettings'
        flow:
          $ref: '#/components/schemas/v202505FlowPolicyLevelSettings'
        event:
          $ref: '#/components/schemas/v202505EventPolicyLevelSettings'
        notifications:
          type: array
          items:
            $ref: '#/components/schemas/v202505NotificationChannelAssociation'
          description: The notification channel associations for this policy level. When the alert is triggered at this level, the channels are used to send the alert notification.
    PolicyFiltersFieldFilter:
      type: object
      properties:
        field:
          type: string
          description: The field the filter is applied to.
        operator:
          $ref: '#/components/schemas/v202505PolicyFiltersOperator'
        value:
          type: string
          description: The right-hand value used for the filter operation.
    ConditionsForecastCondition:
      type: object
      properties:
        operator:
          $ref: '#/components/schemas/FlowPolicyLevelSettingsConditionsOperator'
        percentageValue:
          type: string
          format: int64
    PolicyServiceDisableBody:
      type: object
    v202505PolicyServiceListRequest:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/typesv202506PaginationConfig'
        sorting:
          $ref: '#/components/schemas/typesv202506SortingConfig'
        filters:
          $ref: '#/components/schemas/v202505PolicyListFilters'
    FlowPolicyLevelSettingsConditionsOperator:
      type: string
      enum:
      - OPERATOR_UNSPECIFIED
      - OPERATOR_GREATER_THAN_OR_EQUALS
      - OPERATOR_GREATER_THAN
      - OPERATOR_EQUALS
      - OPERATOR_NOT_EQUALS
      - OPERATOR_LESS_THAN
      - OPERATOR_LESS_THAN_OR_EQUALS
      - OPERATOR_IN_SET
      - OPERATOR_NOT_IN_SET
      default: OPERATOR_UNSPECIFIED
    v202505PolicyType:
      type: string
      enum:
      - POLICY_TYPE_UNSPECIFIED
      - POLICY_TYPE_AGENT
      - POLICY_TYPE_COMPONENT
      - POLICY_TYPE_DEVICE
      - POLICY_TYPE_EVENT
      - POLICY_TYPE_INTERFACE
      - POLICY_TYPE_CUSTOM
      - POLICY_TYPE_CLOUD
      - POLICY_TYPE_PROTECT
      - POLICY_TYPE_TRAFFIC
      - POLICY_TYPE_KMETRICS
      default: POLICY_TYPE_UNSPECIFIED
      title: "- POLICY_TYPE_AGENT: NMS Agent Policy\n - POLICY_TYPE_COMPONENT: NMS Component Policy\n - POLICY_TYPE_DEVICE: NMS Device Policy\n - POLICY_TYPE_EVENT: NMS Event Policy\n - POLICY_TYPE_INTERFACE: NMS Interface Policy\n - POLICY_TYPE_CUSTOM: NMS Custom Policy\n - POLICY_TYPE_CLOUD: Flow Alerting Cloud Policy\n - POLICY_TYPE_PROTECT: Flow Alerting Protect Policy\n - POLICY_TYPE_TRAFFIC: Flow Alerting Traffic Policy\n - POLICY_TYPE_KMETRICS: Flow Alerting KMetrics Policy"
    v202505NotificationChannelAssociation:
      type: object
      properties:
        channelId:
          type: string
          description: The ID of the notification channel.
      required:
      - channelId
    PolicyDimensionFiltersEntry:
      type: object
      properties:
        not:
          type: boolean
          description: If true, the entry will be negated.
        dimension:
          type: string
          description: The dimension the filter entry is applied to.
        equalsAny:
          $ref: '#/components/schemas/PolicyDimensionFiltersEntryStringArray'
        matchesAny:
          $ref: '#/components/schemas/PolicyDimensionFiltersEntryStringArray'
    v202505PolicyDimensionFilters:
      type: object
      properties:
        conjunctions:
          type: array
          items:
            $ref: '#/components/schemas/PolicyDimensionFiltersConjunction'
          description: The conjunctions of the policy dimension filters.
    EventPolicySettingsEventType:
      type: string
      enum:
      - EVENT_TYPE_UNSPECIFIED
      - EVENT_TYPE_SYSLOG
      - EVENT_TYPE_SNMP_TRAP
      default: EVENT_TYPE_UNSPECIFIED
      title: "- EVENT_TYPE_SYSLOG: Syslog event\n - EVENT_TYPE_SNMP_TRAP: SNMP trap event"
    v202505NmsActivateOrClearConditions:
      type: object
      properties:
        connector:
          $ref: '#/components/schemas/v202505NmsConditionConnector'
        conditionGroups:
          type: array
          items:
            $ref: '#/components/schemas/v202505NmsConditionGroup'
    v202505NmsCondition:
      type: object
      properties:
        measurement:
          type: string
        metric:
          type: string
        threshold:
          $ref: '#/components/schemas/v202505NmsThresholdCondition'
        stateChange:
          $ref: '#/components/schemas/v202505NmsStateChangeCondition'
        stateInCondition:
          $ref: '#/components/schemas/v202505NmsStateSet'
    v202505NmsPolicySettingsEvaluationConfig:
      type: object
      properties:
        activationDelay:
          type: string
        clearanceDelay:
          type: string
    v202505FlowPolicySettingsEvaluationConfig:
      type: object
      properties:
        frequency:
          type: string
          default: 60s
          description: The frequency of the policy evaluation, also known as the policy window length.
        keyCount:
          type: string
          format: int64
          default: '25'
          description: The number of alert keys tracked per policy window.
      required:
      - frequency
      - keyCount
    v202505FlowPolicyLevelSettings:
      type: object
      properties:
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/FlowPolicyLevelSettingsConditions'
          description: The conditions of the policy level settings.
        activation:
          $ref: '#/components/schemas/FlowPolicyLevelSettingsActivationSettings'
        mitigationAssociations:
          type: array
          items:
            $ref: '#/components/schemas/FlowPolicyLevelSettingsMitigationAssociation'
          description: The mitigation associations of the given policy level (when alert is activated with the level severity, these mitigation methods will be applied).
          title: 'in future: dimension filters for sub-policies'
      required:
      - conditions
      - activation
      - mitigationAssociations
    v202505NmsConditionConnector:
      type: string
      enum:
      - NMS_CONDITION_CONNECTOR_UNSPECIFIED
      - NMS_CONDITION_CONNECTOR_ANY
      - NMS_CONDITION_CONNECTOR_ALL
      default: NMS_CONDITION_CONNECTOR_UNSPECIFIED
      title: "- NMS_CONDITION_CONNECTOR_ANY: Any of the conditions must be true\n - NMS_CONDITION_CONNECTOR_ALL: All of the conditions must be true"
    v202505PolicyServiceDisableResponse:
      type: object
      properties:
        policy:
          $ref: '#/components/schemas/v202505Policy'
    v202505AggregationType:
      type: string
      enum:
      - AGGREGATION_TYPE_UNSPECIFIED
      - AGGREGATION_TYPE_REL_P05
      - AGGREGATION_TYPE_REL_P10
      - AGGREGATION_TYPE_REL_P25
      - AGGREGATION_TYPE_REL_P50
      - AGGREGATION_TYPE_REL_P75
      - AGGREGATION_TYPE_REL_P80
      - AGGREGATION_TYPE_REL_P90
      - AGGREGATION_TYPE_REL_P95
      - AGGREGATION_TYPE_REL_P98
      - AGGREGATION_TYPE_REL_P99
      - AGGREGATION_TYPE_REL_MAX
      - AGGREGATION_TYPE_REL_MIN
      default: AGGREGATION_TYPE_UNSPECIFIED
      title: "- AGGREGATION_TYPE_REL_P05: percentile aggregation P05\n - AGGREGATION_TYPE_REL_P10: percentile aggregation P10\n - AGGREGATION_TYPE_REL_P25: percentile aggregation P25\n - AGGREGATION_TYPE_REL_P50: percentile aggregation P50\n - AGGREGATION_TYPE_REL_P75: percentile aggregation P75\n - AGGREGATION_TYPE_REL_P80: percentile aggregation P80\n - AGGREGATION_TYPE_REL_P90: percentile aggregation P90\n - AGGREGATION_TYPE_REL_P98: percentile aggregation P98\n - AGGREGATION_TYPE_REL_P99: percentile aggregation P99\n - AGGREGATION_TYPE_REL_MAX: maximum\n - AGGREGATION_TYPE_REL_

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