docs(api): add public API documentation site (Astro Starlight)
## 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
This commit is contained in:
1 parent
9027707c92
commit
9aa2594df7
16 files changed
+991
No files matched your search
@@ -0,0 +1,47 @@
|
||||
---
|
||||
title: API reference overview
|
||||
description: All endpoints, grouped by resource. Auto-generated from the OpenAPI spec.
|
||||
---
|
||||
|
||||
# API reference
|
||||
|
||||
The full machine-readable specification is at [`server/openapi.json`](https://github.com/bluewave-labs/Checkmate/blob/develop/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](/api/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 `teamId` where the path includes `/team/...`
|
||||
|
||||
See [Conventions](/api/conventions) for full details.
|
||||
Reference in new issue
Block a user