# Errores y límites de frecuencia
Source: https://nordvec.com/es/docs/guides/errors-and-rate-limits#el-sobre-de-error

## El sobre de error [#el-sobre-de-error]

Toda respuesta que no sea 2xx es un objeto JSON:

```json
{
  "defined": false,
  "code": "TOO_MANY_REQUESTS",
  "message": "Too many requests",
  "data": { "reason": "rate_limit.exceeded", "retryAfterMs": 12000 }
}
```

* `code` es el error a nivel HTTP, por ejemplo `UNAUTHORIZED`, `FORBIDDEN`,
  `NOT_FOUND`, `BAD_REQUEST` o `TOO_MANY_REQUESTS`.
* `data.reason`, cuando está presente, es una razón más precisa legible por máquina, como
  `auth.key_not_found` o `rate_limit.exceeded`. Haz branching sobre ella en lugar de sobre
  `message`, que es para personas y puede cambiar.
* `defined` es `true` cuando la operación lista ese error en la
  [referencia de la API](/docs/api), y `false` para errores que cualquier solicitud puede encontrar
  (autenticación, límites de tasa, una ruta desconocida).
* Un fallo de validación responde `BAD_REQUEST` con los problemas en
  `data.formErrors` y `data.fieldErrors`.

Toda respuesta también lleva un `X-Request-ID`. Cítalo cuando contactes con soporte,
y podremos encontrar esa solicitud exacta.