---
title: "Get a monitor"
method: GET
path: "/internal/v1/monitors/{project_id}/{monitor_id}"
tags: ["Monitors"]
---

# Get a monitor

`GET /internal/v1/monitors/{project_id}/{monitor_id}`

Retrieve a specific monitor by ID.

## Path parameters

- `project_id` integer, required
- `monitor_id` integer, required

## Response `200`

Monitor details.

- MonitorResponse
  - `monitor` Monitor, required
    - `id` integer, required
    - `projectId` integer
    - `key` string — Deduplication key set when the monitor is created from a YAML dashboard template. Empty for monitors created via the UI. When non-empty, (project_id, key) is unique.
    - `name` string, required
    - `isNameTemplated` boolean — True when the name contains template placeholders that are expanded at evaluation time.
    - `type` 'metric' | 'error', required
    - `status` 'active' | 'paused' | 'firing' | 'no_data' | 'disabled', required
    - `pausedUntil` number — Unix timestamp (nanoseconds) until which the monitor is paused. Set when status=paused.
    - `error` string — Last error message that caused the monitor to be disabled. Set when status=disabled.
    - `notifyEveryoneByEmail` boolean
    - `teamIds` integer[]
    - `channelIds` integer[]
    - `repeatInterval` union — Monitor repeat interval configuration.
      - object
        - `strategy` 'default'
      - object
        - `strategy` 'fixed', required
        - `interval` number, required — Fixed interval in milliseconds.
      - object
        - `strategy` 'linear', required
        - `min` number, required — Minimum interval in milliseconds.
        - `max` number, required — Maximum interval in milliseconds.
      - object
        - `strategy` 'exponential', required
        - `min` number, required — Minimum interval in milliseconds.
        - `max` number, required — Maximum interval in milliseconds.
    - `params` object
    - `trendAggFunc` 'sum' | 'avg' | 'median' | 'last' — Aggregation function used to compute the trend baseline.
    - `trendSensitivity` 'low' | 'medium' | 'high' — Sensitivity level of the trend-based anomaly detector.
    - `trendUpdatedAt` number — Unix timestamp (nanoseconds) when the trend baseline was last refreshed.
    - `createdAt` number
    - `updatedAt` number
    - `checkedAt` number — Unix timestamp (nanoseconds) when the monitor was last evaluated.
    - `nextCheckTime` number — Unix timestamp (nanoseconds) when the monitor is scheduled to be evaluated next.

## Other responses

- `400` — Invalid request
- `401` — Authentication required
- `404` — Resource not found
- `500` — Internal server error

---

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