API
Read any public status page, or manage your monitors from scripts and CI. Create API keys in the dashboard under Settings. Every key belongs to one workspace, acts with its creator's role there, and is limited to 120 requests a minute. The full machine-readable description is at /api/v1/openapi.json.
Endpoints
- GET
/api/v1/status/:slugPublicA status page's overall state, public monitors and open incidents (CORS-enabled).
curl https://uplance.cloud/api/v1/status/<your-slug>
- GET
/api/v1/statusAPI keyThe same for the API key's own workspace.
curl -H "Authorization: Bearer cu_…" https://uplance.cloud/api/v1/status
- GET
/api/v1/monitorsAPI keyEvery monitor, public or not.
curl -H "Authorization: Bearer cu_…" https://uplance.cloud/api/v1/monitors
- POST
/api/v1/monitorsAPI key (owner or admin)Create a monitor. Same fields as the dashboard form.
curl -X POST -H "Authorization: Bearer cu_…" -H "Content-Type: application/json" \ -d '{"name":"Website","type":"HTTP","url":"https://example.com"}' https://uplance.cloud/api/v1/monitors - PATCH
/api/v1/monitors/:idAPI key (owner or admin)Change name, interval, visibility, group, or pause/resume.
curl -X PATCH -H "Authorization: Bearer cu_…" -H "Content-Type: application/json" \ -d '{"paused":true}' https://uplance.cloud/api/v1/monitors/<id> - PUT
/api/v1/monitors/:idAPI key (owner or admin)Replace every field, like saving the form. Used by the Terraform provider; changing the target clears the history.
curl -X PUT -H "Authorization: Bearer cu_…" -H "Content-Type: application/json" \ -d '{"name":"Website","type":"HTTP","url":"https://example.com","interval":60}' https://uplance.cloud/api/v1/monitors/<id> - POST
/api/v1/monitors/bulkAPI key (owner or admin)Pause or resume many (or all) monitors, e.g. during a deploy.
curl -X POST -H "Authorization: Bearer cu_…" -H "Content-Type: application/json" \ -d '{"action":"pause"}' https://uplance.cloud/api/v1/monitors/bulk - POST
/api/v1/deploysAPI key (owner or admin)Record a deploy: a marker on charts, context in down alerts, and an optional window where alerts wait.
curl -X POST -H "Authorization: Bearer cu_…" -H "Content-Type: application/json" \ -d '{"version":"v2.4.1","author":"ci","muteMinutes":10}' https://uplance.cloud/api/v1/deploys - POST
/api/v1/maintenanceAPI key (owner or admin)Schedule maintenance: shown on the status page, announced to subscribers, alerts held while it runs. DELETE /api/v1/maintenance/:id ends or cancels it.
curl -X POST -H "Authorization: Bearer cu_…" -H "Content-Type: application/json" \ -d '{"title":"Database upgrade","startsAt":"2026-10-01T22:00:00Z","endsAt":"2026-10-01T23:00:00Z","monitors":["API"]}' https://uplance.cloud/api/v1/maintenance - POST
/api/v1/syncAPI key (owner or admin)Sync monitors from uplance.yaml. ?dryRun=1 shows the plan, ?prune=1 also deletes what's missing. GET the same URL to export.
curl -X POST -H "Authorization: Bearer cu_…" --data-binary @uplance.yaml "https://uplance.cloud/api/v1/sync?dryRun=1"
- GET
/api/push/:tokenSecret URLHeartbeat for Heartbeat monitors. ?status=down, &msg=…, &ping=<ms>.
curl -fsS https://uplance.cloud/api/push/<token>
- GET
/api/badge/:idPublicSVG badge. ?type=uptime&days=30 for an uptime badge.
https://uplance.cloud/api/badge/<id>?type=uptime&days=30
- GET
/api/metricsAPI keyPrometheus metrics for your workspace, for Grafana.
curl -H "Authorization: Bearer cu_…" https://uplance.cloud/api/metrics
- GET
/s/:slug/feed.xmlPublicRSS feed of a status page's incidents.
https://uplance.cloud/s/<your-slug>/feed.xml
- GET
/api/reports/slaDashboard sessionMonthly report as CSV, or ?format=pdf for a PDF. ?month=YYYY-MM picks the month.
https://uplance.cloud/api/reports/sla?month=2026-08&format=pdf