Audit Suite API — backend for Screens 3-13 GET /api/health GET /api/dashboard/stats GET /api/dashboard/recent GET /api/dashboard/activity (?limit=N — cross-engagement activity feed) GET /api/dashboard/in-progress (?limit=N — top active engagements + their next doc) GET /api/clients (?filter=returning|new|active) POST /api/clients GET /api/clients/:id PUT /api/clients/:id DEL /api/clients/:id GET /api/templates (?include=archived | ?only=archived) GET /api/templates/:idOrCode POST /api/templates (body: { title, category, code?, description?, est_minutes?, schema? }) PUT /api/templates/:id (body: { title?, description?, category?, code?, ordinal?, est_minutes? }) PUT /api/templates/:id/schema (body: { sections: [...] } or { schema: { sections: [...] } }) DEL /api/templates/:id (soft-delete via archived_at) POST /api/templates/:id/restore GET /api/engagements (?status=active|completed|overdue&q=) POST /api/engagements (body: client_id, financial_year, [template_ids], [clone_from_engagement_id]) GET /api/engagements/:id PUT /api/engagements/:id DEL /api/engagements/:id POST /api/engagements/:id/documents (body: { template_ids: [...] }) DEL /api/engagements/:id/documents/:docId GET /api/engagements/:id/activity GET /api/documents/:edocId PUT /api/documents/:edocId (body: { response: {...}, status?, ... }) POST /api/documents/:edocId/submit (body: { signed_by, signature_date }) GET /api/documents/:edocId/pdf-payload GET /api/documents/:edocId/remarks (?kind=official|internal&target_kind=...&target_id=...) POST /api/documents/:edocId/remarks (body: { kind, target_kind, target_id, parent_id?, body }) PUT /api/documents/:edocId/remarks/:remarkId (body: { body }) DEL /api/documents/:edocId/remarks/:remarkId POST /api/documents/:edocId/remarks/:remarkId/like GET /api/documents/:edocId/checklist PUT /api/documents/:edocId/checklist/:itemId (body: { checked: bool }) GET /api/history (?client_id=X&from=YYYY-MM-DD&to=YYYY-MM-DD) GET /api/history/clients (clients that have completed engagements) GET /api/settings (app-wide settings, deep-merged with defaults) PUT /api/settings (body: partial patch, deep-merged with current) Static: /screens/SCREEN%203.html, /screens/SCREEN%204A.html ... /screens/SCREEN%2013.html