| POST | /api/v1/auth/login | Login — obtener access + refresh token |
| POST | /api/v1/auth/exchange | SSO — sincronización desde ecocont_ui (X-Service-Key) |
| POST | /api/v1/auth/refresh | Renovar access token |
| POST | /api/v1/auth/logout | Invalidar sesión |
| GET | /api/v1/users/me | Perfil del usuario autenticado |
| GET | /api/v1/tenants | Listar estudios del usuario |
| POST | /api/v1/tenants | Crear nuevo estudio contable |
| GET | /api/v1/tenants/:id/members | Miembros del estudio |
| POST | /api/v1/tenants/:id/members | Invitar miembro al estudio |
| GET | /api/v1/companies | Listar clientes del estudio |
| POST | /api/v1/companies | Agregar cliente (consulta SUNAT) |
| POST | /api/v1/companies/sync-from-erp | Sincronizar cartera desde ecocont_ui |
| GET | /api/v1/companies/:id | Detalle de cliente |
| DELETE | /api/v1/companies/:id | Eliminar cliente |
| POST | /api/v1/companies/:id/credentials | Guardar Clave SOL (cifrada) |
| GET | /api/v1/companies/:id/credentials/status | Estado de credenciales SOL |
| GET | /api/v1/companies/:id/declarations | Declaraciones (PDT 621, 601, etc.) |
| GET | /api/v1/companies/:id/payments | Pagos y constancias |
| GET | /api/v1/companies/:id/detractions | Detracciones SPOT |
| GET | /api/v1/companies/:id/retentions | Retenciones |
| GET | /api/v1/companies/:id/buzon | Buzón SOL (notificaciones SUNAT) |
| GET | /api/v1/companies/:id/debts/consolidated | Deuda actualizada con TIM |
| GET | /api/v1/companies/:id/fines | Multas detectadas |
| POST | /api/v1/companies/:id/fines/simulate | Simular multa art. 173-178 CT |
| GET | /api/v1/companies/:id/obligations | Obligaciones y calendario vencimientos |
| GET | /api/v1/companies/:id/compliance/score | Score de cumplimiento tributario |
| GET | /api/v1/companies/:id/multas/consolidated | Vista consolidada multas + gradualidad |
| GET | /api/v1/companies/:id/sire | Historial RVIE + RCE (SIRE) |
| GET | /api/v1/companies/:id/declarations/liquidacion | Liquidación mensual IGV/Renta |
| GET | /api/v1/comm-logs | Historial de WhatsApp y emails enviados |
| GET | /api/v1/comm-logs/stats | Estadísticas de comunicaciones |
| GET | /api/v1/whatsapp/templates | Plantillas personalizables de mensajes |
| POST | /api/v1/companies/:id/notify | Enviar WhatsApp / email al cliente |
| GET | /api/v1/companies/:id/notify/preview | Preview de mensaje antes de enviar |
| POST | /api/v1/companies/:id/reports | Solicitar generación de reporte |
| GET | /api/v1/companies/:id/reports/:id | Estado y URL firmada del reporte |
| POST | /api/v1/webhooks/ingest/:companyId | Ingesta de datos desde scraper SOL (X-Webhook-Secret) |
| GET | /api/v1/webhooks/events | Historial de eventos de ingesta |
| GET | /api/v1/health | Health check (DB + Redis) |
| GET | /api/v1/audit | Logs de auditoría (OWNER) |
| GET | /api/v1/admin/queues | BullBoard — estado de colas (OWNER) |