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

# Errores

> Un único formato de error, sus códigos y los motivos en las rutas de socio.

Todo error usa un mismo formato:

```json theme={null}
{
  "error": {
    "code": "conflict",
    "message": "Request conflicts with an earlier operation.",
    "correlation_id": "0af7651916cd43dd8448eb211c80319c",
    "reason": "stale_totals"
  }
}
```

* `code` es estable y legible por máquinas.
* `message` es una frase en inglés estable y segura. Nunca incluye el texto del error interno.
* `correlation_id` tiene 32 caracteres hexadecimales. Indícalo cuando nos contactes.
* `reason` (el motivo) es opcional y viene de una lista cerrada para cada operación.

## Códigos

`invalid_request`, `request_too_large`, `unauthenticated`, `not_found`, `conflict`, `unprocessable`, `operation_disabled`, `rate_limited`, `forbidden`, `dependency_unavailable`, `internal`, `deadline_exceeded`, `method_not_allowed`.

## Motivos en las rutas de socio

| Estado | Código | Motivo | Significado |
| - | - | - | - |
| 400 | `invalid_request` | ninguno | Un cuerpo mal formado: un miembro desconocido o repetido, un valor de tipo incorrecto o fuera de rango, o, en totales de vuelo, un `as_of` que no es RFC 3339 o que está más de 5 minutos adelantado respecto del reloj del servidor. |
| 400 | `invalid_request` | `invalid_grant` | El código no abre un grant para este socio, verifier y URI de redirección. Reinicia el consentimiento. |
| 403 | `forbidden` | `scope_missing` | Al grant o al token le falta el scope que atiende esta ruta. |
| 404 | `not_found` | ninguno | El grant o el certificado está revocado, es desconocido, está mal formado o es de otro socio. |
| 409 | `conflict` | `stale_totals` | El `as_of` de un envío de totales de vuelo es anterior al último envío aceptado del grant. No se aplicó nada. |
| 409 | `conflict` | `webhook_not_configured` | No hay URL de webhook, la que hay no es https, o no hay secreto registrado. Pide a MyPilotIndex que los configure. |
| 422 | `unprocessable` | `hours_rule` | Los totales, combinados con el registro del piloto, romperían sus reglas de horas. No se aplicó nada. |
| 429 | `rate_limited` | `rate_limited` | Se agotó la cuota diaria del socio. |
| 429 | `rate_limited` | `push_throttled` | El último envío aceptado de totales de vuelo del grant fue hace menos de 15 minutos. |

Otros estados que puedes encontrar: `401` para un token ausente o inválido, `405` para un método que la ruta no acepta, `413` para un cuerpo que supera el límite de la ruta, y `500`, `503` y `504` para fallas de nuestro lado. Reintenta `429` después del tiempo indicado en `Retry-After`, y `500`, `503` y `504` con una espera creciente. No reintentes `400`, `401`, `403`, `404`, `405`, `409`, `413` ni `422` sin cambios: corrige la solicitud o, en el caso de `409 stale_totals`, envía el estado actual del logbook.


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