---
title: "Update the configuration of an existing monitor."
method: PUT
path: "/v1/iris-detect/monitors/"
tags: ["Iris Detect"]
---

# Update the configuration of an existing monitor.

`PUT /v1/iris-detect/monitors/`

## Request

- Base URL: `https://api.domaintools.com`
- URL: `https://api.domaintools.com/v1/iris-detect/monitors/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - HTTP basic
  - API key in query parameter `signature`
- TypeScript: <https://skmtc.dev/domaintools/apis/domaintools-iris-api/docs/v1/iris-detect/monitors/put.ts> (a function with typed inputs; its response is checked against the schema)

Modifies match settings and exclusions for an existing monitor.
Include only the fields you want to change; omitted fields retain their current values.

A recently created monitor may not be immediately available for updates.
Wait until the monitor's `status` changes from `pending` to `completed`
before sending update requests.

Requires the "manage monitors" permission.

## Query parameters

- `monitor_id` string, required

## Request body

- UpdateMonitorRequest: Request body for updating an existing Iris Detect monitor. Include only the fields you want to change.
  - `match_substring_variations` boolean: Enable or disable substring variation matching.
  - `nameserver_exclusions` string[]: Replace the current nameserver exclusion list. Wildcards (`*`) are accepted.
  - `text_exclusions` string[]: Replace the current text exclusion list.

## Response `200`

Monitor updated successfully.

- UpdateMonitorResponse: Response returned after successfully updating a monitor.
  - `status` string: The result of the operation (for example, `updated`).
  - `monitor` Monitor: Details of a single Iris Detect monitor.
    - `term` string
    - `match_substring_variations` boolean
    - `nameserver_exclusions` string[]
    - `text_exclusions` string[]
    - `id` string
    - `created_date` string, date-time
    - `updated_date` string, date-time
    - `state` 'active' | 'inactive'
    - `status` string
    - `domain_counts` MonitorDomainCounts: Counts of domains associated with a monitor in various states.
      - `new` integer: The number of new domains discovered.
      - `watched` integer: The number of domains currently on the watchlist.
      - `escalated` integer: The number of domains that have been escalated.
      - `changed` integer: The number of watched domains that have changed.
    - `created_by` string

## Other responses

- `400`: 400: Bad Request. The request was invalid. The response will contain details about the error.
- `401`: 401: Unauthorized. API credentials are required and were not provided, or the provided credentials are not valid.
- `403`: 403: Forbidden. The API credentials provided do not have access to the requested resource or endpoint.
- `404`: 404: Not Found. The requested resource does not exist.
- `422`: 422: Unprocessable Entity. The request is syntactically valid JSON but contains values that fail validation. The response includes per-field error messages.

---

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