---
title: "Cancel future monitor checks and automatic job creation"
method: DELETE
path: "/v1/monitors/{monitorId}"
tags: ["Monitors"]
---

# Cancel future monitor checks and automatic job creation

`DELETE /v1/monitors/{monitorId}`

## Request

- Base URL: `https://api.scripthaul.com`
- URL: `https://api.scripthaul.com/v1/monitors/{monitorId}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sh_dashboard`

Zero credits. Existing transcript jobs continue; cancel those jobs separately. API keys and permitted dashboard sessions can cancel only their own monitors.

## Path parameters

- `monitorId` string, required

## Headers

- `X-ScriptHaul-Dashboard` '1'

## Response `200`

Monitor cancelled.

- MonitorCancelled
  - `ok` unknown, required
  - `cancelled` unknown, required
  - `monitor` Monitor, required: Monitors belong to the account and keep running after creator-key rotation, deletion, revocation, or OAuth disconnection. Automatic jobs use account daily caps, including existing key usage, rather than the creating credential's allowances. Job lists, reads, manifests, and completion events identify this work with monitor_id. Ordinary API-key requests retain their per-key limits and may continue when monitor admission reaches its account cap.
    - `id` string, required
    - `channel_id` string, nullable, required
    - `playlist_id` string, nullable, required
    - `language` string, required
    - `fallback` boolean, required
    - `auto_fetch` boolean, required
    - `webhook_url` string, nullable, required
    - `status` 'active' | 'paused' | 'cancelled', required
    - `pause_reason` 'insufficient_credits' | 'webhook_missing' | 'feed_unavailable' | 'null', nullable, required: Pause reasons are exactly insufficient_credits (resumes after a purchase restores enough available credits), webhook_missing (the relied-on account webhook was deleted; resumes after configuring one), and feed_unavailable (six consecutive failed feed checks; retried daily and resumed on success). Overlapping causes prioritize webhook absence, feed failure, then credits; clearing one does not bypass another.
    - `last_checked_at` string, nullable, required
    - `last_video_published_at` string, nullable, required
    - `created_at` string, required
    - `cancelled_at` string, nullable, required
    - `new_video_count` integer, required
    - `last_error` string, nullable, required: Latest bounded feed-error summary; null after a successful feed check.
    - `consecutive_failures` integer, required: Consecutive failed feed checks. Six failures pause for feed_unavailable; a successful check resets the count.

## Other responses

- `400`: InvalidInput: missing, conflicting, malformed, or unsupported parameters. Costs zero credits.
- `401`: Forbidden: a valid API key or permitted dashboard session is required. OAuth tokens can only call the MCP endpoint. Costs zero credits.
- `403`: AccountFrozen or Forbidden: the account is frozen or the authenticated caller cannot use this route. Costs zero credits.
- `404`: InvalidInput: monitor not found in this account.
- `429`: QuotaExceeded: the per-key requests-per-minute limit is exhausted. Costs zero credits.
- `503`: ConfigurationError: required service configuration is unavailable. Costs zero credits.

---

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