> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venezuelateayuda.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Errores

> Formato de errores, códigos HTTP y límites de uso.

# Errores

La API usa códigos HTTP estándar y respuestas JSON consistentes.

## Formato simple

```json theme={null}
{
  "error": "Person not found."
}
```

## Formato de validación

```json theme={null}
{
  "errors": {
    "first_name": ["Invalid input: expected string"],
    "reporter_relationship": ["Indica el parentezco con el menor."]
  }
}
```

## Códigos principales

| Código | Significado                                  |
| ------ | -------------------------------------------- |
| `400`  | Falta un parámetro de ruta requerido.        |
| `401`  | Falta la llave o la llave no es válida.      |
| `403`  | Permiso insuficiente.                        |
| `404`  | El recurso no existe o no está visible.      |
| `405`  | Método HTTP no permitido.                    |
| `409`  | Conflicto, por ejemplo cédula ya registrada. |
| `415`  | El cuerpo debe ser `application/json`.       |
| `422`  | Error de validación.                         |
| `429`  | Demasiadas solicitudes.                      |
| `503`  | El backend requerido no está disponible.     |
| `500`  | Error inesperado.                            |

Cada respuesta incluye `X-Request-ID`. Conserva ese identificador cuando
reportes un fallo para correlacionarlo con los registros del Worker y la
versión desplegada.

Si falla el Service Binding de backend, la respuesta usa el formato simple con
`503`, `Cache-Control: no-store` y `X-Request-ID`. No se intenta ejecutar la
operación contra una base de datos alternativa.

## Límites

La API aplica límites antes y después de autenticar:

* Tráfico válido: `120` solicitudes por minuto por llave de API.
* Intentos anónimos antes de validar la llave: `300` solicitudes por minuto por IP.
* Fallos de autenticación: `20` solicitudes por minuto por IP.

Cuando se excede un límite, la respuesta incluye `Retry-After`.
