---
title: "Pause, resume, change cadence or queue a check now using the current revision"
method: PATCH
path: "/monitoring/{id}"
tags: ["Monitoring"]
---

# Pause, resume, change cadence or queue a check now using the current revision

`PATCH /monitoring/{id}`

## Request

- Base URL: `https://www.sanctionskit.com/api/v1`
- URL: `https://www.sanctionskit.com/api/v1/monitoring/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sanctionskit/apis/sanctionskit-api/docs/monitoring/:id/patch.ts> (a function with typed inputs; its response is checked against the schema)

Required API key scope: monitors:write.

Policy-backed monitors use their approved cadence. Resume and immediate retries revalidate current policy and coverage. runNow queues work and does not itself establish a completed result.

## Path parameters

- `id` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- union: Revision-guarded controls. In addition to expectedRevision, supply at least one of status, intervalHours or runNow.
  - object
    - `expectedRevision` integer, required: Current revision from GET /monitoring. A stale value returns stale_revision; reload before applying your change.
    - `status` 'active' | 'paused', required: Set paused to stop scheduled work or active to resume. Resume revalidates policy, coverage, counterparty and monitor allowance.
    - `intervalHours` union: Supported schedule interval in hours: 6, 24 or 168. Policy-backed monitors must keep their approved policy cadence.
      - 6
      - 24
      - 168
    - `runNow` true: When true, queue a fresh check for an active monitor. Omit if not requested; false is not accepted. The response confirms queued control work, not a completed screening.
  - object
    - `expectedRevision` integer, required: Current revision from GET /monitoring. A stale value returns stale_revision; reload before applying your change.
    - `status` 'active' | 'paused': Set paused to stop scheduled work or active to resume. Resume revalidates policy, coverage, counterparty and monitor allowance.
    - `intervalHours` union, required: Supported schedule interval in hours: 6, 24 or 168. Policy-backed monitors must keep their approved policy cadence.
      - 6
      - 24
      - 168
    - `runNow` true: When true, queue a fresh check for an active monitor. Omit if not requested; false is not accepted. The response confirms queued control work, not a completed screening.
  - object
    - `expectedRevision` integer, required: Current revision from GET /monitoring. A stale value returns stale_revision; reload before applying your change.
    - `status` 'active' | 'paused': Set paused to stop scheduled work or active to resume. Resume revalidates policy, coverage, counterparty and monitor allowance.
    - `intervalHours` union: Supported schedule interval in hours: 6, 24 or 168. Policy-backed monitors must keep their approved policy cadence.
      - 6
      - 24
      - 168
    - `runNow` true, required: When true, queue a fresh check for an active monitor. Omit if not requested; false is not accepted. The response confirms queued control work, not a completed screening.

## Response `200`

Successful response. JSON object with the required data key. All properties marked required are present, including keys whose value may be null. Unmarked properties can be omitted; clients should tolerate additional response properties.

- object
  - `data` ResourceUpdated, required
    - `id` string, uuid, required
    - `updated` unknown, required

## Other responses

- `400`: **invalid_request** — Correct the request fields, resource identifiers, JSON body or query parameters before retrying. **idempotency_key_required** — Include an Idempotency-Key matching this operation’s documented format. **sandbox_coverage_required** — Use package sandbox@1 in the sandbox; choose approved sources or a qualified package in production.
- `401`: **authentication_required** — Send Authorization: Bearer with a valid API key. An omitted header can produce authentication_required; invalid supplied credentials produce invalid_api_key. **invalid_api_key** — Use an active key for the intended environment.
- `402`: **subscription_required** — Use the synthetic sandbox or arrange an active production subscription before retrying.
- `403`: **permission_denied** — Ask an organization owner to grant the required role or API-key scope. **insufficient_scope** — Use a key with the scope stated in this operation.
- `404`: **not_found** — Check the identifier and selected environment. The resource must belong to your organization and remain available.
- `405`: **method_not_allowed** — Use a method in the Allow response header. OPTIONS lists supported methods; HEAD follows GET authorization and returns no body.
- `408`: **invalid_request** — Reconnect and retry using the same idempotency key and identical input where supported.
- `409`: **idempotency_conflict** — Reuse a key only with identical input. Use a new key for genuinely new work. **screening_policy_changed** — Reload GET /policies and use the current version after reviewing its coverage. **monitor_paused** — Set status=active with runNow or resume the monitor first. **stale_revision** — Reload and send its current expectedRevision. **monitor_limit_reached** — Reduce active monitors or review plan allowance. **counterparty_unavailable** — Restore the linked counterparty first.
- `413`: **response_too_large** — Reduce the requested page size or use the documented segmented case archive. No evidence is silently truncated. **invalid_request** — Reduce the JSON request size to the documented limit.
- `415`: **invalid_request** — Use Content-Type: application/json and an uncompressed UTF-8 body.
- `422`: **screening_policy_required** — Load GET /policies and supply the current id and version with the required coverage. **policy_entity_type_unsupported** — Choose an approved policy with required sources for this subject type. **policy_coverage_mismatch** — For production policy-based requests use explicit sources, include all required sources and only permitted optional sources; do not substitute a package. **screening_policy_unavailable** — Reload the current policy before retrying. Do not substitute a different scope silently. **invalid_coverage** — Check GET /sources and select coverage available to the requested environment and subject type. **unsupported_entity_type** — Check source capabilities and remove incompatible sources, or choose coverage for this subject type. **matching_variant_limit** — Provide a more precise name or identifier and retry. **candidate_limit_exceeded** — Add reliable identifying information before screening again. No all-clear result was produced. **monitoring_policy_cadence** — Retain the policy cadence or update the approved policy before changing it.
- `429`: **rate_limited** — Wait for the request window to reset and retry with backoff.
- `500`: **internal_error** — Retry with backoff. For writes reuse the same idempotency key and identical input; include requestId when contacting support.
- `503`: **temporarily_unavailable** — Honor Retry-After when present and retry with bounded backoff. Follow this endpoint’s retry contract; preserve the same key and input for idempotent writes. Contact support with requestId if the failure persists. **coverage_unavailable** — Do not treat this failure as no-match. Retry only when the selected coverage is available. **stale_coverage** — Wait for fresh selected coverage. Do not interpret this failure as a no-match result. **production_screening_disabled** — Wait until production screening is available; the synthetic sandbox remains separate.

---

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