Monitors / Update

Update an existing monitor. Send the full monitor payload, including key fields and all required fields for that type. The example below uses monitor_type http.

Endpoint

Method POST
Url https://downdar.com/api/v1/monitors/update

Request

Key fields

guid key Monitor id.
monitor_type key http, ping, tcp, ssl, or dns. Together with guid, identifies the monitor to update.

Common fields

name req String, max 255 characters.
interval_seconds req 60, 300, 600, 900, 1800, 3600, 7200, 86400
region_mode opt rotate (default), selected
region_ids opt Array of region id integers. Required when region_mode is selected.
group_id opt Integer group id, or omit for none.
tag_ids opt Array of integer tag ids.
alert_channel_keys opt Array of alert channel key strings. Omit to keep current channels; send [] to clear all.

HTTP fields

url req HTTP or HTTPS URL, max 2048 characters.
method opt GET (default), POST
expected_status opt Integer HTTP status code, 100-599. Defaults to 200.

Ping fields

host req Hostname or IP address.

TCP fields

host req Hostname or IP address.
port req Integer, 1-65535.

SSL fields

host req Hostname or IP address.

DNS fields

hostname req Hostname to look up.
record_type opt A (default), AAAA, CNAME, MX, NS, TXT, PTR
{ "guid": "550e8400-e29b-41d4-a716-446655440000", "monitor_type": "http", "name": "Homepage (renamed)", "interval_seconds": 300, "url": "https://example.com/", "method": "GET", "expected_status": 200 }

Response

Top level

ok Always true on success.
monitor Full monitor object. Fields below apply to monitor.
capacity Monitor quota for the account. Fields below apply to capacity.
rate_limit Rate limit state for the tier this endpoint consumes. Present on every successful response.

monitor

guid Monitor id.
monitor_type http, ping, tcp, ssl, or dns.
name String, max 255 characters.
interval_seconds 60, 300, 600, 900, 1800, 3600, 7200, 86400.
region_mode rotate or selected.
region_ids Array of region id integers when region_mode is selected.
group_id Integer group id, or 0 for none.
tag_ids Array of integer tag ids.
alert_channel_keys Array of alert channel key strings.
paused true when checks are paused.

monitor HTTP fields

url HTTP or HTTPS URL, max 2048 characters.
method GET or POST.
expected_status Integer HTTP status code, 100-599.

monitor Ping fields

host Hostname or IP address.

monitor TCP fields

host Hostname or IP address.
port Integer, 1-65535.

monitor SSL fields

host Hostname or IP address.

monitor DNS fields

hostname Hostname to look up.
record_type A, AAAA, CNAME, MX, NS, TXT, or PTR.

capacity

limit Maximum monitors allowed on your plan.
used Monitors currently in use.
remaining Monitors you can still create.

rate_limit

tier Rate tier this endpoint counts against (1-5).
cost Units consumed by this request against the tier window.
timeframe Rolling limit window: second, minute, hour, or day.
limit Maximum units allowed in the timeframe for this tier on your plan.
used Units already used in the current window.
remaining Units left before this tier returns HTTP 429.
{ "ok": true, "monitor": { "guid": "550e8400-e29b-41d4-a716-446655440000", "monitor_type": "http", "name": "Homepage (renamed)", "interval_seconds": 300, "region_mode": "rotate", "region_ids": [], "group_id": 0, "tag_ids": [], "alert_channel_keys": [], "paused": false, "url": "https://example.com/", "method": "GET", "expected_status": 200 }, "capacity": { "limit": 10, "used": 3, "remaining": 7 }, "rate_limit": { "tier": 1, "cost": 1, "timeframe": "minute", "limit": 60, "used": 12, "remaining": 48 } }