Docs

Type a word or a question. Esc closes the search.

Sign in Start free
Developers

Monitoring, status pages and incidents, over REST.

One REST API at https://app.upfour.io/v1 with 271 routes for monitors, scheduled jobs, incidents, status pages, alerting, on-call, playbooks, clients, teams, webhooks, reports and company settings. Managing API keys, billing and personal account settings stays in the signed-in app. This page summarizes how requests are shaped, how they fail and how changes are announced; each topic has its own page. Every reference page has a “Try it” panel that runs real requests from your browser with your own key.

Authentication

Create an API key in the app under Settings → API tokens and send it as a Bearer token. Every key starts with pls_ and carries scopes such as monitor.read or incident.write; each endpoint names the scope it needs. A key cannot create or manage other keys. API keys and scopes has the details and the errors.

curl -s https://app.upfour.io/v1/me \
  -H "Authorization: Bearer $UP4_API_KEY"

Response envelope

Successful calls made with an API key return their payload as { "data": … }; lists add a pagination object. See responses and errors.

Errors

Every 4xx and 5xx response is { "error": { "code", "message", "request_id" } }, with details when there is more to say. Branch on the code. The error catalogue lists every code with its cause and fix.

Pagination

GET /monitors pages with signed cursors (limit up to 250, pagination.next_cursor); the incident lists use page and per_page, and most other lists return everything at once. Pagination has the parameters and the cursor errors.

Idempotency

Send Idempotency-Key on POST and PATCH requests. The same key with the same body returns the stored response for 24 hours; the same key with a different body is 409 idempotency_key_conflict. Idempotency lists what is and is not stored.

Versioning

Every operation is served under /v1; there is no /v2, and the API sends no Deprecation or Sunset header. The changelog records every change, with a filter for breaking ones, and versioning says what X-API-Version does today.

Rate limits

Authenticated calls are limited per key (1,200 requests per minute, bursts of 300) and per IP address (3,000 per minute). A 429 carries Retry-After. Rate limits explains the headers and how to back off.

Client scope

In agency mode, pass client_id or all_clients=true on list calls and client_id in request bodies. See client scope.

Conventions

IDs are UUIDs. Timestamps are RFC 3339 in UTC. Boolean query values are a strict true or false. Browser API calls use Authorization, Idempotency-Key and X-API-Version. Documentation and marketing origins are bearer-only CORS origins and never receive credentialed session access; only the exact app origin may send the product's HttpOnly session cookie.

Machine-readable

Every route as files, generated from the router’s route inventory: OpenAPI 3.1 (YAML) · OpenAPI 3.1 (JSON) · Postman collection. Parameters are typed; most request bodies are open objects, and the field tables on the reference pages cover monitors, scheduled jobs and alert channels so far. For AI tooling there is an llms.txt index of every docs page.

Reference

Monitoring
Monitors The heart of the API: create, list, pause, resume and delete the things we check, as often as every ten seconds. 28 endpoints
Monitor groups Folders for monitors — group fleets per project or per customer. 6 endpoints
Scheduled jobs (heartbeats) Cron jobs and backups that must call in before a deadline. Silence becomes an incident. 12 endpoints
Scheduled job groups Folders for scheduled jobs. 6 endpoints
Resource metadata Free-form key/value metadata on monitors and scheduled jobs — owner, playbook link, cost center. 2 endpoints
Alerting & response
Incidents Open, acknowledge, comment, escalate, resolve. 27 endpoints
Severities Your incident severity ladder (SEV1…), fully customizable. 1 endpoints
Severity groups Group severities into reusable sets. 1 endpoints
Alert channels Where alerts go: email, Slack, Telegram, PagerDuty and friends. 6 endpoints
Alert plans (escalation policies) Who is told, in what order, after how long. 8 endpoints
On-call rotations Rotations, overrides, and "who is on call right now". 12 endpoints
Playbooks (runbooks) The steps you take when something breaks, attached to monitors, with shared progress. 7 endpoints
Health advisor Findings about your setup, such as monitors that alert nobody, and one call to apply a suggested fix. 2 endpoints
Pages & reporting
Status pages Public and client-facing uptime pages: structure, updates, subscribers, translations. 53 endpoints
Status page update templates Saved wording for status page updates: title, status and message to reuse. 4 endpoints
Status page design templates Reusable status page designs: save the look of a page once and apply it to other pages. 6 endpoints
Reports Availability and SLA reporting: summaries, trends, exports, schedules, share links. 21 endpoints
SLA policies Targets and business-hours masks that reports measure against. 5 endpoints
Organization
Organization Company-level settings. 18 endpoints
Teams Teams and membership. 14 endpoints
Invites Invite colleagues — seats are unlimited everywhere. 4 endpoints
Clients (agency mode) The agency partition: clients, client teams, share links, archive/unarchive. 13 endpoints
Client templates Materialize monitors, pages and alert plans for a new client in one step. 6 endpoints
Platform
Token introspection Who am I? What can this key do? The first call to make. 1 endpoints
Webhook subscriptions Outbound, signed webhooks — subscribe, test, inspect deliveries, redeliver. 8 endpoints