API reference · Monitoring Monitors The heart of the API: create, list, pause, resume and delete the things we check every ten seconds.
Base URL https://app.upfour.io/v1 ·
auth via Authorization: Bearer <key> ·
“Try it” runs from your browser — the key is kept in this tab only. Use a
pls_test_ sandbox key to experiment freely.
GET /monitorsPOST /monitorsPOST /monitors/batchPOST /monitors/batch/dry-runGET /monitors/{monitorID}PUT /monitors/{monitorID}PATCH /monitors/{monitorID}DELETE /monitors/{monitorID}GET /monitors/{monitorID}/availabilityGET /monitors/{monitorID}/certificatesPOST /monitors/{monitorID}/checkPUT /monitors/{monitorID}/escalation-policyDELETE /monitors/{monitorID}/escalation-policyGET /monitors/{monitorID}/incidentsGET /monitors/{monitorID}/notification_channelsPOST /monitors/{monitorID}/notification_channels/{channelID}DELETE /monitors/{monitorID}/notification_channels/{channelID}POST /monitors/{monitorID}/pauseGET /monitors/{monitorID}/regionsGET /monitors/{monitorID}/response_timesGET /monitors/{monitorID}/resultsPOST /monitors/{monitorID}/resumePOST /monitors/{monitorID}/test-alert GET /monitors scope monitor.write stable returns 200
Parameter In Type Notes limit query integer default 50 cursor query string client_id query uuid all_clients query boolean q query string sort query string status query string one of UP · DOWN · PAUSED monitor_type query string one of http · ping · tcp · dns region query string
curl -s https://app.upfour.io/v1/monitors \
-H "Authorization: Bearer $UP4_API_KEY" Try it POST /monitors scope monitor.write stable returns 201
Body field Type Notes namestring Display name urlstring Target for http/ping monitors monitor_typestring http · ping · tcp · dns (default http) interval_secondsinteger Down to 10; the form shows cost per interval regionsstring[] Check regions; only offered regions are accepted expected_status_codeinteger Pass only on this status (http) alert_typestring keyword · keyword_absence for content checks keywordstring The needle for alert_type http_methodstring GET · HEAD · POST · PUT · PATCH · DELETE request_timeout_sinteger Per-check budget; a timeout is a failed check request_bodystring Sent with methods that carry one request_headers[{name, value}] Extra headers per check follow_redirectsboolean Follow 3xx (default true) keep_cookiesboolean Persist cookies across a redirect chain auth_username / auth_passwordstring HTTP basic auth; password stored encrypted, never returned ssl_verificationboolean Fail on broken chains ssl_expiry_alert_days / domain_expiry_alert_daysinteger Warn before certificate / domain expiry proxy_host / proxy_portstring / integer Check through your proxy ip_versionstring Force IPv4 or IPv6 maintenance_from / maintenance_tostring (HH:MM) Recurring maintenance window maintenance_timezonestring IANA zone for the window maintenance_weekdaysstring[] Restrict the window to weekdays tcp_host / tcp_portstring / integer Target for tcp monitors dns_server / dns_query / dns_type / dns_expectedstring Resolver, name, record type, asserted answer (dns) confirmation_period / recovery_periodinteger Require failing/healthy for longer before the state flips escalation_policy_iduuid Attach an alert plan client_iduuid Create inside a client partition (agency mode)
curl -s -X POST https://app.upfour.io/v1/monitors \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Example", "url": "https://example.com", "monitor_type": "http", "interval_seconds": 60, "regions": [ "default" ] }' Try it POST /monitors/batch scope monitor.write stable returns 201
curl -s -X POST https://app.upfour.io/v1/monitors/batch \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it POST /monitors/batch/dry-run scope monitor.write stable returns 201
curl -s -X POST https://app.upfour.io/v1/monitors/batch/dry-run \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it GET /monitors/{monitorID} scope monitor.delete stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s https://app.upfour.io/v1/monitors/<monitorID> \
-H "Authorization: Bearer $UP4_API_KEY" Try it PUT /monitors/{monitorID} scope monitor.delete stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/monitors/<monitorID> \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it PATCH /monitors/{monitorID} scope monitor.delete stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X PATCH https://app.upfour.io/v1/monitors/<monitorID> \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it DELETE /monitors/{monitorID} scope monitor.delete stable returns 204
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/monitors/<monitorID> \
-H "Authorization: Bearer $UP4_API_KEY" Try it GET /monitors/{monitorID}/availability scope monitor.read stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s https://app.upfour.io/v1/monitors/<monitorID>/availability \
-H "Authorization: Bearer $UP4_API_KEY" Try it GET /monitors/{monitorID}/certificates scope monitor.read stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s https://app.upfour.io/v1/monitors/<monitorID>/certificates \
-H "Authorization: Bearer $UP4_API_KEY" Try it POST /monitors/{monitorID}/check scope monitor.write stable returns 202
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/monitors/<monitorID>/check \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it PUT /monitors/{monitorID}/escalation-policy scope monitor.delete stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X PUT https://app.upfour.io/v1/monitors/<monitorID>/escalation-policy \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it DELETE /monitors/{monitorID}/escalation-policy scope monitor.delete stable returns 204
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/monitors/<monitorID>/escalation-policy \
-H "Authorization: Bearer $UP4_API_KEY" Try it GET /monitors/{monitorID}/incidents scope monitor.read stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s https://app.upfour.io/v1/monitors/<monitorID>/incidents \
-H "Authorization: Bearer $UP4_API_KEY" Try it GET /monitors/{monitorID}/notification_channels scope monitor.read stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s https://app.upfour.io/v1/monitors/<monitorID>/notification_channels \
-H "Authorization: Bearer $UP4_API_KEY" Try it POST /monitors/{monitorID}/notification_channels/{channelID} scope monitor.delete stable returns 201
Parameter In Type Notes monitorIDrequired path uuid channelIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/monitors/<monitorID>/notification_channels/<channelID> \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it DELETE /monitors/{monitorID}/notification_channels/{channelID} scope monitor.delete stable returns 204
Parameter In Type Notes monitorIDrequired path uuid channelIDrequired path uuid
curl -s -X DELETE https://app.upfour.io/v1/monitors/<monitorID>/notification_channels/<channelID> \
-H "Authorization: Bearer $UP4_API_KEY" Try it POST /monitors/{monitorID}/pause scope monitor.write stable returns 201
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/monitors/<monitorID>/pause \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it GET /monitors/{monitorID}/regions scope monitor.read stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s https://app.upfour.io/v1/monitors/<monitorID>/regions \
-H "Authorization: Bearer $UP4_API_KEY" Try it GET /monitors/{monitorID}/response_times scope monitor.read stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s https://app.upfour.io/v1/monitors/<monitorID>/response_times \
-H "Authorization: Bearer $UP4_API_KEY" Try it GET /monitors/{monitorID}/results scope monitor.read stable returns 200
Parameter In Type Notes monitorIDrequired path uuid
curl -s https://app.upfour.io/v1/monitors/<monitorID>/results \
-H "Authorization: Bearer $UP4_API_KEY" Try it POST /monitors/{monitorID}/resume scope monitor.write stable returns 201
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/monitors/<monitorID>/resume \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it POST /monitors/{monitorID}/test-alert scope monitor.write stable returns 202
Parameter In Type Notes monitorIDrequired path uuid
curl -s -X POST https://app.upfour.io/v1/monitors/<monitorID>/test-alert \
-H "Authorization: Bearer $UP4_API_KEY" \
-H "Content-Type: application/json" \
-d '{}' Try it