Saltar al contenido principal
La API de Didit informa de un fallo con un código de estado HTTP y, casi siempre, con un cuerpo JSON. Esta página explica qué significa cada estado, qué forma tiene el cuerpo, qué valores de code puedes usar para tomar decisiones en tu lógica y qué fallos se pueden reintentar con seguridad. Básate primero en el estado y después en code cuando esté presente, porque el texto de un mensaje puede cambiar.

Códigos de estado

Cuerpos de error

Los cuerpos de error no comparten una misma estructura, así que léelos de forma defensiva. La forma depende de la familia de endpoints: Una respuesta 500 puede no tener ningún cuerpo JSON, así que gestiona los cuerpos que no se puedan analizar.

Errores de clave de API

Durante unos minutos después de eliminar una aplicación, la API responde con application_deleted y, a partir de entonces, rechaza la clave como cualquier clave incorrecta. No reintentes: la aplicación y sus claves ya no existen. Consulta Autenticación de la API y Claves de API para saber cómo funcionan las claves y sus límites.

Créditos insuficientes

Cada familia de API informa de un saldo insuficiente a su manera: Con un contrato, al crear una sesión, se recibe una respuesta 403 con "code": "contract_billing_suspended" cuando los servicios de pago están suspendidos para tu organización. Las aplicaciones de sandbox nunca se facturan, así que no pasan por estas comprobaciones.

Códigos de error

Estos valores de code son estables, así que puedes basar tu lógica en ellos. La mayoría aparecen junto a detail; en la verificación con wallets de Digital ID, el código es el valor de error.

Acceso y facturación

Solicitudes e idempotencia

Comprobaciones bancarias, de teléfono y de riesgo

Verificación de empresas (KYB)

Wallets de Digital ID

Informes y casos

Firmas electrónicas

Al crear una sesión, los problemas de documento siguientes llegan como valor del campo que presenta el problema, con estado 400, por ejemplo {"sign": "signature_document_changed"}:

Webhooks

Reintentos e idempotencia

Algunos errores se pueden repetir con seguridad y otros no:
  • 429: espera lo que indica el encabezado Retry-After y luego reintenta.
  • 502 y 503: reintenta con backoff cuando la referencia del endpoint indique que no se facturó nada, como ocurre con las comprobaciones de teléfono, correo electrónico, banco y riesgo.
  • 502 en POST /v3/database-validation/: revisa primero cada entrada de validation_errors, porque este código de estado por sí solo no significa un error temporal.
  • 503 en una eliminación: repite la misma solicitud hasta que devuelva 200.
  • Otros 4xx: corrige primero la solicitud, porque la misma solicitud falla de la misma forma.
POST /v3/aml/ y la verificación de wallet de Digital ID aceptan un encabezado Idempotency-Key de hasta 255 caracteres. Repetir una solicitud con la misma clave y el mismo cuerpo devuelve la respuesta almacenada, de modo que el procesamiento y el cargo se realizan una sola vez. Una solicitud con la misma clave y un cuerpo distinto devuelve 409 y, mientras la primera solicitud sigue en curso, los endpoints de wallets responden 409 con Retry-After. POST /v3/session/ no tiene clave de idempotencia, así que, si se agota el tiempo de espera al crear una sesión, consulta tus sesiones por vendor_data antes de crear otra.

Relacionado

Última modificación el 1 de noviembre de 2026