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



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

Returns the benefits the client **already bought** with their points and can still
redeem at the commerce.

It is the flip side of
[benefits they can buy](https://docs.loybox.com.ar/api-reference/clientes/beneficios-disponibles): that one
returns what their points cover, this one what is already theirs.

<Callout title="This is where the redemption code comes from">
  Each item's `client_benefit_code` is the code used to
  [look the benefit up](https://docs.loybox.com.ar/api-reference/beneficios/consultar-codigo) and to
  [redeem it](https://docs.loybox.com.ar/api-reference/beneficios/canjear). It is the number the member
  presents in the store or pastes at checkout.
</Callout>

## Parameters
<Fields>
  <Field name="client_code" type="string" location="path" required="true">
    The client's code.
  </Field>

  <Field name="used" type="boolean | null" location="query">
    Left unspecified it returns **only the redeemable ones**: unused and unexpired.
    `true` returns the already-redeemed ones and `false` the unredeemed ones, in
    both cases without filtering by expiration.
  </Field>
</Fields>

The default behavior is the one you need to operate: showing the member what they
can use today. The `used` parameter is for querying the history.

## Response
An array of
[Redeemable benefit](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
    }
  }
]
```

## Errors
| Code  | When                                                        |
| ----- | ----------------------------------------------------------- |
| `401` | The API key is invalid: it has no commerce attached.        |
| `404` | The client does not exist.                                  |
| `422` | The code is not a valid format, or `used` is not a boolean. |
