---
title: "Create or update a monitor"
method: POST
path: "/v1/monitors"
tags: ["Monitors"]
---

# Create or update a monitor

`POST /v1/monitors`

## Request

- Base URL: `https://crawlwisedata.com`
- URL: `https://crawlwisedata.com/v1/monitors`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

With schedule:true and https webhookUrl, Crawlwise runs checks and POSTs signed change events.

## Request body

- object
  - `endpoint` 'feed' | 'sitemap' | 'techstack', required
  - `name` string, required
  - `url` string, required
  - `webhookUrl` string, nullable
  - `schedule` boolean
  - `enabled` boolean
  - `intervalSec` integer: Desired seconds between scheduled checks. Minimum 900 (15 minutes) on every plan; lower values are raised to 900. Scheduled checks run usually within an hour, plus check-now on demand.
  - `max` integer
  - `include` string[]
  - `exclude` string[]
  - `content` boolean
  - `publishedAfter` string
  - `lastmodAfter` string
  - `dns` boolean
  - `minConfidence` integer
  - `implied` boolean

## Response `200`

Updated

- object
  - `ok` boolean
  - `created` boolean
  - `monitor` Monitor
    - `endpoint` 'feed' | 'sitemap' | 'techstack'
    - `name` string
    - `target` string, uri
    - `url` string, uri
    - `webhookUrl` string, uri, nullable
    - `schedule` boolean
    - `enabled` boolean
    - `intervalSec` integer: Seconds between scheduled checks (at least 900 on every plan; older monitors with a shorter interval are treated as 900).
    - `options` object
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `lastRunAt` string, date-time, nullable
    - `nextRunAt` string, date-time, nullable
    - `lastStatus` string, nullable
    - `lastChangeAt` string, date-time, nullable
    - `lastError` string, nullable
    - `lastEventId` string, nullable
    - `lastDeliveryId` string, nullable
    - `lastCharged` integer, nullable
  - `note` string

## Other responses

- `201`: Created
- `400`: Bad request (invalid_params, invalid_url, unsupported_url)
- `401`: Missing or invalid key

---

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