> ## 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.

# Permisos

> Los scopes que controlan qué puede hacer cada API key.

Cada API key tiene un conjunto de **scopes**. Un scope tiene la forma `{capacidad}:{acción}`
(por ejemplo `orders:read`) y habilita un grupo de endpoints. Si la key no tiene el scope que
un endpoint requiere, la respuesta es `403` con `code` `INSUFFICIENT_SCOPE`.

## Scopes disponibles

| Scope               | Permite                                       | Endpoints                                                                    |
| ------------------- | --------------------------------------------- | ---------------------------------------------------------------------------- |
| `orders:read`       | Leer pedidos                                  | `GET /orders`, `GET /orders/{id}`                                            |
| `orders:write`      | Cancelar pedidos                              | `POST /orders/{id}/cancel`                                                   |
| `fulfillment:write` | Avanzar preparación y entrega, registrar guía | `POST /orders/{id}/fulfillment/*`, `PATCH /orders/{id}/fulfillment/tracking` |
| `invoices:write`    | Registrar la factura de un pedido             | `POST /orders/{id}/invoice`                                                  |
| `stock:read`        | Leer sucursales activas                       | `GET /stock/locations`                                                       |
| `stock:write`       | Fijar stock disponible                        | `POST /stock/levels/set`                                                     |

Asigna a cada key solo los scopes que necesita. Una integración que únicamente sincroniza stock
no debería tener scopes de pedidos.

## Verificar los scopes de una key

`GET /whoami` devuelve el arreglo `scopes` de la key en uso.

```json theme={null}
{
  "scopes": ["orders:read", "fulfillment:write"]
}
```

## Próximamente

Otras capacidades (productos, precios, promociones, envíos) todavía no están disponibles. Sus
scopes no se pueden asignar aún y sus rutas responden con `501`.
