---
title: "Create a monitor"
method: POST
path: "/api/v1/monitors"
---

# Create a monitor

`POST /api/v1/monitors`

## Request

- Base URL: `https://app.pingvera.com`
- URL: `https://app.pingvera.com/api/v1/monitors`
- Auth: HTTP bearer

Скоуп write:monitors. Организация — из токена (поле org в теле не нужно). type: http|tcp|dns|tls|heartbeat|wp|domain|links|rkn|mail_loop|mail_dns|safebrowsing|cloak.

## Request body

- object
  - `type` string, required
  - `name` string, required
  - `target` string: URL/host:port/hostname depending on type; not needed for heartbeat
  - `interval_s` integer: 0 = server's per-type default
  - `config` object: per-type check options
  - `fail_threshold` integer
  - `resolve_grace_s` integer: окно подтверждения восстановления, сек; 0 = глобальный дефолт сервера
  - `degraded_latency_ms` integer
  - `tags` string[]
  - `site` string: site public_id to attach to (optional)

## Response `201`

Created — {monitor: {...}}

## Other responses

- `400`: invalid fields
- `401`: missing/invalid token
- `402`: interval below the plan's minimum
- `403`: missing write:monitors scope

---

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