Core API Specification Base URL - https://core.sijibomi.com Purpose - Accept authenticated event submissions and enqueue email notifications. - Use POST /emit for programmatic requests. Authentication - Send: Authorization: Bearer - Tokens are created in the web UI at /tokens. POST /emit - Auth required: yes - Content-Type: application/json - Request body: - title: string, required and non-empty - message: string, optional - source: string, optional - event: string, optional - level: info, warn, warning, danger, critical, or error; defaults to info - metadata: JSON object, optional - Success: HTTP 200 with {"status":"ok","event_id":42} - Errors: 400 invalid JSON or title; 401 missing/invalid token; 500 server failure. - HTTP 200 means the event was stored and queued, not that email delivery is complete. Public endpoints - GET /health: lightweight liveness check. - GET /heartbeat: checks Postgres, Redis, and the email queue; returns 503 if a dependency fails. - GET /api-spec: this plain-text specification. Example curl -X POST https://core.sijibomi.com/emit \\ -H "Authorization: Bearer " \\ -H "Content-Type: application/json" \\ -d '{"title":"Backup finished","source":"nightly-backup","level":"info"}'