# Errores

Los errores de Extract.FAST se identifican por código. Usa el estado HTTP y el código estable `error`, no el texto en inglés.

## Forma

```json
{
  "error": "request.invalid_extension",
  "detail": "Extraction does not support '.xyz'.",
  "isRetryable": false,
  "params": {
    "extension": ".xyz"
  }
}
```

## Códigos de estado comunes

| Estado | Significado |
| --- | --- |
| `400` | Solicitud, opciones, flujo o tipo de contenido no válido. |
| `401` | Falta la clave de API o no es válida. |
| `402` | No hay créditos suficientes o falta acceso del plan. |
| `403` | Se requiere plan Pro para trabajos de API, o el recurso está prohibido. |
| `404` | Trabajo o ruta no encontrados. |
| `413` | El archivo supera el límite del plan actual. |
| `415` | Extensión no admitida o discrepancia con el tipo de archivo detectado. |
| `422` | El archivo no pudo analizarse o procesarse de forma segura. |
| `429` | Se alcanzó el límite de uso o la capacidad de cola. |
| `503` | Proveedor o cola temporalmente no disponible. |

## Guía de reintentos

Reintenta `429` y `503` con esperas progresivas. Reintenta errores `422` de procesamiento de archivo solo cuando `isRetryable` sea true. No reintentes opciones mal formadas ni formatos no admitidos sin cambiar la solicitud.

## Plan Pro requerido

Las rutas públicas protegidas de trabajos de API devuelven `403 api_key.pro_required` cuando la clave pertenece a una cuenta gratuita o no Pro.

```json
{
  "error": "api_key.pro_required",
  "detail": "Pro access is required to use public API job endpoints."
}
```

## Fallos de facturación

Cuando un trabajo falla después del cobro, el reembolso es automático cuando el estado de facturación lo permite. Los clientes de API no deben enviar trabajos duplicados de reemplazo hasta revisar la respuesta del trabajo fallido y los derechos actuales de la cuenta.
