# Schema Coverage Snapshot

- Total routes: 731
- Routes with canonical schemas: 376 (51%)
- Routes missing canonical schemas: 355
- Routes handled without controllers (likely Next.js handlers): 341

## Controllers Missing Canonical Schemas
- `server/src/lib/api/controllers/ApiAccountingExportController.ts` (8 routes)
- `server/src/lib/api/controllers/ApiCSVAccountingController.ts` (5 routes)
- `server/src/lib/api/controllers/ApiSearchController.ts` (1 routes)

## Routes Lacking Canonical Schemas
- `POST` /api/accounting/csv/export (CE)
- `POST` /api/accounting/csv/import/tax (CE)
- `GET` /api/accounting/csv/import/tax/history (CE)
- `POST` /api/accounting/csv/import/tax/rollback/{importId} (CE)
- `GET` /api/accounting/csv/import/tax/template (CE)
- `GET/POST` /api/accounting/exports (CE)
- `POST` /api/accounting/exports/locks/invoice/reset (CE)
- `POST` /api/accounting/exports/preview (CE)
- `GET/PATCH` /api/accounting/exports/{batchId} (CE)
- `POST` /api/accounting/exports/{batchId}/download (CE)
- `POST` /api/accounting/exports/{batchId}/errors (CE)
- `POST` /api/accounting/exports/{batchId}/execute (CE)
- `POST` /api/accounting/exports/{batchId}/lines (CE)
- `GET` /api/auth/e2e/google/authorize (CE)
- `GET` /api/auth/e2e/google/complete (CE)
- `POST` /api/auth/e2e/google/token (CE)
- `GET` /api/auth/e2e/google/userinfo (CE)
- `GET` /api/auth/google/calendar/callback (CE)
- `GET` /api/auth/google/calendar/callback (EE)
- `GET` /api/auth/google/callback (CE)
- `GET` /api/auth/microsoft/calendar/callback (CE)
- `GET` /api/auth/microsoft/calendar/callback (EE)
- `GET` /api/auth/microsoft/callback (CE)
- `GET` /api/auth/microsoft/entra/callback (CE)
- `GET` /api/auth/microsoft/entra/callback (EE)
- `POST` /api/auth/msp/remember-email (CE)
- `POST` /api/auth/msp/sso/discover (CE)
- `POST` /api/auth/msp/sso/resolve (CE)
- `GET` /api/auth/session (CE)
- `DELETE/GET` /api/auth/sessions (CE)
- `GET` /api/auth/sessions/all (CE)
- `DELETE` /api/auth/sessions/{sessionId} (CE)
- `POST` /api/auth/validate-api-key (CE)
- `POST` /api/auth/validate-token (CE)
- `GET/POST` /api/auth/{nextauth} (CE)
- `GET` /api/billing/check-tenant (CE)
- `GET/POST` /api/billing/licence-count (CE)
- `GET` /api/calendar/appointment/{id} (CE)
- `GET/OPTIONS/POST` /api/calendar/webhooks/google (CE)
- `GET/OPTIONS/POST` /api/calendar/webhooks/google (EE)
- `GET/OPTIONS/POST` /api/calendar/webhooks/microsoft (CE)
- `GET/OPTIONS/POST` /api/calendar/webhooks/microsoft (EE)
- `POST` /api/chat/stream/title (CE)
- `GET/POST` /api/chat/stream/{slug} (CE)
- `POST` /api/chat/v1/completions (CE)
- `POST` /api/chat/v1/completions/stream (CE)
- `POST` /api/chat/v1/execute (CE)
- `OPTIONS/POST` /api/client-portal/domain-session (CE)
- `GET` /api/clients (CE)
- `GET` /api/documents/download/{fileId} (CE)
- ...and 305 more
