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

# List Alerts



## OpenAPI

````yaml GET /v1/alerts
openapi: 3.1.0
info:
  title: Calseta
  description: SOC data platform for security agent consumption
  version: dev
servers: []
security: []
paths:
  /v1/alerts:
    get:
      tags:
        - alerts
      summary: List Alerts
      operationId: list_alerts_v1_alerts_get
      parameters:
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Status
        - name: severity
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Severity
        - name: source_name
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Source Name
        - name: is_enriched
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            title: Is Enriched
        - name: enrichment_status
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Enrichment Status
        - name: detection_rule_uuid
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Detection Rule Uuid
        - name: from_time
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: From Time
        - name: to_time
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            title: To Time
        - name: tags
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            title: Tags
        - name: sort_by
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Sort By
        - name: sort_order
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Sort Order
        - name: page
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            description: Page number (1-indexed)
            default: 1
            title: Page
          description: Page number (1-indexed)
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            maximum: 500
            minimum: 1
            description: Items per page (max 500)
            default: 50
            title: Page Size
          description: Items per page (max 500)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse_AlertSummary_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    PaginatedResponse_AlertSummary_:
      properties:
        data:
          items:
            $ref: '#/components/schemas/AlertSummary'
          type: array
          title: Data
        meta:
          $ref: '#/components/schemas/PaginationMeta'
      type: object
      required:
        - data
        - meta
      title: PaginatedResponse[AlertSummary]
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    AlertSummary:
      properties:
        uuid:
          type: string
          format: uuid
          title: Uuid
        title:
          type: string
          title: Title
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
        severity:
          $ref: '#/components/schemas/AlertSeverity'
        status:
          $ref: '#/components/schemas/AlertStatus'
        enrichment_status:
          $ref: '#/components/schemas/app__schemas__alert__EnrichmentStatus'
        source_name:
          type: string
          title: Source Name
        occurred_at:
          type: string
          format: date-time
          title: Occurred At
        ingested_at:
          type: string
          format: date-time
          title: Ingested At
        is_enriched:
          type: boolean
          title: Is Enriched
        duplicate_count:
          type: integer
          title: Duplicate Count
          default: 0
        tags:
          items:
            type: string
          type: array
          title: Tags
        close_classification:
          anyOf:
            - type: string
            - type: 'null'
          title: Close Classification
        closed_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Closed At
        created_at:
          type: string
          format: date-time
          title: Created At
        updated_at:
          type: string
          format: date-time
          title: Updated At
      type: object
      required:
        - uuid
        - title
        - severity
        - status
        - enrichment_status
        - source_name
        - occurred_at
        - ingested_at
        - is_enriched
        - tags
        - created_at
        - updated_at
      title: AlertSummary
      description: Compact alert for list views — GET /v1/alerts.
    PaginationMeta:
      properties:
        total:
          type: integer
          title: Total
        page:
          type: integer
          title: Page
        page_size:
          type: integer
          title: Page Size
        total_pages:
          type: integer
          title: Total Pages
      type: object
      required:
        - total
        - page
        - page_size
        - total_pages
      title: PaginationMeta
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    AlertSeverity:
      type: string
      enum:
        - Pending
        - Informational
        - Low
        - Medium
        - High
        - Critical
      title: AlertSeverity
      description: >-
        Alert severity levels. Stored as TEXT with Pydantic validation.

        Source plugins are responsible for mapping source-specific severity
        values to this enum.
    AlertStatus:
      type: string
      enum:
        - Open
        - Triaging
        - Escalated
        - Closed
      title: AlertStatus
      description: >-
        Alert investigation lifecycle status. Stored as TEXT with Pydantic
        validation.

        Do NOT use a Postgres ENUM type — TEXT with app-level validation is
        easier to migrate.


        Transition flow:
            Open → Triaging / Escalated → Closed
    app__schemas__alert__EnrichmentStatus:
      type: string
      enum:
        - Pending
        - Enriched
        - Failed
      title: EnrichmentStatus
      description: |-
        System-managed enrichment pipeline status. Stored as TEXT.
        Set automatically by the enrichment pipeline — not user-editable.

        Transition flow:
            Pending → Enriched | Failed

````