Vantage CostAlerts API

Operations about CostAlerts

OpenAPI Specification

vantage-sh-costalerts-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Vantage AccessGrants CostAlerts API
  description: The Vantage API provides programmatic access to the Vantage cloud cost management and FinOps platform. It covers cost reporting and querying (Costs, Cost Reports, forecasts, unit costs), cost visibility and optimization (Resources, Recommendations, Financial Commitments, Kubernetes efficiency), governance and alerting (Budgets, Budget Alerts, Cost Alerts, Anomaly Alerts and Notifications), organization (Segments, Folders, Saved Filters, Dashboards, Workspaces, Teams), and billing (Billing Profiles, Billing Rules, Invoices). The API spans AWS, Azure, GCP, Kubernetes, Datadog, Snowflake, MongoDB, and other supported providers. Base URL https://api.vantage.sh/v2. Authentication is via OAuth2 (client credentials / bearer token) with read and write scopes.
  termsOfService: https://www.vantage.sh/terms-of-use
  contact:
    name: Vantage Support
    url: https://www.vantage.sh
    email: support@vantage.sh
  version: 2.0.0
servers:
- url: https://api.vantage.sh/v2
security:
- oauth2:
  - read
tags:
- name: CostAlerts
  description: Operations about CostAlerts
paths:
  /cost_alerts:
    get:
      tags:
      - CostAlerts
      summary: Get all cost alerts
      description: List all Cost Alerts
      operationId: getCostAlerts
      responses:
        '200':
          description: List all Cost Alerts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostAlerts'
              example:
                links:
                  self: https://api.vantage.sh/v2/cost_alerts
                  first: https://api.vantage.sh/v2/cost_alerts?page=1
                  next: null
                  last: https://api.vantage.sh/v2/cost_alerts?page=1
                  prev: null
                cost_alerts:
                - token: cstm_alrt_rl_945f63c6c91cd824
                  title: Default Alert Rule
                  email_recipients: []
                  slack_channels: []
                  teams_channels: []
                  created_at: '2024-04-21T15:19:49.673Z'
                  updated_at: '2025-04-21T15:19:49.673Z'
                  workspace_token: wrkspc_7d5a18b7d02942da
                  interval: day
                  threshold: 1000.0
                  unit_type: currency
                  report_tokens:
                  - rprt_a88be0a2af07fe10
      security:
      - oauth2:
        - read
    post:
      tags:
      - CostAlerts
      summary: Create cost alert
      description: Create a new Cost Alert
      operationId: createCostAlert
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createCostAlert'
        required: true
      responses:
        '201':
          description: Cost Alert created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostAlert'
              example:
                token: cstm_alrt_rl_76efd4cd0f56149a
                title: New Alert
                email_recipients:
                - burl_mosciski@hayes.info
                slack_channels: []
                teams_channels: []
                created_at: '2025-04-21T15:19:49.891Z'
                updated_at: '2025-04-21T15:19:49.891Z'
                workspace_token: wrkspc_a5e36f631519f7d3
                interval: month
                threshold: 100.0
                unit_type: currency
                report_tokens:
                - rprt_ccf0092d336de56c
        '400':
          description: BadRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
      x-codegen-request-body-name: createCostAlert
  /cost_alerts/{cost_alert_token}:
    get:
      tags:
      - CostAlerts
      summary: Get cost alert by token
      description: Get a Cost Alert
      operationId: getCostAlert
      parameters:
      - name: cost_alert_token
        in: path
        description: The token of the Cost Alert.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Get a Cost Alert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostAlert'
              example:
                token: cstm_alrt_rl_db54d080e58bf82a
                title: Default Alert Rule
                email_recipients: []
                slack_channels: []
                teams_channels: []
                created_at: '2024-04-21T15:19:49.598Z'
                updated_at: '2025-04-21T15:19:49.598Z'
                workspace_token: wrkspc_c94c58cd1f9a6314
                interval: day
                threshold: 1000.0
                unit_type: currency
                report_tokens:
                - rprt_7c787dfc49b17876
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - read
    put:
      tags:
      - CostAlerts
      summary: Update cost alert
      description: Update a Cost Alert
      operationId: updateCostAlert
      parameters:
      - name: cost_alert_token
        in: path
        description: The token of the Cost Alert.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateCostAlert'
        required: true
      responses:
        '200':
          description: Cost Alert updated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostAlert'
              example:
                token: cstm_alrt_rl_65ff8613224f4469
                title: Default Alert Rule
                email_recipients:
                - andy.kuvalis@stanton.com
                - ismael_bashirian@jenkins.biz
                slack_channels: []
                teams_channels: []
                created_at: '2024-04-21T15:19:48.503Z'
                updated_at: '2025-04-21T15:19:48.537Z'
                workspace_token: wrkspc_643e0e66ee5a4611
                interval: day
                threshold: 500.0
                unit_type: currency
                report_tokens:
                - rprt_bc47a84e3ab8a5d5
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
      x-codegen-request-body-name: updateCostAlert
    delete:
      tags:
      - CostAlerts
      summary: Delete cost alert
      description: Delete a Cost Alert
      operationId: deleteCostAlert
      parameters:
      - name: cost_alert_token
        in: path
        description: The token of the Cost Alert.
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Cost Alert deleted successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostAlert'
        '404':
          description: NotFound
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
      security:
      - oauth2:
        - write
components:
  schemas:
    Errors:
      required:
      - errors
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        errors:
          type: array
          nullable: false
          items:
            type: string
      description: Errors model
    CostAlerts:
      required:
      - cost_alerts
      type: object
      properties:
        links:
          $ref: '#/components/schemas/Links'
        cost_alerts:
          type: array
          items:
            $ref: '#/components/schemas/CostAlert'
      description: CostAlerts model
    CostAlert:
      required:
      - created_at
      - email_recipients
      - interval
      - minimum_threshold
      - report_tokens
      - slack_channels
      - teams_channels
      - threshold
      - title
      - token
      - unit_type
      - updated_at
      - workspace_token
      type: object
      properties:
        token:
          type: string
          nullable: false
        title:
          type: string
          nullable: false
        email_recipients:
          type: array
          description: The email addresses that will receive the alert.
          nullable: false
          items:
            type: string
        slack_channels:
          type: array
          description: The Slack channels that will receive the alert. Make sure your slack integration is connected at https://console.vantage.sh/settings/slack.
          nullable: false
          items:
            type: string
        teams_channels:
          type: array
          description: The Microsoft Teams channels that will receive the alert. Make sure your teams integration is connected at https://console.vantage.sh/settings/microsoft_teams.
          nullable: false
          items:
            type: string
        created_at:
          type: string
          description: The date and time, in UTC, for when the alert was created. ISO 8601 Formatted.
          nullable: false
          example: '2023-10-01T12:00:00Z'
        updated_at:
          type: string
          description: The date and time, in UTC, for when the alert was last updated. ISO 8601 Formatted.
          nullable: false
          example: '2023-10-01T12:00:00Z'
        workspace_token:
          type: string
          description: The ID of the organization that owns the CostAlert.
          nullable: false
        interval:
          type: string
          description: The period of time used to compare costs. Options are 'day', 'week', 'month', 'quarter'.
          nullable: false
        threshold:
          type: number
          description: The cost change threshold to alert on.
          nullable: false
        unit_type:
          type: string
          description: The unit type used to compare costs. Options are 'currency' or 'percentage'.
          nullable: false
        minimum_threshold:
          type: number
          description: The minimum monetary amount threshold for percentage-based alerts. When set, alerts will only trigger if the cost change meets this minimum, even if the percentage threshold is exceeded.
          nullable: true
        report_tokens:
          type: array
          description: The tokens of the reports to alert on.
          nullable: false
          items:
            type: string
      description: CostAlert model
    createCostAlert:
      required:
      - interval
      - report_tokens
      - threshold
      - title
      - unit_type
      - workspace_token
      type: object
      properties:
        title:
          type: string
          description: The title of the Cost Alert.
        interval:
          type: string
          description: The period of time used to compare costs. Options are 'day', 'week', 'month', 'quarter'.
        threshold:
          type: number
          description: The threshold value for the Cost Alert.
          format: float
        unit_type:
          type: string
          description: The unit type used to compare costs. Options are 'currency' or 'percentage'.
        workspace_token:
          type: string
          description: The token of the Workspace to add the Cost Alert to.
        report_tokens:
          type: array
          description: The tokens of the reports to alert on.
          items:
            type: string
        email_recipients:
          type: array
          description: The email recipients for the Cost Alert.
          items:
            type: string
        slack_channels:
          type: array
          description: The Slack channels that will receive the alert.
          items:
            type: string
        teams_channels:
          type: array
          description: The Microsoft Teams channels that will receive the alert.
          items:
            type: string
        minimum_threshold:
          type: number
          description: The minimum monetary amount threshold for percentage-based alerts. Only applicable when unit_type is 'percentage'.
          format: float
      description: Create a new Cost Alert
    Links:
      type: object
      properties:
        self:
          type: string
          description: The URL of the current page of results.
          nullable: true
        first:
          type: string
          description: The URL of the first page of results.
          nullable: true
        next:
          type: string
          description: The URL of the next page of results, if one exists.
          nullable: true
        last:
          type: string
          description: The URL of the last page of results, if one exists.
          nullable: true
        prev:
          type: string
          description: The URL of the previous page of results, if one exists.
          nullable: true
    updateCostAlert:
      type: object
      properties:
        title:
          type: string
          description: The title of the Cost Alert.
        email_recipients:
          type: array
          description: The email recipients for the Cost Alert.
          items:
            type: string
        interval:
          type: string
          description: The period of time used to compare costs. Options are 'day', 'week', 'month', 'quarter'.
        threshold:
          type: number
          description: The threshold value for the Cost Alert.
          format: float
        slack_channels:
          type: array
          description: The Slack channels that will receive the alert. Make sure your slack integration is connected at https://console.vantage.sh/settings/slack.
          items:
            type: string
        teams_channels:
          type: array
          description: The Microsoft Teams channels that will receive the alert. Make sure your teams integration is connected at https://console.vantage.sh/settings/microsoft_teams.
          items:
            type: string
        unit_type:
          type: string
          description: The unit type used to compare costs. Options are 'currency' or 'percentage'.
        report_tokens:
          type: array
          description: The tokens of the reports to alert on.
          items:
            type: string
        minimum_threshold:
          type: number
          description: The minimum monetary amount threshold for percentage-based alerts. Only applicable when unit_type is 'percentage'.
          format: float
      description: Update a Cost Alert
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://console.vantage.sh/account/profile
          scopes:
            read: Grants read access
            write: Grants write access
x-original-swagger-version: '2.0'