> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List Alerts

> Retrieves alerts for the authenticated team (paginated). Results are capped at `limit` (default and maximum 1000). When more records exist than are returned, `meta.total` exceeds `data.length`; clients with large collections must page with `limit`/`offset` to retrieve them all.



## OpenAPI

````yaml https://raw.githubusercontent.com/hyperdxio/hyperdx/refs/heads/main/packages/api/openapi.json get /api/v2/alerts
openapi: 3.0.0
info:
  title: HyperDX External API
  description: API for managing HyperDX alerts and dashboards
  version: 2.0.0
servers:
  - url: /
    description: Your HyperDX instance (http://<host>:<port>)
security:
  - BearerAuth: []
tags:
  - name: Dashboards
    description: Endpoints for managing dashboards and their visualizations
  - name: Alerts
    description: Endpoints for managing monitoring alerts
  - name: Charts
    description: Endpoints for querying chart data
  - name: Connections
    description: Endpoints for managing ClickHouse connections
  - name: Sources
    description: Endpoints for managing data sources
  - name: Webhooks
    description: Endpoints for managing webhooks
  - name: Search
    description: Endpoints for querying raw data from log and trace sources
paths:
  /api/v2/alerts:
    get:
      tags:
        - Alerts
      summary: List Alerts
      description: >-
        Retrieves alerts for the authenticated team (paginated). Results are
        capped at `limit` (default and maximum 1000). When more records exist
        than are returned, `meta.total` exceeds `data.length`; clients with
        large collections must page with `limit`/`offset` to retrieve them all.
      operationId: listAlerts
      parameters:
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 1000
          description: Maximum number of alerts to return.
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          description: Number of alerts to skip before returning results.
      responses:
        '200':
          description: Successfully retrieved alerts
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AlertsListResponse'
              examples:
                alertsList:
                  summary: List of alerts
                  value:
                    data:
                      - id: 65f5e4a3b9e77c001a123456
                        threshold: 100
                        interval: 15m
                        thresholdType: above
                        source: tile
                        state: OK
                        channel:
                          type: webhook
                          webhookId: 65f5e4a3b9e77c001a789012
                        teamId: 65f5e4a3b9e77c001a345678
                        tileId: 65f5e4a3b9e77c001a901234
                        dashboardId: 65f5e4a3b9e77c001a567890
                        createdAt: '2023-01-01T00:00:00.000Z'
                        updatedAt: '2023-01-01T00:00:00.000Z'
                    meta:
                      total: 1
                      limit: 1000
                      offset: 0
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                message: Unauthorized access. API key is missing or invalid.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AlertsListResponse:
      type: object
      required:
        - data
        - meta
      properties:
        data:
          type: array
          description: List of alert objects.
          items:
            $ref: '#/components/schemas/AlertResponse'
        meta:
          $ref: '#/components/schemas/PaginationMeta'
          description: Pagination metadata for this result page.
    Error:
      type: object
      properties:
        message:
          type: string
          description: Human-readable error message.
          example: 'NOT_FOUND: Alert not found'
    AlertResponse:
      allOf:
        - $ref: '#/components/schemas/Alert'
        - type: object
          properties:
            id:
              type: string
              description: Unique alert identifier.
              example: 65f5e4a3b9e77c001a123456
            state:
              $ref: '#/components/schemas/AlertState'
              description: Current alert state.
              example: ALERT
            teamId:
              type: string
              description: Team identifier.
              example: 65f5e4a3b9e77c001a345678
            silenced:
              $ref: '#/components/schemas/AlertSilenced'
              description: Silencing metadata.
              nullable: true
            executionErrors:
              type: array
              nullable: true
              description: Errors recorded during the most recent alert execution, if any.
              items:
                $ref: '#/components/schemas/AlertExecutionError'
            createdAt:
              type: string
              nullable: true
              format: date-time
              description: Creation timestamp.
              example: '2023-01-01T00:00:00.000Z'
            updatedAt:
              type: string
              nullable: true
              format: date-time
              description: Last update timestamp.
              example: '2023-01-01T00:00:00.000Z'
    PaginationMeta:
      type: object
      required:
        - total
        - limit
        - offset
      properties:
        total:
          type: integer
          description: Total number of items matching the query, ignoring pagination.
          example: 142
        limit:
          type: integer
          description: Maximum number of items returned in this page.
          example: 50
        offset:
          type: integer
          description: Number of items skipped before this page.
          example: 100
    Alert:
      type: object
      properties:
        dashboardId:
          type: string
          description: Dashboard ID for tile-based alerts.
          nullable: true
          example: 65f5e4a3b9e77c001a567890
        tileId:
          type: string
          description: >-
            Tile ID for tile-based alerts. Must be a line, stacked bar, or
            number type tile.
          nullable: true
          example: 65f5e4a3b9e77c001a901234
        savedSearchId:
          type: string
          description: Saved search ID for saved_search alerts.
          nullable: true
          example: 65f5e4a3b9e77c001a345678
        groupBy:
          type: string
          description: Group-by key for saved search alerts.
          nullable: true
          example: ServiceName
        threshold:
          type: number
          description: >-
            Threshold value for triggering the alert. For between and
            not_between threshold types, this is the lower bound.
          example: 100
        thresholdMax:
          type: number
          nullable: true
          description: >-
            Upper bound for between and not_between threshold types. Required
            when thresholdType is between or not_between, must be >= threshold.
          example: 500
        interval:
          $ref: '#/components/schemas/AlertInterval'
          description: Evaluation interval for the alert.
          example: 1h
        scheduleOffsetMinutes:
          type: integer
          minimum: 0
          description: >-
            Offset from the interval boundary in minutes. For example, 2 with a
            5m interval evaluates windows at :02, :07, :12, etc. (UTC).
          nullable: true
          example: 2
        scheduleStartAt:
          type: string
          format: date-time
          description: >-
            Absolute UTC start time anchor. Alert windows start from this
            timestamp and repeat every interval.
          nullable: true
          example: '2026-02-08T10:00:00.000Z'
        source:
          $ref: '#/components/schemas/AlertSource'
          description: Alert source type (tile-based or saved search).
          example: tile
        thresholdType:
          $ref: '#/components/schemas/AlertThresholdType'
          description: Threshold comparison direction.
          example: above
        channel:
          $ref: '#/components/schemas/AlertChannel'
          description: Alert notification channel configuration.
        name:
          type: string
          description: Human-friendly alert name.
          nullable: true
          example: Test Alert
        message:
          type: string
          description: Alert message template.
          nullable: true
          example: Test Alert Message
        note:
          type: string
          description: Freeform note for the alert. Supports markdown formatting.
          nullable: true
          minLength: 1
          maxLength: 4096
          example: >-
            Threshold raised from 50 to 100 on 2026-01-15. See
            [runbook](https://wiki.example.com/runbook).
        numConsecutiveWindows:
          type: integer
          minimum: 1
          nullable: true
          description: >-
            Fire the alert only after its condition has been met for this many
            consecutive evaluation windows. While the condition is met but fewer
            than this many consecutive windows have violated, the alert is in
            the PENDING state.
          example: 3
    AlertState:
      type: string
      enum:
        - ALERT
        - OK
        - INSUFFICIENT_DATA
        - DISABLED
        - PENDING
      description: Current alert state.
    AlertSilenced:
      type: object
      description: Silencing metadata.
      properties:
        by:
          type: string
          description: User ID who silenced the alert.
          nullable: true
          example: 65f5e4a3b9e77c001a234567
        at:
          type: string
          description: Silence start timestamp.
          format: date-time
          example: '2026-03-19T08:00:00.000Z'
        until:
          type: string
          description: Silence end timestamp.
          format: date-time
          example: '2026-03-20T08:00:00.000Z'
    AlertExecutionError:
      type: object
      description: An error recorded during a recent alert execution.
      required:
        - timestamp
        - type
        - message
      properties:
        timestamp:
          type: string
          format: date-time
          description: When the error occurred.
          example: '2026-04-17T12:00:00.000Z'
        type:
          $ref: '#/components/schemas/AlertErrorType'
          description: Category of the error.
          example: QUERY_ERROR
        message:
          type: string
          description: Human-readable error message.
          example: Query timed out after 30s
    AlertInterval:
      type: string
      enum:
        - 1m
        - 5m
        - 15m
        - 30m
        - 1h
        - 6h
        - 12h
        - 1d
      description: Evaluation interval.
    AlertSource:
      type: string
      enum:
        - saved_search
        - tile
      description: Alert source type.
    AlertThresholdType:
      type: string
      enum:
        - above
        - below
        - above_exclusive
        - below_or_equal
        - equal
        - not_equal
        - between
        - not_between
      description: Threshold comparison direction.
    AlertChannel:
      oneOf:
        - $ref: '#/components/schemas/AlertChannelWebhook'
      discriminator:
        propertyName: type
    AlertErrorType:
      type: string
      enum:
        - QUERY_ERROR
        - WEBHOOK_ERROR
        - INVALID_ALERT
        - UNKNOWN
      description: Category of error recorded during alert execution.
    AlertChannelWebhook:
      type: object
      required:
        - type
        - webhookId
      properties:
        type:
          $ref: '#/components/schemas/AlertChannelType'
          description: Channel type. Must be "webhook" for webhook alerts.
        webhookId:
          type: string
          description: Webhook destination ID.
          example: 65f5e4a3b9e77c001a789012
    AlertChannelType:
      type: string
      enum:
        - webhook
      description: Channel type.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key

````