Getting started
API reference
REST API base URL, authentication, and where to find the full OpenAPI spec.
Checkmate serves an interactive Swagger UI from every running server.
Where to find it
- Swagger UI —
http(s)://<your-host>/api-docs - API base URL —
http(s)://<your-host>/api/v1
The Swagger page rewrites the server URL dynamically based on the request host, so the examples always target the server you're viewing.
Authentication
Every endpoint except registration, login, and invite acceptance requires a JWT bearer token:
Authorization: Bearer <token>Tokens come from POST /api/v1/auth/login. The token lifetime is controlled by the TOKEN_TTL env var on the server (default 99 days). Role-based checks (user, admin, superadmin) are enforced per-route by the isAllowed middleware.
Common endpoints
| Method | Path | Purpose |
|---|---|---|
POST | /auth/login | Log in, receive JWT |
GET | /monitors/team | List monitors for the current team |
POST | /monitors | Create a monitor (admin+) |
POST | /monitors/pause/:monitorId | Pause/resume a monitor (admin+) |
GET | /monitors/export/json | Export monitors as JSON (admin+) |
POST | /monitors/import/json | Import monitors from JSON (admin+) |
GET | /incidents | List incidents |
GET | /notifications | List notification channels |
GET | /status-page/:url | Public status page payload |
For the complete, machine-readable schema see /api-docs on your server or the openapi.json shipped with the server package.