---
title: "GET /v1/projects/{projectOrProductUID}/monitors"
method: GET
path: "/v1/projects/{projectOrProductUID}/monitors"
tags: ["monitor"]
---

# GET /v1/projects/{projectOrProductUID}/monitors

`GET /v1/projects/{projectOrProductUID}/monitors`

Get list of defined Monitors

## Path parameters

- `projectOrProductUID` string, required

## Response `200`

The response body from GET /monitors

- Monitor[]
  - `aggregate_function` 'none' | 'sum' | 'average' | 'max' | 'min' — Aggregate function to apply to the selected values before applying the condition. [none, sum, average, max, min]
  - `aggregate_window` string — The time window to aggregate the selected values. It follows the format of a number followed by a time unit
  - `alert` boolean — If true, the monitor is in alert state.
  - `alert_routes` union[]
    - union
      - SlackWebHookNotification
        - `message_type` 'text' | 'blocks' — text or blocks
        - `text` string — The text of the message, or the blocks definition
        - `url` string — The URL of the Slack webhook.
      - SlackBearerNotification
        - `channel` string — The channel to send the message to.
        - `message_type` 'text' | 'blocks' — text or blocks
        - `text` string — The text of the message, or the blocks definition
        - `token` string — The bearer token for the Slack app.
      - EmailNotification
        - `email` string — Email Address
  - `condition_type` 'greater_than' | 'greater_than_or_equal_to' | 'less_than' | 'less_than_or_equal_to' | 'equal_to' | 'not_equal_to' | 'count' — A comparison operation to apply to the value selected by the source_selector [greater_than, greater_than_or_equal_to, less_than, less_than_or_equal_to, equal_to, not_equal_to]
  - `description` string
  - `disabled` boolean — If true, the monitor will not be evaluated.
  - `fleet_filter` string[]
  - `last_routed_at` string — The last time the monitor was evaluated and routed.
  - `name` string
  - `notefile_filter` string[]
  - `per_device` boolean — Only relevant when using an aggregate_function. If true, the monitor will be evaluated per device, | rather than across the set of selected devices. If true then if a single device matches the specified criteria, | and alert will be created, otherwise the aggregate function will be applied across all devices.
  - `routing_cooldown_period` string — The time period to wait before routing another event after the monitor | has been triggered. It follows the format of a number followed by a time unit.
  - `silenced` boolean — If true, alerts will be created, but no notifications will be sent.
  - `source_selector` string — A valid JSONata expression that selects the value to monitor from the source. | It should return a single, numeric value.
  - `source_type` 'event' | 'heartbeat' — The type of source to monitor. Supported values are "event" and "heartbeat".
  - `threshold` integer — The type of condition to apply to the value selected by the source_selector
  - `uid` string
  - `usage_scope` string — For usage monitors: the scope of aggregation. Supported values are "device" and "fleet".
  - `usage_type` string — For usage monitors: the type of data usage to monitor. Supported values are "cellular" and "satellite".
  - `usage_window` integer — For usage monitors: the rolling time window in days to sum usage over (e.g. 30 for 30 days).

## Other responses

- `default` — The response body in case of an API error.

---

[API](https://skmtc.net/notefile/apis/notehub-api.md) · [All operations](https://skmtc.net/notefile/apis/notehub-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/notefile/notehub-api/revisions/9c5b2b63a991/schema)
