API Reference
Referencia manual
Por ahora la referencia de API es manual. Cuando se active el spec OpenAPI,
se generará automáticamente con docusaurus-plugin-openapi-docs.
Convenciones generales
- Base URL:
http://localhost:3000(desarrollo) - Autenticación: Bearer JWT en header
Authorization - Paginación:
_start,_end,_sort,_order+ headerx-total-count - Content-Type:
application/json(excepto uploads y SOAP)
Endpoints públicos
| Método | Ruta | Descripción |
|---|---|---|
| GET | /auth/realm?user=email | Resuelve realm por email |
| GET | / | Health check básico |
| GET | /health | Liveness + readiness (Postgres/Mongo/Redis) |
| GET | /auth/validate-ott?token=... | Valida One-Time Token |
| GET | /soap/:id?wsdl | WSDL dinámico para endpoint SOAP inbound |
| POST | /soap/:id | Invocar endpoint SOAP inbound |
| POST | /flow/webhook/:token | Reanudar flujo por webhook externo |
| GET | /flow/webhook/:token | Estado de un FlowWait |
CRUD estándar
Todos los recursos CRUD siguen el mismo patrón y requieren @RequirePermission:
| Recurso | Módulo de permiso | Notas |
|---|---|---|
/accounts | account.* | Búsqueda ?q= con Typesense |
/account-types | account.* | Bootstrap: 3 tipos default |
/dossiers | dossier.* | MongoDB |
/dossier-types | dossiertype.* | PostgreSQL + JSONB flow |
/documents | document.* | MongoDB, content-addressed |
/document-types | documenttype.* | PostgreSQL + JSONB flow |
/tasks | task.* | MongoDB, filtro por assignedTo |
/tenants | tenant.* | Sin DELETE |
/users | user.* | Sin CREATE (auto-provision) |
/credentials | credential.* | Secrets nunca en GET |
/external-systems | externalsystem.* | Relación con credential |
/endpoints | endpoint.* | Relación con system |
/ui-endpoints | uiendpoint.* | 5 modos: IFRAME/POPUP/REDIRECT/NEW_TAB/INTERNAL |
/mime-handlers | mimehandler.* | Extractores y visores custom |
/dashboards | dashboard.* | Embebe Grafana con SSO; GET /:name/iframe entrega URL firmada |
Endpoints especiales
| Método | Ruta | Permiso | Descripción |
|---|---|---|---|
| POST | /roles/:id/permissions | role.Assign | Asignar permiso a rol |
| DELETE | /roles/:id/permissions/:permId | role.Assign | Quitar permiso |
| POST | /roles/:id/users | role.Assign | Asignar usuario a rol |
| DELETE | /roles/:id/users/:userId | role.Assign | Quitar usuario |
| GET | /parameters | parameter.List | Parámetros del tenant |
| GET | /parameters/system | parameter.SystemList | Parámetros globales |
| PUT | /parameters/:key | parameter.Update | Setear valor tenant |
| PUT | /parameters/system/:key | parameter.SystemUpdate | Setear valor global |
| POST | /credentials/:id/test | credential.Test | Probar credencial |
| POST | /endpoints/:id/test | endpoint.Test | Ejecutar test manual |
| POST | /endpoints/import/curl | endpoint.Import | Importar desde cURL |
| POST | /endpoints/import/swagger | endpoint.Import | Importar desde Swagger |
| POST | /admin/reset-database | admin.ResetDatabase | Reset destructivo |
| GET | /executions | endpoint.Read | Historial global |