ixiclinicDocs
DesarrolladoresReferencia de API

Endpoints

Página puente a la referencia OpenAPI del API. El playground interactivo Scalar y un resumen de las grandes familias de rutas REST.

La referencia endpoint-por-endpoint del API (351 rutas) se genera automáticamente desde su especificación OpenAPI. El playground interactivo de Scalar es la fuente de verdad para explorar y probar los endpoints; embeberlo dentro de este sitio (con fumadocs-openapi) queda como un siguiente paso opcional.

Especificación OpenAPI

El API expone su especificación OpenAPI a través de @fastify/swagger, que la construye a partir de los esquemas Zod/Fastify de cada ruta (config en apps/api/src/app.ts). Scalar renderiza esa especificación como una UI interactiva —un playground donde puedes ver cada ruta, sus parámetros y respuestas, y ejecutar llamadas— en la ruta /docs del API:

EntornoPlayground
Producciónhttps://api.ixiclinic.com/docs
Desarrollohttp://localhost:5000/docs

Para autenticarte en el playground, usa un Bearer JWT válido (ver Autenticación). La ruta /docs en sí es pública.

Exportar la especificación a un archivo

Para obtener un openapi.json estático (importable en Postman, Insomnia, generadores de clientes, etc.) sin levantar el servidor:

pnpm --filter @ixiclinic/api openapi:dump

Genera apps/api/openapi.json a partir de app.swagger(). El archivo está en .gitignore (se regenera bajo demanda).

Familias de rutas

Todas las rutas viven bajo el prefijo /api. Cada módulo de apps/api/src/modules/<dominio>/ registra su propio prefijo. A grandes rasgos:

Núcleo de tenant (staff)

Rutas autenticadas con el token de staff y aisladas por tenantId.

PrefijoDominio
/api/auth/*Login, registro, refresh y logout del staff
/api/patients/*Pacientes
/api/doctors/*Médicos referentes
/api/catalog/*Catálogo de pruebas e imágenes
/api/orders/*Órdenes de laboratorio
/api/results/*Resultados y entrada de valores
/api/samples/*Muestras
/api/billing/*Facturación y cuentas por cobrar
/api/ecf/*Facturación electrónica DGII (e-CF)
/api/cash/*Caja (sesiones y movimientos)
/api/inventory/*Inventario multi-almacén
/api/qc/*Control de calidad
/api/companies/*Empresas y convenios
/api/appointments/*Citas
/api/queue/*Sistema de turnos / cola
/api/instruments/*Instrumentos de laboratorio
/api/prescriptions/*Recetas
/api/dashboard/*, /api/reception/*, /api/search/*, /api/lookup/*Tablero, recepción, búsqueda y catálogos auxiliares
/api/settings/*Configuración del tenant
/api/notifications/*, /api/chat/*Notificaciones y chat interno
/api/encounters/*, /api/programs/*, /api/activities/*Programas crónicos (seguros)
/api/consultations/*, /api/procedures/*, /api/cardiology/*Consulta y procedimientos
/api/templates/*, /api/uploads/*, /api/printing/*Plantillas, subidas e impresión

SaaS (superadmin interno)

Guardadas por el preHandler requireSuperadmin.

PrefijoDominio
/api/saas/auth/*Login/refresh del superadmin
/api/saas/demosPipeline de demos (POST es público, lo llama la landing)
/api/saas/*Planes, suscripciones, organizaciones, métricas y configuración SaaS

Portal y cliente (pacientes y empresas)

PrefijoDominio
/api/portal/*Endpoints públicos del sitio del laboratorio (sin auth)
/api/client/auth/*Login/registro de paciente y empresa
/api/client/*Portal autenticado del cliente (paciente/empresa)

Infraestructura y públicos

PrefijoDominio
/api/healthHealthcheck (público)
/docsPlayground Scalar (público)
/api/webhooks/*Webhooks entrantes

Nota: Esta referencia se complementa con la documentación OpenAPI generada automáticamente. Para el contrato exacto de cada endpoint (parámetros, cuerpos y respuestas), consulta el playground Scalar y el routes.ts del módulo correspondiente en apps/api/src/modules/.

Volver a la Referencia de API.

On this page