## Changes - Add narrative API documentation in docs/api-content/ (introduction, quickstart, authentication, conventions, errors, rate limiting) - Scaffold Astro Starlight site at docs/api/ that consumes prose from the sibling api-content folder and auto-generates the endpoint reference from server/openapi.json via starlight-openapi - Wire Checkmate brand color (#13715B) into Starlight via custom CSS - Add vercel.json so the docs site deploys cleanly as an Astro project with root directory docs/api/ ## Benefits - Public API docs ready to publish at checkmate.so/docs - Endpoint reference stays in sync with the OpenAPI spec automatically - Zero third-party SaaS dependency: site is fully self-hosted on Vercel - Contributors edit plain markdown; no Astro knowledge needed for prose
1.8 KiB
1.8 KiB
title, description
| title | description |
|---|---|
| API reference overview | All endpoints, grouped by resource. Auto-generated from the OpenAPI spec. |
API reference
The full machine-readable specification is at server/openapi.json. Mintlify renders an interactive reference from it — each endpoint below is fully documented with request/response schemas, examples, and a built-in "Try it" form.
Endpoint groups
| Group | Description |
|---|---|
| auth | Register, log in, password recovery, manage users |
| invite | Send and redeem team invites |
| monitors | Create, update, pause, and delete monitors |
| checks | Read individual check results and team-wide summaries |
| incidents | List, filter, and resolve downtime incidents |
| maintenance-window | Schedule maintenance windows to silence checks |
| notifications | Configure email, Slack, Discord, and webhook channels |
| status-page | Manage public status pages |
| geo-checks | Multi-region check results |
| logs | Audit and operational logs |
| settings | Global Checkmate settings |
| queue | Background-job queue health (operational) |
| diagnostic | System health and version info |
Authentication
Every endpoint except the unauthenticated auth/recovery routes requires:
Authorization: Bearer <jwt>
See Authentication for how to obtain a token.
Conventions recap
- Base URL:
https://your-checkmate-host/api/v1 - Response envelope:
{ success, msg, data } - IDs: 24-character MongoDB ObjectIds
- Timestamps: ISO 8601 UTC
- Durations: integers in milliseconds
- Most resources are team-scoped — pass
teamIdwhere the path includes/team/...
See Conventions for full details.