---
title: "Start or stop watching a destination"
method: PUT
path: "/links/{id}/monitor"
tags: ["Monitoring"]
---

# Start or stop watching a destination

`PUT /links/{id}/monitor`

## Request

- Base URL: `https://fixed.link/api/v1`
- URL: `https://fixed.link/api/v1/links/{id}/monitor`
- Auth: HTTP bearer

Switching on queues an immediate check. Switching off keeps the history, so switching back on does not report a clean record.

## Path parameters

- `id` string, required

## Request body

- UpdateLinkMonitorRequest
  - `enabled` boolean, required

## Response `200`

The updated monitor

- LinkMonitor
  - `enabled` boolean, required
  - `state` 'unknown' | 'up' | 'down', required: "unknown" until the first check completes, which is not the same as healthy.
  - `lastCheckedAt` string, date-time, nullable, required
  - `lastStatus` integer, nullable, required: Status of the last response. Null when nothing answered at all.
  - `lastReason` string, nullable, required
  - `lastLatencyMs` integer, nullable, required
  - `changedAt` string, date-time, nullable, required: When the state last changed, which is when the current outage started.
  - `uptimePercent` number, required: Over the measured window, which is capped at the monitor’s own age.
  - `measuredMs` integer, required
  - `incidents` object[], required
    - `id` string, required
    - `startedAt` string, date-time, required
    - `resolvedAt` string, date-time, nullable, required
    - `httpStatus` integer, nullable, required
    - `reason` string, required
    - `durationMs` integer, required

## Other responses

- `402`: Plan does not include link health checks
- `404`: No such link

---

[API](https://skmtc.dev/fixed/apis/fixedlink-api.md) · [All operations](https://skmtc.dev/fixed/apis/fixedlink-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fixed/apis/fixedlink-api/revisions/72343453b299?raw)
