Status Pages
Wacht has an authenticated status API and one anonymous public status page per user.
Authenticated Status
GET /status returns checks and probes for the authenticated user.
Example:
TOKEN=$(curl -s -X POST http://localhost:3000/api/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"admin@wacht.local","password":"changeme"}' | jq -r .token)
curl -H "Authorization: Bearer $TOKEN" http://localhost:3000/status
The authenticated response includes:
- check ID
- check name
- target
- aggregate status
- incident start time when an incident is open
- probe ID
- probe status
- probe last-seen timestamp
Public Status Page
Each user gets one public page:
/public/{slug}
The dashboard shows the share URL on the Account page.
The backing JSON endpoint is:
GET /api/public/status/{slug}
The public response includes:
- check ID
- check name
- aggregate status
- incident start time when an incident is open
The public response does not include:
- raw targets
- webhook URLs
- probe details
- incident history
- account email
Current Limitations
- Public status pages cannot be disabled yet.
- Public status slugs cannot be rotated yet.
- There is one public status page per user.
- Public pages show current status only, not full incident history.