UptimeVanguard

REST API v1

← All articles

REST API v1

The API base URL on the hosted service is https://app.uptimevanguard.com/api/v1. A self-hosted deployment uses its own origin followed by /api/v1. The OpenAPI document is served at /api/docs.

Authenticate with a token from API tokens. Requests are limited to 60 per minute. Every request acts on the team the token is bound to. Lists are paginated, 15 items per page by default and at most 100 (per_page).

Endpoints

| Method and path | Ability | Purpose | |-----------------|---------|---------| | GET /sites | sites:read | List sites | | GET /sites/{id} | sites:read | Read a site | | GET /sites/{id}/uptime | sites:read | Uptime figures | | GET /sites/{id}/performance | sites:read | Response-time data | | POST /sites | sites:write | Create a site (name, url, optional description, display_name, primary_region) | | PUT /sites/{id} | sites:write | Update a site | | DELETE /sites/{id} | sites:write | Delete a site | | POST /sites/{id}/pause, POST /sites/{id}/resume | sites:write | Stop or restart monitoring | | POST /sites/{id}/snooze, DELETE /sites/{id}/snooze | sites:write | Mute alerts for 30m, 1h, 4h or 24h (duration), or unmute | | GET /sites/{siteId}/checks | checks:read | List checks | | GET /checks/{id}/history | checks:read | Recent results of a check | | POST /sites/{siteId}/checks | checks:write | Create a check (type, name, optional interval_seconds, settings) | | PUT /checks/{id}, DELETE /checks/{id} | checks:write | Update or delete a check | | GET /incidents, GET /incidents/{id} | incidents:read | List or read incidents | | GET /sites/{id}/incidents | incidents:read | Incidents of one site | | GET /performance-incidents | incidents:read | Performance incidents | | GET /status-pages | sites:read | List status pages | | POST /status-pages/{id}/updates | sites:write | Post a status page update | | GET /reports/export | reports:read | SLA report export | | GET /sites/{siteId}/incidents/export | reports:read | Incident CSV export | | GET /reports | sites:read | Report data | | GET /me, GET /stats | sites:read | Current user and team statistics |

Creating checks

interval_seconds is from 60 to 86400 and must respect your plan's minimum; it defaults to 300. A site holds at most one check of each type and at most eight checks. The check types you can create depend on your plan; during the trial they are http, dns, ping and ssl. Create heartbeats and application health checks from the dashboard.

Example:

curl -sS https://app.uptimevanguard.com/api/v1/sites \
  -H "Authorization: Bearer $UPTIMEVANGUARD_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name": "Shop", "url": "https://shop.example.com"}'

Not available through the API

Notification channels and their routing rules, creating or editing status pages, teams, members, maintenance windows and billing are managed in the dashboard only. The public status badge at /api/badges/{slug}/{siteSlug} needs no token.

Related: API tokens