La API responde en español o inglés. El idioma afecta únicamente al texto destinado a personas; los identificadores del contrato no cambian nunca.

El español es el idioma por omisión.

Negociación

Una integración fija el idioma con la cabecera estándar:

Accept-Language: en

La cabecera tiene prioridad sobre cualquier otra señal. Si no viene, la resolución continúa por la preferencia guardada en la cuenta y, en última instancia, por el idioma por omisión. Un valor no admitido no produce error: la petición se atiende en español.

Qué se traduce y qué no

elementose traduce
detail de un error
Descripciones y títulos de la documentación
code de un errorNo. Es el contrato
Nombres de campo (clave_rastreo, created_at)No
Valores de enum (not_found, auto_disabled)No
Identificadores, importes y fechasNo

La regla práctica: si un valor se compara en código, no se traduce; si se muestra a una persona, sí. Por eso la ramificación se hace sobre code y nunca sobre detail, como detalla el contrato de errores.

Cobertura de la traducción

No todos los códigos de error tienen aún su texto traducido. Cuando falta, la respuesta devuelve el texto original en lugar de un hueco: el detail sigue siendo legible, pero puede llegar en el idioma en que se escribió. El code no se ve afectado, así que una integración que ramifica correctamente no nota la diferencia.

Documentación

Las páginas de referencia existen en los dos idiomas y comparten identificador. Cambiar de idioma en la documentación no cambia el contenido del contrato: los nombres de campo, los valores de enum y los códigos de error se leen igual en ambas.