API Reference
Manage your monitors from your own scripts, CI pipelines, or tooling with Uptiqr's versioned REST API. Available on Pro and Business plans.
Base URL
https://www.uptiqr.com/api/v1Authentication
Generate an API key from Settings → API Keysin your dashboard (Pro plan or higher). The raw key is shown exactly once at creation — store it somewhere safe, it can't be viewed again. Send it as a bearer token on every request:
Authorization: Bearer utq_live_xxxxxxxxxxxxxxxxxxxxxxxxThis is a separate authentication mechanism from your dashboard's session cookie — a bearer token never works against the session-based dashboard routes, and vice versa. You can revoke a key at any time from Settings; a revoked or unknown key is rejected immediately with a 401.
Rate limits
Requests are rate-limited to 120 requests per minute per API key. Once you hit the limit, requests return 429 until the window resets.
Endpoints
/api/v1/monitorsList every monitor on your account, newest first.
curl https://www.uptiqr.com/api/v1/monitors \
-H "Authorization: Bearer utq_live_xxxxxxxxxxxxxxxxxxxxxxxx"/api/v1/monitorsCreate a new monitor. `name` is required; `url` is required for HTTP monitors (the default `monitor_type`). Fails with 403 once you're at your plan's monitor limit.
curl -X POST https://www.uptiqr.com/api/v1/monitors \
-H "Authorization: Bearer utq_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "API",
"url": "https://api.example.com/health",
"check_interval_minutes": 5
}'/api/v1/monitors/:idFetch a single monitor by id. Returns 404 if it doesn't exist or isn't yours.
curl https://www.uptiqr.com/api/v1/monitors/3f2a9c1e \
-H "Authorization: Bearer utq_live_xxxxxxxxxxxxxxxxxxxxxxxx"/api/v1/monitors/:idUpdate a monitor. Every field is optional -- only send what you want to change. Accepts: name, url, check_interval_minutes, check_interval_seconds (30s, Pro+ only), alert_after_n_failures, alert_cooldown_minutes, alert_emails, webhook_urls, keyword, ssl_check_enabled, sms_numbers, call_numbers, heartbeat_interval_minutes, heartbeat_grace_minutes, response_time_threshold_ms, multi_location. Alert emails and phone numbers must already be verified on your account, and plan-gated fields (30s intervals, SMS, calls, multi-location) are rejected with a 403 if your plan doesn't include them.
curl -X PUT https://www.uptiqr.com/api/v1/monitors/3f2a9c1e \
-H "Authorization: Bearer utq_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"check_interval_minutes": 1,
"alert_after_n_failures": 2
}'/api/v1/monitors/:idDelete a monitor permanently, including its ping history and incidents.
curl -X DELETE https://www.uptiqr.com/api/v1/monitors/3f2a9c1e \
-H "Authorization: Bearer utq_live_xxxxxxxxxxxxxxxxxxxxxxxx"Errors
Errors are returned as JSON with an error string field, alongside the usual HTTP status code (400 bad request, 401 missing/invalid/revoked key, 403 plan limit or unverified contact, 404 not found, 429 rate limited).
Questions about the API? Email support@uptiqr.com.