---
title: "Update a monitor"
method: PATCH
path: "/monitors/{id}"
tags: ["Monitoring"]
---

# Update a monitor

`PATCH /monitors/{id}`

## Request

- Base URL: `https://api.cut.pro/api/v1`
- URL: `https://api.cut.pro/api/v1/monitors/{id}`
- Auth: API key in header `X-Api-Key`

Changes only the fields sent; `null` clears `template_id` and the duration limits. `enabled` follows the same rules as `start` and `stop`. Refusals: `400 INVALID_DURATION_RANGE`, `402`, `403`, `404`, `409 MINIMUM_MONITORING_TIME`.

## Path parameters

- `id` string, required

## Request body

- object
  - `enabled` boolean
  - `strategy_id` string: ID of a clipping strategy. On create, omit to use the default AI settings
  - `template_id` string, nullable: ID of an edit template from `GET /templates`; `null` = none
  - `video_min_duration` union
    - string, integer
    - integer
  - `video_max_duration` union
    - string, integer
    - integer
  - `days_of_week` union[]
    - union
      - string, integer
      - integer
  - `hours_of_day` array[]
    - union[]
      - union
        - string, integer
        - integer

## Response `200`

Response for status 200

- object
  - `id` string, required
  - `type` 'live' | 'video', required
  - `platform` 'youtube' | 'twitch' | 'kick', required
  - `username` string, required
  - `display_name` string, nullable, required
  - `avatar_url` string, nullable, required
  - `enabled` boolean, required
  - `enabled_at` string, nullable, required: ISO 8601 timestamp of when the current monitoring period started; `null` while off. Stopping is refused for the first 10 minutes after it.
  - `strategy_id` string, required: Clipping strategy applied to every clip
  - `template_id` string, nullable, required: Edit template applied to every clip; `null` = none
  - `video_min_duration` number, nullable, required: `video` only: shorter uploads are skipped, in seconds
  - `video_max_duration` number, nullable, required: `video` only: longer uploads are skipped, in seconds
  - `days_of_week` number[], required: `video` only: days an upload is accepted, 0 = Sunday; empty = every day
  - `hours_of_day` array[], required: `video` only: `[from, to]` hour ranges an upload is accepted, in the workspace owner's timezone
    - number[]

## Other responses

- `400`: Response for status 400
- `402`: Response for status 402
- `403`: Response for status 403
- `404`: Response for status 404
- `409`: Response for status 409

---

[API](https://skmtc.dev/cut/apis/cutpro-api.md) · [All operations](https://skmtc.dev/cut/apis/cutpro-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cut/apis/cutpro-api/revisions/89d0bafe529c?raw)
