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

# Errores

> El formato de error de la API y los códigos más comunes.

Cuando una request falla, la API responde con un código HTTP de error y un cuerpo JSON con esta
forma:

```json theme={null}
{
  "error": {
    "code": "INSUFFICIENT_SCOPE",
    "message": "Missing required scope.",
    "requestId": "req_01J8..."
  }
}
```

| Campo       | Descripción                                                               |
| ----------- | ------------------------------------------------------------------------- |
| `code`      | Código estable, legible por máquina. Úsalo para ramificar tu lógica.      |
| `message`   | Descripción legible del problema.                                         |
| `requestId` | Identificador de la request. Inclúyelo al reportar un problema a soporte. |

## Códigos comunes

| HTTP  | `code`                           | Causa                                                         |
| ----- | -------------------------------- | ------------------------------------------------------------- |
| `400` | `INVALID_REQUEST`                | Parámetro, cuerpo o cursor inválido.                          |
| `401` | `UNAUTHENTICATED`                | Falta el header `Authorization`.                              |
| `401` | `INVALID_API_KEY`                | Key inexistente o con prefijo inválido.                       |
| `401` | `KEY_EXPIRED`                    | La key venció.                                                |
| `403` | `INSUFFICIENT_SCOPE`             | La key no tiene el scope requerido.                           |
| `404` | `RESOURCE_MISSING`               | El recurso no existe en esta organización.                    |
| `404` | `NOT_FOUND`                      | La ruta no existe.                                            |
| `422` | `INVALID_FULFILLMENT_TRANSITION` | El avance de preparación no es válido desde el estado actual. |
| `422` | `ORDER_NOT_SHIPPABLE`            | Se intentó registrar guía en un pedido que no es de envío.    |
| `422` | `ORDER_CANCELLED`                | El pedido está cancelado.                                     |
| `422` | `CANNOT_CANCEL_DISPATCHED_ORDER` | No se puede cancelar un pedido ya despachado.                 |
| `501` | `NOT_IMPLEMENTED`                | La capacidad existe pero todavía no está disponible.          |
| `500` | `INTERNAL_ERROR`                 | Error inesperado del servidor.                                |

<Note>
  Maneja los errores por su `code`, no por el texto de `message`, que puede cambiar.
</Note>
