---
title: "Get Alert Results"
method: GET
path: "/v1/alerts/{alert_id}/results"
tags: ["Alerts"]
---

# Get Alert Results

`GET /v1/alerts/{alert_id}/results`

Get an alert's fired results (events).

Config is read from the unified ``alerts`` table; events are read from
ClickHouse (observability_alert_events / simulation_alerts_history) by the
alert's source_scope. Each result resolves to the entity that caused it: for
simulation, the experiment (simulation) + run; for observability, the call.
Newest-first, page-paginated; pass ``source`` to restrict to one data source.

## Path parameters

- `alert_id` string, uuid, required

## Query parameters

- `source` 'simulation' | 'observability' — Filterable sources for the results endpoint. Deliberately excludes AlertEventSource.UNKNOWN: it is a classification outcome, not a valid filter, and accepting it would silently return unfiltered results.
- `page_size` integer — Max results per page
- `page` integer — Page number (1-based)

## Headers

- `X-API-Key` string, required

## Response `200`

Successful Response

- AlertResultsResponse — Paginated results (fired events) for a single alert. Pagination follows the same page-based convention as the other list endpoints (e.g. retrieve-call-logs, get-custom-metrics).
  - `alert_id` string, required — ID of the alert
  - `source_scope` string, required — Configured source scope of the alert
  - `results` AlertEventResponse[], required — The fired events on this page, newest first
    - `id` string, required — Unique identifier for the alert event
    - `alert_id` string, required — ID of the alert that fired
    - `created_at` string, date-time, nullable — When the event fired
    - `triggered_by_entity_type` string, required — Type of entity that triggered the event
    - `triggered_by_entity_id` string, required — ID of the entity that triggered the event
    - `entity_field` string, required — The field/metric that breached the threshold
    - `actual_value` string, required — The observed value that triggered the event
    - `expected_value` string, required — The threshold value compared against
    - `operator_used` string, required — The comparison operator applied
    - `agent_id` integer, nullable — Agent associated with the event
    - `metadata` object, nullable — Additional event context
    - `source` string, required — Data source that caused the event: 'simulation', 'observability', or 'unknown'
    - `simulation` AlertSimulationSource — The simulation entity that caused a fired alert event.
      - `simulation_id` integer, nullable — experiments.id of the simulation the triggering run belongs to
      - `simulation_name` string, nullable — Name of the simulation
      - `simulation_run_id` integer, nullable — experiment_runs.id of the specific run that caused the event
      - `test_result_id` integer, nullable — test_results.id of the specific test result that caused the event, if any
      - `run_status` string, nullable — Status of the triggering simulation run
    - `observability` AlertObservabilitySource — The observability entity (call) that caused a fired alert event.
      - `call_id` string, nullable — conversation id of the call that caused the event
      - `call_status` string, nullable — Status of the triggering call
      - `started_at` string, date-time, nullable — When the triggering call started
  - `total_count` integer, required — Total number of events matching the filter across all pages
  - `page` integer, required — Current page (1-based)
  - `page_size` integer, required — Requested number of items per page
  - `items_in_page` integer, required — Actual number of items on this page
  - `total_pages` integer, required — Total number of pages

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/getbluejay/apis/bluejay-api.md) · [All operations](https://skmtc.net/getbluejay/apis/bluejay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbluejay/bluejay-api/versions/f48cef80963f/schema)
