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

# Errores de la API

> Interpreta estado HTTP, code, field y details sin reintentos indiscriminados.

<span id="formato" />

## Formato JSON

```json theme={null}
{"code":"invalid_format","message":"Amount must be a number.","field":"amount"}
```

`code` y `message` están en la raíz. `field` y `details` son opcionales. No existe una envoltura `error.code`. Usa `code` para decidir y no dependas de un mensaje literal o de su idioma. Un proxy puede devolver HTML u otro body: comprueba primero el estado HTTP.

```json theme={null}
{"code":"feature_not_in_plan","message":"This feature ('response_formats') requires a plan upgrade.","details":{"feature":"response_formats","current_plan":"free"}}
```

<span id="http-codes" />

## Estados HTTP

Los nombres HTTP siguientes no se traducen. Las explicaciones sí cambian con el idioma; los identificadores de la API se conservan.

<span id="comunes" />

## Causas y recuperación

<span id="e400" />

## 400 Bad Request

`missing_field`, `invalid_format`, `unknown_parameter`, `invalid_base`, `invalid_against`. Corrige la entrada; no reintentes la misma consulta.

<span id="e401" />

## 401 Unauthorized

`invalid_api_key` o `key_revoked`. Revisa la credencial del servidor.

<span id="e402" />

## 402 Payment Required

`feature_not_in_plan`: consulta `details.feature` y `details.current_plan`. Es una restricción de plan, no un fallo transitorio.

<span id="e403" />

## 403 Forbidden

`email_not_verified`, `account_inactive`, `endpoint_disabled` o `history_out_of_retention`. Resuelve la causa indicada, sin bucle de reintentos.

<span id="e404" />

## 404 Not Found

`resource_not_found`, `bank_not_found` o `bcv_snapshot_unavailable`, según el endpoint. Revisa recurso, ruta y cobertura.

<span id="e406" />

## 406 Not Acceptable

`format_not_available`: usa JSON o XML cuando el CSV no puede representar varias colecciones.

<span id="e422" />

## 422 Unprocessable Entity

`reference_unavailable`, `compared_unavailable` o `no_route` con filtro de antigüedad. No inventes un resultado; aplica tu política explícita de indisponibilidad.

<span id="e429" />

## 429 Too Many Requests

`rate_limit_exceeded`: distingue el scope `burst`, `monthly` o ausente. Sigue [cuotas y límites](/api/rate-limits).

<span id="e500" />

## 500 Internal Server Error

`internal_error`: fallo interno. Para GET, reintentos acotados con backoff y un plazo total.

<span id="e502" />

## 502 Bad Gateway

Puede proceder de una fuente o un proxy. Conserva el estado aunque el body no sea JSON; limita los reintentos de GET.

<span id="e503" />

## 503 Service Unavailable

Servicio o datos no disponibles; puede aparecer `service_unavailable`. No repitas automáticamente un POST de resultado incierto.

<span id="bugs" />

## Reportar un fallo

Incluye ruta, hora UTC, estado y `code`, sin claves ni secretos, al contactar con [soporte](mailto:support@cotizave.com). Revisa también el [estado del servicio](https://status.cotizave.com/).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.