POST /api/solicitudes/guardar-solicitud es el destino final del wizard multi-paso de la aplicación: recibe el payload completo con la información de la solicitud, del solicitante y todos los datos complementarios, los valida con Zod y los persiste en la base de datos.
El owner_username se toma directamente de la sesión activa del usuario, no del cuerpo de la petición, garantizando que una solicitud siempre pertenezca al afiliado autenticado.
POST /api/solicitudes/guardar-solicitud
Autenticación: Requiere sesión activa.Cuerpo de la petición
El payload es un objeto JSON con las secciones del wizard. Todas las secciones exceptosolicitud son opcionales a nivel del schema, aunque el negocio requiere que estén completas para avanzar en el ciclo de vida.
Sección solicitud (requerida)
object
required
Datos principales de la solicitud de crédito.
Sección solicitante (opcional en schema, requerida en negocio)
object
Datos personales y laborales del solicitante principal.
Secciones adicionales del wizard
any
Datos de la línea de crédito seleccionada (convenio, producto, condiciones especiales).
any
Datos del cónyuge o compañero permanente del solicitante (cuando aplica).
any
Información detallada del empleo actual del solicitante.
any
Relación de ingresos mensuales y descuentos de nómina existentes.
any
Resumen de la situación económica general del solicitante.
any
Lista de propiedades (bienes inmuebles o vehículos) del solicitante.
any
Relación de deudas activas del solicitante con otras entidades.
any
Referencias familiares y personales del solicitante.
Respuestas
boolean
true cuando la solicitud fue creada exitosamente.string
"Solicitud guardada exitosamente."object
Objeto con los datos de la solicitud creada, incluyendo el
numero_solicitud generado y todos los campos persistidos.Tabla de errores
Ejemplo — Petición JSON
Ejemplo — cURL
Ejemplo — Respuesta exitosa 200
GET /api/solicitudes/mis-solicitudes
Lista todas las solicitudes de crédito del usuario autenticado con soporte de paginación mediantelimit y offset.
Autenticación: Requiere sesión activa.
Query Parameters
integer
default:"20"
Número máximo de solicitudes a retornar por página. Por defecto
20.integer
default:"0"
Número de solicitudes a omitir para la paginación. Por defecto
0.Respuesta exitosa 200
array
Lista de solicitudes del usuario. Cada elemento contiene el detalle de la solicitud.
integer
Total de solicitudes del usuario (para calcular páginas).
integer
El límite aplicado en esta consulta.
integer
El offset aplicado en esta consulta.
Ejemplo — cURL
Ejemplo — Respuesta 200
GET /api/solicitudes/:id
Obtiene el detalle completo de una solicitud de crédito por sunumero_solicitud. Incluye los registros de PDFs generados asociados.
Autenticación: Requiere sesión activa. Solo el propietario de la solicitud puede consultarla.
Path Parameters
string
required
El
numero_solicitud de la solicitud a consultar. Formato: "000001-202501-LI".Tabla de errores
Ejemplo — cURL
Ejemplo — Respuesta 200
Los campos numéricos de tipo
BigInt (como valor_solicitud y tasa_interes) son serializados como strings para compatibilidad JSON. El cliente debe parsearlos a número si los necesita para cálculos.DELETE /api/solicitudes/:id
Elimina una solicitud de crédito de forma permanente. Solo el propietario de la solicitud o un usuario con roladministrator pueden ejecutar esta operación.
Autenticación: Requiere sesión activa.
Path Parameters
string
required
El
numero_solicitud de la solicitud a eliminar.