REST API for uptime monitoring
Everything the dashboard does, the API does, with one project key.
Everything the dashboard does, the API does
The dashboard is one client of the API, not a layer above it. Anything you can click, you can curl: create a monitor, run a test check against a draft config, update a threshold, mute it for an hour, delete it.
Only url is required to create a monitor; every other field takes its default. Create returns the monitor including the result of its first check, so you know straight away whether you pointed it at the right thing. That's also what makes the API a natural fit for provisioning: a deploy script or an agent can register the service it just shipped and confirm the check passes, in one call.
curl -X POST https://upcheck-api-a.rekwiem.com/v1/monitors \
-H "Authorization: Bearer upk_your_key" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com", "interval_sec": 300 }'Authenticate with a project key
The API authenticates with project API keys, revocable tokens that start with upk_. A key is scoped to exactly one project: it can read and write that project's monitors and nothing else, and it can never mint more keys or reach account settings.
Create one in your project's Settings under Access tokens, optionally with an expiry. The full key is shown once, at creation. Send it as a Bearer token on every request:
Authorization: Bearer upk_your_keyDocumented by OpenAPI, always current
Every endpoint, parameter, and schema is listed in the API reference, generated from the API's own OpenAPI document, so it always matches the deployed backend. The document is served straight from the API, so you can point any generator or typed HTTP client at it:
https://upcheck-api-a.rekwiem.com/openapi.json