> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costory.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Send a cost alert test notification



## OpenAPI

````yaml /api-reference/openapi.json post /alerts-v2/costAlerts/test
openapi: 3.0.0
info:
  title: Costory
  version: '1.0'
  description: API Documentation
servers:
  - url: ''
    description: Production server
security: []
paths:
  /alerts-v2/costAlerts/test:
    post:
      tags:
        - Alerts V2
      summary: Send a cost alert test notification
      operationId: sendCostAlertTestV2
      requestBody:
        content:
          application/json:
            schema:
              oneOf:
                - type: object
                  properties:
                    notificationChannel:
                      type: string
                      enum:
                        - EMAIL
                    emails:
                      type: array
                      items:
                        type: string
                        format: email
                      minItems: 1
                    name:
                      type: string
                      minLength: 1
                    condition:
                      type: string
                      minLength: 1
                    currency:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CNY
                    queries:
                      type: array
                      items:
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - condition
                              expression:
                                type: string
                                minLength: 1
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                            required:
                              - type
                              - expression
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - formula
                              formula:
                                type: string
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - formula
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - metric
                              metricId:
                                type: string
                              rawMetric:
                                type: string
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              unitOverride:
                                type: string
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - metricId
                              - aggregator
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - cost
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              currency:
                                type: string
                                enum:
                                  - USD
                                  - EUR
                                  - GBP
                                  - CNY
                              whereClause:
                                type: object
                                properties: {}
                                additionalProperties: {}
                              metricId:
                                type: string
                                enum:
                                  - cost
                                  - effective_cost
                                  - list_cost
                                  - contracted_cost
                                  - unblended_cost
                                  - net_unblended_cost
                                  - amortized_cost
                                  - net_amortized_cost
                              extendDashboardConditions:
                                type: boolean
                                default: true
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - aggregator
                              - whereClause
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - usage
                              whereClause:
                                type: object
                                properties: {}
                                additionalProperties: {}
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              metricId:
                                type: string
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - whereClause
                              - aggregator
                              - metricId
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - budget
                              budgetId:
                                type: string
                              budgetLineId:
                                type: string
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              virtualDimensionValue:
                                type: string
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                                default: SUM
                            required:
                              - type
                              - budgetId
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - externalMetric
                              provider:
                                type: string
                                enum:
                                  - tsuga
                                  - bigquery
                                  - datadog
                                  - cloudwatch
                              integrationId:
                                type: string
                                minLength: 1
                                description: >-
                                  External metric integration ID from
                                  list_metrics(includeExternal: true).
                              metricName:
                                type: string
                                minLength: 1
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              groupByFields:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                maxItems: 7
                                default: []
                              conditions:
                                type: string
                              dateColumn:
                                type: string
                                minLength: 1
                              metricColumn:
                                type: string
                                minLength: 1
                              gapFillingMethod:
                                type: string
                                enum:
                                  - ZERO
                                  - FORWARD_FILL
                                  - LINEAR_INTERPOLATION
                                  - SPREAD
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                            required:
                              - type
                              - provider
                              - integrationId
                              - metricName
                              - aggregator
                              - name
                              - colorIndex
                              - chartType
                        discriminator:
                          propertyName: type
                    scopeId:
                      type: string
                      nullable: true
                    previewRow:
                      type: object
                      properties:
                        effectiveDate:
                          type: string
                          nullable: true
                          format: date-time
                        valueTriggered:
                          type: number
                        groups:
                          type: array
                          items:
                            type: object
                            properties:
                              groupByValue:
                                type: string
                                nullable: true
                              value:
                                type: number
                            required:
                              - groupByValue
                              - value
                      required:
                        - effectiveDate
                        - valueTriggered
                        - groups
                  required:
                    - notificationChannel
                    - emails
                - type: object
                  properties:
                    notificationChannel:
                      type: string
                      enum:
                        - SLACK
                    slackChannelId:
                      type: string
                      minLength: 1
                    name:
                      type: string
                      minLength: 1
                    condition:
                      type: string
                      minLength: 1
                    currency:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CNY
                    queries:
                      type: array
                      items:
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - condition
                              expression:
                                type: string
                                minLength: 1
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                            required:
                              - type
                              - expression
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - formula
                              formula:
                                type: string
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - formula
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - metric
                              metricId:
                                type: string
                              rawMetric:
                                type: string
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              unitOverride:
                                type: string
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - metricId
                              - aggregator
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - cost
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              currency:
                                type: string
                                enum:
                                  - USD
                                  - EUR
                                  - GBP
                                  - CNY
                              whereClause:
                                type: object
                                properties: {}
                                additionalProperties: {}
                              metricId:
                                type: string
                                enum:
                                  - cost
                                  - effective_cost
                                  - list_cost
                                  - contracted_cost
                                  - unblended_cost
                                  - net_unblended_cost
                                  - amortized_cost
                                  - net_amortized_cost
                              extendDashboardConditions:
                                type: boolean
                                default: true
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - aggregator
                              - whereClause
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - usage
                              whereClause:
                                type: object
                                properties: {}
                                additionalProperties: {}
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              metricId:
                                type: string
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - whereClause
                              - aggregator
                              - metricId
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - budget
                              budgetId:
                                type: string
                              budgetLineId:
                                type: string
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              virtualDimensionValue:
                                type: string
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                                default: SUM
                            required:
                              - type
                              - budgetId
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - externalMetric
                              provider:
                                type: string
                                enum:
                                  - tsuga
                                  - bigquery
                                  - datadog
                                  - cloudwatch
                              integrationId:
                                type: string
                                minLength: 1
                                description: >-
                                  External metric integration ID from
                                  list_metrics(includeExternal: true).
                              metricName:
                                type: string
                                minLength: 1
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              groupByFields:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                maxItems: 7
                                default: []
                              conditions:
                                type: string
                              dateColumn:
                                type: string
                                minLength: 1
                              metricColumn:
                                type: string
                                minLength: 1
                              gapFillingMethod:
                                type: string
                                enum:
                                  - ZERO
                                  - FORWARD_FILL
                                  - LINEAR_INTERPOLATION
                                  - SPREAD
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                            required:
                              - type
                              - provider
                              - integrationId
                              - metricName
                              - aggregator
                              - name
                              - colorIndex
                              - chartType
                        discriminator:
                          propertyName: type
                    scopeId:
                      type: string
                      nullable: true
                    previewRow:
                      type: object
                      properties:
                        effectiveDate:
                          type: string
                          nullable: true
                          format: date-time
                        valueTriggered:
                          type: number
                        groups:
                          type: array
                          items:
                            type: object
                            properties:
                              groupByValue:
                                type: string
                                nullable: true
                              value:
                                type: number
                            required:
                              - groupByValue
                              - value
                      required:
                        - effectiveDate
                        - valueTriggered
                        - groups
                  required:
                    - notificationChannel
                    - slackChannelId
                - type: object
                  properties:
                    notificationChannel:
                      type: string
                      enum:
                        - TEAMS
                    teamsChannelId:
                      type: string
                      minLength: 1
                    name:
                      type: string
                      minLength: 1
                    condition:
                      type: string
                      minLength: 1
                    currency:
                      type: string
                      enum:
                        - USD
                        - EUR
                        - GBP
                        - CNY
                    queries:
                      type: array
                      items:
                        oneOf:
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - condition
                              expression:
                                type: string
                                minLength: 1
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                            required:
                              - type
                              - expression
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - formula
                              formula:
                                type: string
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - formula
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - metric
                              metricId:
                                type: string
                              rawMetric:
                                type: string
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              unitOverride:
                                type: string
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - metricId
                              - aggregator
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - cost
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              currency:
                                type: string
                                enum:
                                  - USD
                                  - EUR
                                  - GBP
                                  - CNY
                              whereClause:
                                type: object
                                properties: {}
                                additionalProperties: {}
                              metricId:
                                type: string
                                enum:
                                  - cost
                                  - effective_cost
                                  - list_cost
                                  - contracted_cost
                                  - unblended_cost
                                  - net_unblended_cost
                                  - amortized_cost
                                  - net_amortized_cost
                              extendDashboardConditions:
                                type: boolean
                                default: true
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - aggregator
                              - whereClause
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - usage
                              whereClause:
                                type: object
                                properties: {}
                                additionalProperties: {}
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              metricId:
                                type: string
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              reducer:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              shiftAmount:
                                type: integer
                              shiftUnit:
                                type: string
                                enum:
                                  - DAY
                                  - WEEK
                                  - MONTH
                            required:
                              - type
                              - whereClause
                              - aggregator
                              - metricId
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - budget
                              budgetId:
                                type: string
                              budgetLineId:
                                type: string
                              groupBy:
                                anyOf:
                                  - type: string
                                  - type: array
                                    items:
                                      type: string
                                      minLength: 1
                                  - nullable: true
                                    type: string
                                    enum:
                                      - null
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              virtualDimensionValue:
                                type: string
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                                default: SUM
                            required:
                              - type
                              - budgetId
                              - name
                              - colorIndex
                              - chartType
                          - type: object
                            properties:
                              type:
                                type: string
                                enum:
                                  - externalMetric
                              provider:
                                type: string
                                enum:
                                  - tsuga
                                  - bigquery
                                  - datadog
                                  - cloudwatch
                              integrationId:
                                type: string
                                minLength: 1
                                description: >-
                                  External metric integration ID from
                                  list_metrics(includeExternal: true).
                              metricName:
                                type: string
                                minLength: 1
                              aggregator:
                                type: string
                                enum:
                                  - SUM
                                  - AVG
                                  - MAX
                                  - MIN
                              groupByFields:
                                type: array
                                items:
                                  type: string
                                  minLength: 1
                                maxItems: 7
                                default: []
                              conditions:
                                type: string
                              dateColumn:
                                type: string
                                minLength: 1
                              metricColumn:
                                type: string
                                minLength: 1
                              gapFillingMethod:
                                type: string
                                enum:
                                  - ZERO
                                  - FORWARD_FILL
                                  - LINEAR_INTERPOLATION
                                  - SPREAD
                              name:
                                type: string
                              alias:
                                type: string
                                minLength: 1
                                maxLength: 50
                              visible:
                                type: boolean
                                default: true
                              colorIndex:
                                type: number
                              chartType:
                                type: string
                                enum:
                                  - BAR
                                  - LINE
                                  - AREA
                                  - WATERFALL
                                  - TABLE
                              colorPalette:
                                type: string
                                enum:
                                  - DEFAULT
                                  - PIYG
                                  - RDYLBU
                                  - CLASSIC
                                default: DEFAULT
                              rollingAggregation:
                                type: object
                                properties:
                                  aggregator:
                                    type: string
                                    enum:
                                      - SUM
                                      - AVG
                                      - MAX
                                      - MIN
                                  window:
                                    type: object
                                    properties:
                                      preset:
                                        type: string
                                        enum:
                                          - MONTH
                                          - WEEK
                                      relativeDays:
                                        type: integer
                                        minimum: 1
                                required:
                                  - aggregator
                                  - window
                            required:
                              - type
                              - provider
                              - integrationId
                              - metricName
                              - aggregator
                              - name
                              - colorIndex
                              - chartType
                        discriminator:
                          propertyName: type
                    scopeId:
                      type: string
                      nullable: true
                    previewRow:
                      type: object
                      properties:
                        effectiveDate:
                          type: string
                          nullable: true
                          format: date-time
                        valueTriggered:
                          type: number
                        groups:
                          type: array
                          items:
                            type: object
                            properties:
                              groupByValue:
                                type: string
                                nullable: true
                              value:
                                type: number
                            required:
                              - groupByValue
                              - value
                      required:
                        - effectiveDate
                        - valueTriggered
                        - groups
                  required:
                    - notificationChannel
                    - teamsChannelId
            example:
              notificationChannel: SLACK
              slackChannelId: C06FINOPS42
              name: Production compute spend increased 20% week over week
              condition: >-
                rollingSum(a, 7, DAY) > timeShift(rollingSum(a, 7, DAY), 7, DAY)
                * 1.2
              currency: USD
              queries:
                - type: cost
                  name: a
                  alias: Production AWS compute
                  aggregator: SUM
                  metricId: cost
                  currency: USD
                  groupBy: cos_service_name
                  whereClause:
                    combinator: and
                    rules:
                      - field: cos_provider
                        operator: in
                        value:
                          - AWS
                      - field: cos_environment
                        operator: in
                        value:
                          - production
                      - field: cos_service_name
                        operator: in
                        value:
                          - AmazonEC2
                          - AmazonRDS
                  visible: true
                  colorIndex: 0
                  chartType: LINE
              previewRow:
                effectiveDate: '2026-07-23T00:00:00.000Z'
                valueTriggered: 14872.31
                groups:
                  - groupByValue: AmazonEC2
                    value: 10241.82
                  - groupByValue: AmazonRDS
                    value: 4630.49
      responses:
        '200':
          description: Test notification sent
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertTestSuccess'
        '400':
          description: Destination is invalid or not configured
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertError'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
      security:
        - bearerAuth: []
components:
  schemas:
    AlertTestSuccess:
      type: object
      properties:
        message:
          type: string
          enum:
            - Test notification sent successfully
      required:
        - message
    AlertError:
      type: object
      properties:
        error:
          type: string
      required:
        - error
    Unauthorized:
      type: object
      properties:
        error:
          type: string
          description: Unauthorized error message
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or Clerk ak_* API key
      description: >-
        Send `Authorization: Bearer <credential>` using either a Clerk session
        JWT or a Clerk API key (`ak_*`). API keys may identify a user (`user_*`)
        or organization (`org_*`) principal and are generated in the Clerk
        Dashboard under API keys.

````