---
title: "Return the paginated root monitor list."
method: GET
path: "/tracer/user-alerts/"
tags: ["tracer"]
---

# Return the paginated root monitor list.

`GET /tracer/user-alerts/`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/tracer/user-alerts/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

``get_queryset`` returns ``(page_queryset, total_count)`` for list
requests because ``list_monitors`` also needs the total count. DRF's
default ``list`` expects only a queryset, so keep the root endpoint
explicit instead of letting DRF serialize the tuple incorrectly.

## Query parameters

- `page` integer
- `limit` integer

## Response `200`

OK

- object
  - `count` integer, required
  - `next` string, uri, nullable
  - `previous` string, uri, nullable
  - `results` UserAlertMonitor[], required
    - `id` string, uuid
    - `project` string, uuid, required
    - `name` string, required
    - `metric_name` string
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `deleted` boolean
    - `deleted_at` string, date-time, nullable
    - `metric_type` 'count_of_errors' | 'error_rates_for_function_calling' | 'error_free_session_rates' | 'service_provider_error_rates' | 'llm_api_failure_rates' | 'span_response_time' | 'llm_response_time' | 'token_usage' | 'daily_tokens_spent' | 'monthly_tokens_spent' | 'evaluation_metrics', required
    - `metric` string, nullable: Id of the evaluation template.
    - `threshold_operator` 'greater_than' | 'less_than', required
    - `threshold_type` 'static' | 'percentage_change': Method to set the threshold for the monitor (Static or Percentage change).
    - `threshold_metric_value` string, nullable: For choice and pass/fail evals, the specific metric value to monitor.
    - `critical_threshold_value` number, nullable
    - `warning_threshold_value` number, nullable
    - `alert_frequency` integer: Frequency of alert checks in minutes.
    - `auto_threshold_time_window` integer: For auto-thresholding. The time window in minutes to calculate the historical mean
    - `last_checked_at` string, date-time, nullable: The last time the monitor was checked for alerts.
    - `notification_emails` string[]
    - `slack_webhook_url` string, uri, nullable
    - `slack_notes` string, nullable
    - `is_mute` boolean
    - `filters` object, nullable
    - `logs` object[], nullable
    - `organization` string, uuid, required
    - `workspace` string, uuid, nullable
    - `created_by` string, uuid, nullable

## Other responses

- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
