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

# Update a company-record monitor

`PATCH /monitors/{monitor_id}`

## Request

- Base URL: `https://vatfind.com/v1`
- URL: `https://vatfind.com/v1/monitors/{monitor_id}`
- Auth: HTTP bearer

Supplying a non-null webhook_url returns the current signing secret. A retry with the same idempotency key and body returns the exact completed response, including that signing secret.

## Headers

- `Idempotency-Key` string, required

## Request body

- MonitorUpdateRequest
  - `status` 'active' | 'paused'
  - `cadence` 'daily' | 'weekly' | 'monthly'
  - `watched_fields` MonitorWatchedField[]
  - `webhook_url` string, uri, nullable: Public HTTPS endpoint, or null to disable delivery. Credentials, IP literals, and local, test, internal, or localhost names are rejected.

## Response `200`

Updated monitor and webhook signing secret when a non-null webhook_url was explicitly supplied

- MonitorUpdateResponse
  - `monitor` Monitor, required
    - `id` string, required
    - `object` 'vat_monitor', required
    - `environment` 'live' | 'sandbox', required
    - `status` 'active' | 'paused' | 'attention', required
    - `health` 'healthy' | 'source_degraded' | 'needs_credits', required
    - `identifier` Identifier, required
      - `type` 'vat_number' | 'tax_identifier' | 'registration_number', required
      - `input` string, required
      - `normalized` string, required
      - `country_code` string, required
    - `company_name` string
    - `client_reference` string
    - `metadata` object
    - `cadence` 'daily' | 'weekly' | 'monthly', required
    - `watched_fields` MonitorWatchedField[], required
    - `webhook_url` string, uri
    - `baseline_check_id` string, required
    - `latest_check_id` string, required
    - `latest_snapshot` MonitorSnapshot, required
      - `check_id` string, required
      - `observed_at` string, date-time, required
      - `registry_match_status` 'matched' | 'not_matched' | 'ambiguous' | 'unavailable' | 'not_supported' | 'not_checked', required
      - `company_legal_status` 'active' | 'inactive' | 'dissolved' | 'liquidation' | 'insolvency' | 'unknown' | 'unavailable' | 'not_applicable' | 'not_supported' | 'not_checked', required
      - `legal_name` string, nullable, required
      - `registration_number` string, nullable, required
      - `vat_numbers` string[], required
      - `registered_address` string, nullable, required
    - `last_checked_at` string, date-time, required
    - `next_check_at` string, date-time, required
    - `last_event_at` string, date-time
    - `failure_count` integer, required
    - `last_error_code` string
    - `estimated_monthly_checks` 1 | 5 | 30, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `webhook_signing_secret` string

## Other responses

- `400`: VATFind problem detail
- `401`: VATFind problem detail
- `403`: VATFind problem detail
- `404`: VATFind problem detail
- `409`: VATFind problem detail
- `413`: VATFind problem detail
- `415`: VATFind problem detail
- `422`: VATFind problem detail
- `429`: VATFind problem detail
- `500`: VATFind problem detail
- `503`: VATFind problem detail

---

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