REST API
Base URL, authentication, endpoints, and a create-monitor example.
Base URL
All API requests go to the UpCheck backend over HTTPS:
https://upcheck-api-a.rekwiem.comAuthentication
The API authenticates with project API keys: revocable tokens that start with upk_. A key is scoped to exactly one project, so it can read and write that project's monitors and nothing else. Account level endpoints reject API keys.
Create an API key
In the dashboard, open your project's Settings and find API keys. Name the key, optionally give it a 30 or 90 day expiry, and create it. The full key is shown once, at creation, so copy it somewhere safe. You can revoke any key from the same list.
Use the key
Send it as a Bearer token on every request:
Authorization: Bearer upk_your_keyEndpoints
| Method | Path | What it does |
|---|---|---|
| GET | /v1/monitors | List your monitors with status |
| POST | /v1/monitors | Create a monitor |
| POST | /v1/monitors/test | Run one check against a draft config, nothing saved |
| PATCH | /v1/monitors/:id | Update a monitor, partial fields |
| DELETE | /v1/monitors/:id | Delete a monitor |
| GET or POST | /v1/heartbeats/:id/ping | Heartbeat check-in, call it from your job |
| GET | /v1/tokens | List API keys, metadata only |
| DELETE | /v1/tokens/:id | Revoke an API key |
Creating keys requires a session
Interactive reference
The full schema lives in the API itself: GET /docs serves a rendered reference and GET /openapi.json returns the OpenAPI document, so you can generate clients or import it into your tooling.
Example: create a monitor
Only url is required. This creates an HTTP monitor on a 5 minute interval:
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 }'The response is the created monitor, including the result of its first check.