Skip to main content
Todos los errores de la API tienen la misma forma, sin importar el recurso o el endpoint. Esto hace que tu integración sea predecible: parseas la respuesta de error una sola vez y la reutilizas en toda la API.

Estructura uniforme

string
Código estable y legible por máquina. Úsalo para ramificar tu lógica de manejo de errores (no parsees el message).
string
Mensaje legible para personas. Puede cambiar con el tiempo: no lo uses para tomar decisiones en tu código.
array
Presente en errores de validación. Lista de { field, issue } que indica qué campo falló y por qué. En el modo lote de POST /v2/debts cada entrada trae además index y externalRequestId del item que falló. Un JSON malformado devuelve [{ "field": "body", "issue": "Invalid JSON syntax" }].
string
Identificador único de la petición. Compártelo con soporte para rastrear exactamente qué pasó.

Catálogo de códigos

RESOLUTION_ERROR sin companyCode indica que la organización asociada a tu token no está bien configurada en el sistema. Si lo ves de forma persistente, contacta a soporte con el requestId.

Errores del API Gateway (401 y 403)

Los 401 y 403 los emite el API Gateway, antes de que la petición llegue a la API, y no usan la estructura uniforme: no traen el objeto error ni requestId.
En el 403 por falta de permiso el campo viene con mayúscula (Message). Si tu código lee el error, contempla las dos formas: el envelope error de la API y el objeto simple del gateway. Más detalle en Autenticación.

El message es informativo

El texto de error.message sirve para depurar, pero no es un contrato: puede cambiar sin aviso. Para decidir qué hacer usa error.code y, en errores de validación, error.details[].field. Los ejemplos de mensajes en estas guías son ilustrativos.

Recomendaciones

Rama por code

Decide tu lógica con error.code, nunca con el texto de message.

Guarda el requestId

Registra el requestId en tus logs: es la forma más rápida de que soporte rastree una petición.

Reintenta con idempotencia

Ante 429 o 500, reintenta con la misma Idempotency-Key para evitar duplicados.

Valida antes de enviar

Usa error.details para mostrar a tus usuarios qué campo corregir en errores 400.