application/problem+json. Un rechazo por límite de tasa responde con un cuerpo plano {code, title, message} en
application/json.
{
"title": "Unprocessable Entity",
"status": 422,
"detail": "validation failed",
"errors": [
{
"location": "body.grossRequestedAmount",
"message": "expected string",
"value": 50000
}
]
}
{
"code": 429,
"title": "rate_limit_exceeded",
"message": "rate limit exceeded"
}
code– El código de dominio estable y legible por máquina que lleva el rechazo, con el formatoLENDER-NNNN. Ausente cuando al rechazo no se le asignó uno. Ramifica primero por él.status– El código de estado HTTP.title– El nombre del estado, comoUnprocessable Entity.detail– Qué salió mal en esta ocurrencia. Por debajo de500, describe el rechazo específico.errors– Lista opcional de detalles de validación de esquema. Cada entrada lleva unlocation, unmessagey elvalueque recibió Lender.type–https://errors.lerian.studio/v1/LENDER-NNNNcuandocodeestá presente. El valor predeterminado de RFC 9457about:blanken caso contrario.
code, title y message. Su code repite el estado HTTP numérico. Su title nombra el rechazo y su message lo explica en una sola frase. Ninguna de las dos cadenas varía según quien llama, ni indica la cuota que te queda.
Ramifica por code cuando la respuesta lleve uno, y por el estado HTTP y el tipo de contenido cuando no. Lee detail solo como prosa para una persona. El middleware de autorización y de idempotencia puede responder en sus propios formatos de respuesta.
Errores del cliente
Lender responde con un
4xx cuando el problema es la solicitud, y detail nombra el rechazo específico.
Lender limita una búsqueda al tenant de quien llama y al padre nombrado en la ruta. Un identificador que resuelve fuera de ese ámbito responde igual que un identificador que no resuelve a nada.
Un comando necesita un subject en la identidad de quien llama, porque Lender registra ese subject como el actor detrás del cambio. Los límites de bytes se aplican dos veces: el framework limita el cuerpo de la solicitud, y cada superficie de ingesta de archivos limita el archivo que acepta.
La validación de esquema se ejecuta antes del handler y llena errors con una entrada por cada ubicación rechazada.
| Estado | Qué significa | Qué hacer |
|---|---|---|
400 | La solicitud llega sin cuerpo, o el cuerpo no tiene la forma JSON exacta que la operación lee. | Envía un cuerpo que coincida con el esquema de la operación y repite la solicitud. |
400 | El header X-Idempotency es más largo de lo que acepta la operación. | Envía una clave más corta y repite la solicitud. |
401 | La solicitud llega sin una identidad autenticada. | Envía un token bearer válido y repite la solicitud. |
401 | La identidad está autenticada, y su subject está vacío. | Usa un token cuyo subject identifique a quien llama. |
403 | La solicitud carece de una identidad de tenant validada para el recurso sobre el que opera la operación. | Usa un token con ámbito en el tenant que posee el recurso, y repite la solicitud. |
404 | El identificador en la ruta nombra un recurso que este tenant no posee. | Revisa el identificador y revisa el tenant al que tiene ámbito el token. |
404 | El recurso existe, y el padre nombrado en la ruta no lo posee. | Lista los recursos propios del padre y usa un identificador de esa lista. |
409 | Otra solicitud con el mismo valor X-Idempotency todavía se está ejecutando. | Espera el intervalo de Retry-After y luego lee el recurso. No vuelvas a enviar el comando. |
422 | El valor X-Idempotency ya se usó para una solicitud con un cuerpo diferente. | No envíes este comando con una clave nueva. Lee primero el resultado de la solicitud original y luego decide. |
409 | El idempotencyKey en el cuerpo nombra un término ya registrado con contenido diferente. | Lee el término registrado. Una clave nueva registra un segundo término para el mismo conjunto. |
409 | El recurso se encuentra en un paso distinto del ciclo de vida, o ya se cerró. | Lee el recurso y actúa según el paso en el que se encuentra. |
409 | Otro escritor cambió el recurso durante la solicitud. | Vuelve a leer el recurso y repite la solicitud. |
409 | Un registro externo ya aceptó este comando exacto. | Lee el protocolo registrado en lugar de emitir el comando de nuevo. |
413 | El cuerpo de la solicitud es más grande de lo que acepta la operación. | Envía un cuerpo más pequeño. |
413 | El archivo cargado es más grande de lo que acepta la superficie de ingesta. | Envía un archivo más pequeño. |
405 | La ruta existe, y no acepta este método HTTP. | Usa un método que la operación declare en la referencia de API. |
415 | El header Content-Type nombra un formato que la operación no lee. | Envía application/json. |
429 | Quien llama envió más solicitudes de las que permite el límite de tasa del despliegue. | Lee el header Retry-After, espera esa cantidad de segundos y repite la solicitud. |
422 | La solicitud no coincide con el esquema de la operación. | Corrige cada entrada en errors y repite la solicitud. |
422 | La solicitud coincide con el esquema, y una regla de negocio rechaza su contenido. | Lee detail, corrige la solicitud y envíala de nuevo. |
409 | Un comando alcanzó un recurso que ya está cerrado, y no es la reentrega del comando que lo cerró. | Reentregar el comando original bajo la misma identidad de solicitud responde 200 con el registro que ya rige. Este estado significa un segundo comando, distinto. Lee el registro y luego decide; nada se contabilizó dos veces. |
409 | El rechazo es reproducible: repetir la solicitud reproduce el conflicto. | No la repitas. El estado contra el que se construyó la solicitud cambió, así que concilia el registro y emite el comando que pide el estado actual. |
422 | El rechazo es terminal por diseño: la solicitud nunca tendrá éxito tal como está. | No la reenvíes, con o sin correcciones. detail nombra el caso. La operación rechazó en lugar de dejar el recurso a medias, y el recurso está exactamente como estaba. |
422 | El rechazo nombra configuración del despliegue o de operación, no una solicitud malformada. | Corregir el cuerpo no ayuda. detail nombra el objeto y el estado en el que está. Ajusta la configuración y envía de nuevo la solicitud original. |
Errores del servidor
Lender responde con un
5xx cuando la solicitud es correcta y la llamada no pudo completarse.
Un 503 cubre dos condiciones: una capacidad que el despliegue no ejecuta, y una dependencia que Lender no puede alcanzar en el momento de la llamada. Un 502 cubre a un tercero que rechaza un comando que Lender le reenvía, como el registro que asienta una cesión de cuentas por cobrar.
| Estado | Qué significa | Qué hacer |
|---|---|---|
500 | Lender no pudo completar la solicitud. | En una lectura, repite la solicitud. En un comando que mueve dinero, lee primero el recurso y repite solo si el comando no se aplicó. Si el estado se repite, contacta a soporte con la operación, el tenant y la hora de la llamada. |
502 | El registro al que Lender reenvía rechazó el comando. | La respuesta no nombra el motivo. Revisa la configuración del registro del fondo y los datos del comando, y emite el comando de nuevo. |
503 | El despliegue no ejecuta la capacidad que la operación necesita. | Pide a tu equipo de plataforma que habilite la capacidad para tu despliegue. |
503 | Un almacén de datos o una dependencia downstream no estaban disponibles. | Vuelve a intentarlo con backoff. |
Códigos de error
Las tablas siguientes listan los códigos que devuelve Lender.
title es el nombre del estado HTTP, y detail describe el caso específico para una persona, así que ramifica por code, no por detail.
General
| Código | Estado | Rechazo |
|---|---|---|
LENDER-0000 | 500 Internal Server Error | Lender no pudo clasificar la falla. Trátala como un error de servidor. |
Productos
| Código | Estado | Rechazo |
|---|---|---|
LENDER-0101 | 409 Conflict | El producto de préstamo no está activo, así que no puedes cambiar su versión actual. |
LENDER-0102 | 422 Unprocessable Entity | La versión que indicaste no es una versión de este producto de préstamo. |
LENDER-0103 | 400 Bad Request | chargeEffectiveAt o accountCreatedAt es una fecha de calendario. Envía un instante RFC 3339. |
Originación
| Código | Estado | Rechazo |
|---|---|---|
LENDER-0201 | 409 Conflict | La solicitud ya está desembolsada, y este desembolso no declara trancheNumber. |
LENDER-0202 | 422 Unprocessable Entity | El monto del desembolso o su trancheNumber contradice el monto aprobado. |
LENDER-0203 | 404 Not Found | Ninguna solicitud de préstamo de tu tenant tiene este identificador. |
LENDER-0204 | 409 Conflict | Otra petición cambió esta solicitud antes. No se escribió nada. |
LENDER-0205 | 409 Conflict | Un desembolso diferente ya usa esta clave de idempotencia. |
LENDER-0206 | 403 Forbidden | El sujeto autenticado no puede ejecutar esta acción en esta solicitud. |
LENDER-0207 | 422 Unprocessable Entity | Lender no puede resolver el perfil de la versión de producto que necesita este desembolso. |
LENDER-0208 | 422 Unprocessable Entity | El monto neto no es igual al bruto menos las retenciones, menos la comisión de originación. |
LENDER-0209 | 422 Unprocessable Entity | La comisión de originación es igual o mayor que el monto que queda después de las retenciones. |
LENDER-0210 | 422 Unprocessable Entity | El producto retiene una comisión de originación que su base de devengo no puede amortizar. |
LENDER-0211 | 409 Conflict | La cuenta de préstamo ya tiene una solicitud de préstamo. |
LENDER-0212 | 422 Unprocessable Entity | Un campo de la solicitud está mal formado. |
LENDER-0213 | 409 Conflict | La acción no está permitida desde el estado actual de la solicitud. detail indica el estado. |
LENDER-0214 | 422 Unprocessable Entity | El instante de pago de una contraparte está más adelantado que el reloj de Lender por encima del desfase permitido. |
LENDER-0215 | 422 Unprocessable Entity | La tasa solicitada está fuera de la banda de tasa de la versión de producto. |
LENDER-0216 | 422 Unprocessable Entity | La versión de producto no declara banda de tasa. |
LENDER-0217 | 422 Unprocessable Entity | La moneda de la solicitud de desembolso no es la moneda de la solicitud de préstamo. |
LENDER-0218 | 422 Unprocessable Entity | El asiento de apertura que cita la solicitud de reprogramación no corresponde a este contrato. |
LENDER-0219 | 422 Unprocessable Entity | Un campo de monto o de tasa de la vista previa del cronograma no es decimal. |
LENDER-0220 | 422 Unprocessable Entity | Una cadena decimal de la vista previa del cronograma es más larga de lo que acepta Lender. |
LENDER-0221 | 422 Unprocessable Entity | Un decimal de la vista previa del cronograma tiene un exponente fuera del rango aceptado. |
LENDER-0222 | 503 Service Unavailable | El despliegue no tiene lector de solicitudes de préstamo para esta ruta. |
LENDER-0223 | 503 Service Unavailable | La vista previa del cronograma no está configurada en este despliegue. |
LENDER-0224 | 503 Service Unavailable | El despliegue no puede ejecutar la liberación que necesita una renegociación sustancial. |
LENDER-0225 | 422 Unprocessable Entity | El producto de préstamo de esta solicitud no está activo. |
LENDER-0226 | 422 Unprocessable Entity | La versión que indicaste no es la versión actual del producto. |
LENDER-0227 | 422 Unprocessable Entity | El jurisdictionExtensions del desembolso no trae disbursedAt. |
LENDER-0228 | 422 Unprocessable Entity | La versión de producto no admite el tipo de prestatario de la solicitud. |
LENDER-0229 | 422 Unprocessable Entity | El primer vencimiento cae el día del desembolso o antes. |
LENDER-0230 | 422 Unprocessable Entity | La solicitud no declara tipo de prestatario, y la operación necesita uno. |
LENDER-0231 | 422 Unprocessable Entity | El primer vencimiento es tan tardío que la primera cuota no amortiza capital. |
LENDER-0232 | 422 Unprocessable Entity | La solicitud define a la vez un primer vencimiento y un período de gracia. |
LENDER-0233 | 422 Unprocessable Entity | El despliegue no tarifica impuestos para el tipo de prestatario de la solicitud. |
LENDER-0234 | 422 Unprocessable Entity | El cronograma generó un período de cero días o menos en el calendario de la jurisdicción. |
LENDER-0235 | 422 Unprocessable Entity | La versión de producto no admite el primer vencimiento elegido. |
LENDER-0236 | 422 Unprocessable Entity | La solicitud cita una oferta de cronograma que no está registrada. |
Administración de cartera
| Código | Estado | Rechazo |
|---|---|---|
LENDER-0301 | 422 Unprocessable Entity | Lender no puede leer la solicitud como un pago: el monto no es positivo o tiene precisión por debajo del centavo, falta la clave de idempotencia o el instante es inválido. |
LENDER-0302 | 409 Conflict | El pago tiene fecha anterior a hechos que la cuenta de préstamo ya liquidó. |
LENDER-0303 | 409 Conflict | Un pago diferente ya usa esta clave de idempotencia. |
LENDER-0304 | 409 Conflict | El desglose por cuota asigna más de lo que debe la cuota. |
LENDER-0305 | 404 Not Found | Ninguna cuenta de préstamo activa tiene este identificador. |
LENDER-0306 | 409 Conflict | La cuenta de préstamo tiene más de una solicitud viva, así que su plan de cuentas es ambiguo. |
LENDER-0307 | 422 Unprocessable Entity | La versión del producto de préstamo no tiene perfil contable. |
LENDER-0308 | 422 Unprocessable Entity | El plan de cuentas del producto no puede expresar este movimiento. |
LENDER-0309 | 422 Unprocessable Entity | El movimiento no se puede expresar como un asiento en el ledger con el perfil contable del producto. |
LENDER-0310 | 503 Service Unavailable | Un componente que necesita este movimiento no está configurado en el despliegue. |
LENDER-0311 | 404 Not Found | El pago a revertir no está en esta cuenta de préstamo. |
LENDER-0312 | 409 Conflict | El pago ya tiene una reversión. |
LENDER-0313 | 422 Unprocessable Entity | Un pago con fecha posterior al que reviertes consta en el contrato. |
LENDER-0314 | 422 Unprocessable Entity | El cronograma cambió después del pago que reviertes. |
LENDER-0315 | 422 Unprocessable Entity | Un pago posterior y una versión de cronograma posterior constan en el contrato. |
LENDER-0316 | 409 Conflict | Una reversión diferente ya usa esta clave de idempotencia. |
LENDER-0317 | 422 Unprocessable Entity | La solicitud de reversión no trae los hechos de linaje que necesita. |
LENDER-0318 | 403 Forbidden | Ninguna identidad validada llegó a la lectura, así que Lender no puede delimitarla. |
LENDER-0319 | 409 Conflict | El préstamo no tiene una única solicitud viva, así que el asiento compensatorio no tiene plan de cuentas. |
LENDER-0320 | 409 Conflict | Lender no puede determinar si el pago original llegó al ledger. |
LENDER-0321 | 422 Unprocessable Entity | La página o el filtro solicitado no es válido. |
LENDER-0322 | 409 Conflict | Una liquidación anterior ya usó parte o todo este reembolso. |
LENDER-0323 | 422 Unprocessable Entity | El pago devuelto traía efectivo no aplicado, así que no puede convertirse en una cuenta por cobrar. |
LENDER-0324 | 404 Not Found | Ninguna cuenta por cobrar de pago devuelto tiene este identificador. |
LENDER-0325 | 409 Conflict | La cuenta por cobrar ya está cobrada. |
LENDER-0326 | 422 Unprocessable Entity | El cobro no se puede aplicar como se envió. |
LENDER-0327 | 422 Unprocessable Entity | El pago que reviertes no registró nada. |
LENDER-0328 | 503 Service Unavailable | La liquidación no está configurada en este despliegue. |
LENDER-0329 | 404 Not Found | La versión de cronograma que indicaste no está en este contrato. |
LENDER-0330 | 422 Unprocessable Entity | Un campo de la solicitud de liquidación o de reprogramación está mal formado. |
LENDER-0331 | 422 Unprocessable Entity | Este contrato solo se liquida contra una cotización de pago anticipado, y la solicitud no tiene ninguna. |
LENDER-0332 | 422 Unprocessable Entity | La liquidación es por más capital del que debe el contrato. |
LENDER-0333 | 422 Unprocessable Entity | La versión de cronograma trae intereses y ninguna tasa. |
LENDER-0334 | 422 Unprocessable Entity | La corrida de devengo no puede reconocer los meses que crea este cronograma. |
LENDER-0335 | 422 Unprocessable Entity | El producto no tiene regla para la ganancia o la pérdida de una renegociación sustancial. |
LENDER-0336 | 422 Unprocessable Entity | El producto no tiene regla de baja o de reconocimiento. |
LENDER-0337 | 422 Unprocessable Entity | Los términos del contrato sustituto están incompletos. |
LENDER-0338 | 422 Unprocessable Entity | La modificación es sustancial (Res. CMN 4.966 art. 22), así que no es un cronograma sucesor de este contrato. |
LENDER-0339 | 422 Unprocessable Entity | El cronograma no puede ubicar la primera cuota en la fecha solicitada. |
LENDER-0340 | 422 Unprocessable Entity | El contrato no tiene valor contable positivo para renegociar. |
LENDER-0341 | 422 Unprocessable Entity | Un contrato con descuento en nómina no se puede renegociar de forma sustancial. |
LENDER-0342 | 409 Conflict | Una solicitud de versión de cronograma diferente ya usa esta clave de idempotencia. |
LENDER-0343 | 409 Conflict | El contrato ya salió de la cartera: se liquidó, se cedió o se portó. |
LENDER-0344 | 409 Conflict | Ya existe una renegociación sustancial de este contrato. |
LENDER-0345 | 409 Conflict | El outbox puso en cuarentena un asiento de este contrato. |
LENDER-0346 | 409 Conflict | Un asiento de este contrato se publicó, y el ledger no lo confirmó. |
LENDER-0347 | 409 Conflict | Un asiento de este contrato está en tránsito, y su confirmación no llegó. |
LENDER-0348 | 400 Bad Request | El instante del pago es una fecha de calendario. Envía un instante RFC 3339. |
Contabilidad
| Código | Estado | Rechazo |
|---|---|---|
LENDER-0401 | 503 Service Unavailable | No hay un barrido de transferencia de saldos del plan configurado, así que un cambio de plan no puede mover saldos. |
LENDER-0402 | 503 Service Unavailable | Lender no pudo leer el ledger, así que el barrido no movió nada. |
LENDER-0403 | 409 Conflict | El cambio de plan se rechaza, porque el despliegue no puede mover los saldos que dejaría atrás. |
LENDER-0404 | 409 Conflict | Un contrato no tiene activo en el ledger, así que Lender no puede leer sus saldos. |
LENDER-0405 | 409 Conflict | El reintento reconstruyó un asiento distinto del que ya está en cola para el mismo reconocimiento. |
LENDER-0406 | 422 Unprocessable Entity | El plan puede desviar un pago final devuelto, y no tiene las reglas para provisionar y castigar esa deuda. |
LENDER-0407 | 422 Unprocessable Entity | Algunos identificadores de ítem seleccionados para el reintento no pertenecen a la corrida de devengo. errors[].value indica hasta diez de ellos. |
LENDER-0408 | 422 Unprocessable Entity | El producto registra este contrato en cuentas que comparte con otros contratos, así que la salida no se puede medir. |
LENDER-0409 | 409 Conflict | El ledger retiene fondos en las cuentas de este contrato. |
LENDER-0410 | 503 Service Unavailable | Lender no pudo leer el ledger. |
LENDER-0411 | 422 Unprocessable Entity | El producto registra la comisión de originación diferida en una cuenta compartida. |
LENDER-0412 | 409 Conflict | Las cuentas de comisión diferida del contrato traen una línea que ninguna categoría de conciliación cubre. |
LENDER-0413 | 422 Unprocessable Entity | La conciliación de comisión diferida no indica cuenta de préstamo. |
LENDER-0414 | 409 Conflict | Las transferencias de saldo del plan en las cuentas de comisión diferida no suman cero. |
LENDER-0415 | 404 Not Found | Ningún contrato desembolsado de tu tenant tiene esta cuenta de préstamo. |
LENDER-0416 | 409 Conflict | Más de una solicitud reclama esta cuenta de préstamo. |
LENDER-0417 | 422 Unprocessable Entity | Ningún plan de la versión de producto estaba vigente el día en que se desembolsó el primer tramo. |
LENDER-0418 | 422 Unprocessable Entity | Un plan almacenado del producto falla la validación del perfil contable. |
LENDER-0419 | 422 Unprocessable Entity | El producto registra el impuesto sobre ingresos (PIS/COFINS) en una cuenta por contrato. |
Cesión de cuentas por cobrar
| Código | Estado | Rechazo |
|---|---|---|
LENDER-0501 | 422 Unprocessable Entity | El monto de cancelación acordado con el fondo supera el valor nominal de las cuotas que el fondo todavía posee. |
LENDER-0502 | 422 Unprocessable Entity | El monto de cancelación acordado con el fondo es cero o menos. |
LENDER-0503 | 422 Unprocessable Entity | La venta envía un campo de retención sin valor: retainedFraction es nulo o vacío, o sellerRetainsControl es nulo. |
LENDER-0504 | 422 Unprocessable Entity | La fracción retenida alcanza el umbral de retención sustancial. Lender arma una venta solo cuando la fracción está por debajo de él. |
LENDER-0505 | 422 Unprocessable Entity | El vendedor retiene el control de lo que vendió (Res. CMN 4.966 art. 26 III). Lender no registra este tipo de venta. |
LENDER-0506 | 422 Unprocessable Entity | Una fracción retenida no es una cadena decimal de 0 a 1 con un máximo de 8 decimales. |
Auditoría
| Código | Estado | Rechazo |
|---|---|---|
LENDER-0801 | 503 Service Unavailable | El almacén del historial de auditoría del préstamo no tiene base de datos detrás. |
Brasil
| Código | Estado | Rechazo |
|---|---|---|
LENDER-0900 | 422 Unprocessable Entity | La tabla de alícuotas del despliegue no tiene alícuota de IOF para el tipo de prestatario. |
LENDER-0901 | 422 Unprocessable Entity | La declaración de activo problemático no indica artículo de norma. |
LENDER-0902 | 422 Unprocessable Entity | La declaración no indica la fuente. |
LENDER-0903 | 422 Unprocessable Entity | La declaración no cita evidencia. |
LENDER-0904 | 422 Unprocessable Entity | La declaración no tiene firmante: ninguna identidad validada llegó a ella, y no indica un sujeto declarante. |
LENDER-0905 | 422 Unprocessable Entity | La declaración no es válida por otro motivo: una fecha de evaluación en el futuro, la falta de clave de idempotencia o un campo por encima de su límite de longitud. |
LENDER-0906 | 404 Not Found | Ninguna cuenta de préstamo de tu tenant tiene este identificador. |
LENDER-0907 | 409 Conflict | Esta clave de idempotencia ya registró una declaración. |
LENDER-0908 | 403 Forbidden | Ninguna identidad de tenant validada llegó a la ruta de declaración. |
LENDER-0909 | 503 Service Unavailable | El almacén de declaraciones no está disponible. |
LENDER-0910 | 422 Unprocessable Entity | Ningún barrido de reevaluación completado cubre esa fecha de negocio. |
LENDER-0911 | 422 Unprocessable Entity | businessDate no es una fecha YYYY-MM-DD. |
LENDER-0912 | 503 Service Unavailable | El despliegue no tiene generador de cronograma para la cotización de impuestos brasileña. |

