HTTP API
Create and manage monitors with an API key.
Create an API key under API keys and send it as a bearer token. All endpoints are under https://vivere.dev/api/v1 and return JSON.
curl -H "Authorization: Bearer vv_…" https://vivere.dev/api/v1/monitors
| Method and path | What it does |
|---|---|
GET /monitors | List monitors. |
POST /monitors | Create a monitor. Returns it, including ping_url for heartbeats. |
GET /monitors/{id} | One monitor. |
DELETE /monitors/{id} | Delete it and its history. |
POST /monitors/{id}/pause, /resume | Pause or resume. |
Create a heartbeat
curl -X POST -H "Authorization: Bearer vv_…" -H "Content-Type: application/json" \
-d '{"name":"nightly-db-backup","kind":"heartbeat","period":"1d","grace":"30m","tags":"prod","channels":[3]}' \
https://vivere.dev/api/v1/monitors
Use "cron":"0 2 * * *","timezone":"Europe/Berlin" instead of period for a cron schedule.
Create an HTTP check
curl -X POST -H "Authorization: Bearer vv_…" -H "Content-Type: application/json" \
-d '{"name":"api health","kind":"http","url":"https://api.example.com/healthz","interval":"5m","expected_status":200,"keyword":"ok"}' \
https://vivere.dev/api/v1/monitors
Errors
Errors are {"error": "message"} with 401 (bad key), 402 (plan limit), 404, 422 (validation) or 429 (rate limit, 60 requests per minute per address).