# Beneficios comprados (https://docs.loybox.com.ar/api-reference/clientes/beneficios-comprados)



<Endpoint method="GET" path="/v1/clients/{client_code}/benefits" auth="api-key" />

Trae los beneficios que el cliente **ya compró** con sus puntos y todavía puede
canjear en el comercio.

Es la contracara de
[beneficios que puede comprar](https://docs.loybox.com.ar/api-reference/clientes/beneficios-disponibles):
ahí van los que le alcanzan con sus puntos, acá los que ya son suyos.

<Callout title="De acá sale el código de canje">
  El `client_benefit_code` de cada item es el código que se usa para
  [consultar el beneficio](https://docs.loybox.com.ar/api-reference/beneficios/consultar-codigo) y para
  [canjearlo](https://docs.loybox.com.ar/api-reference/beneficios/canjear). Es el número que el cliente
  presenta en el local o pega en el checkout.
</Callout>

## Parámetros [#parámetros]

<Fields>
  <Field name="client_code" type="string" location="path" required="true">
    El código del cliente.
  </Field>

  <Field name="used" type="boolean | null" location="query">
    Sin especificar trae **sólo los canjeables**: sin usar y sin vencer. `true`
    trae los ya canjeados y `false` los no canjeados, en ambos casos sin filtrar
    por vencimiento.
  </Field>
</Fields>

El comportamiento por defecto es el que sirve para operar: mostrarle al cliente
qué puede usar hoy. El parámetro `used` es para consultar el historial.

## Respuesta [#respuesta]

Un array de
[Beneficio canjeable](https://docs.loybox.com.ar/api-reference/objetos#beneficio-canjeable).

```bash
curl https://loybox-public-api-752998171300.southamerica-west1.run.app/v1/clients/12345/benefits \
  -H "Authorization: Bearer $LOYBOX_API_KEY"
```

```json
// 200 OK
[
  {
    "client_benefit_code": 887766,
    "issue_date": "2026-03-01T14:22:00Z",
    "due_date": "2026-04-01T14:22:00Z",
    "used": false,
    "benefit": {
      "id": "b_9f2a",
      "type": "percentage_discount",
      "description": "20% de descuento en toda la tienda",
      "cost": 250,
      "expiration": "2026-12-31T23:59:59Z",
      "benefit_type": "normal",
      "color": "#f1a10d",
      "buy_limit": 0,
      "prize": null,
      "tiendanube_coupon": null
    }
  }
]
```

## Errores [#errores]

| Código | Cuándo                                                            |
| ------ | ----------------------------------------------------------------- |
| `401`  | La API key es inválida: no tiene un comercio asociado.            |
| `404`  | El cliente no existe.                                             |
| `422`  | El código no tiene un formato válido, o `used` no es un booleano. |
