---
title: "GET /reseller/codes — List my gift codes"
url: https://lumean.app/de/developers/docs/api/get-reseller-codes
locale: de
description: "List my gift codes"
generated: 2026-10-17
operationId: reseller.codes
method: GET
path: /reseller/codes
scopes: [reseller.read]
spec_version: 0.0.1
---

# GET /reseller/codes

**List my gift codes**

Codes issued by the key owner, newest first, WITH the FULL `code` value. Filters `status` and `source`; page-based pagination (`page`, `per_page` up to 100). **Key permission:** `reseller.read`.

- Benötigtes Recht: `reseller.read`

## Anfrage

```bash
curl -X GET 'https://api.lumean.app/api/public/reseller/codes' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: YOUR_API_KEY'
```

## Parameter

| Feld | In | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- | --- |
| `page` | query | `integer` — ≥ 1 | — | Page number, starting at `1`. |
| `per_page` | query | `integer` — 1..100 | — | How many records to return per page. Pagination metadata sits next to `items`: `current_page`, `last_page`, `per_page`, `total`. |
| `status` | query | `GiftCodeStatus` — `active` · `refunding` · `redeemed` · `refunded` · `cancelled` · `annulled` | — | Return only codes in this status. An unknown value returns `422`. |
| `source` | query | `GiftCodeSource` — `purchase` · `reseller` | — | Return only codes of this source: `reseller` — issued by you from your balance, `purchase` — bought by you as an ordinary buyer. An unknown value returns `422`. |

## Request-Body

Kein Body.

## Antworten

### 200 — Success. The payload is in `data`.

**Antwortfelder**

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `data` | `GiftCodeList` | Pflicht | The response payload. |
| `data.items` | `array<GiftCode>` | Pflicht | Records on the current page, in the list’s sort order. |
| `data.items[].uuid` | `string` | Pflicht | Code UUID. Use it in the `GET /reseller/codes/{uuid}` and `POST /reseller/codes/{uuid}/cancel` paths. |
| `data.items[].code_masked` | `string` | Pflicht | The code with a mask, `LUM-****-****-XXXX`: safe to show in a UI and to write to logs. |
| `data.items[].code` | `string` | — | The FULL code value — what the recipient types to redeem it. The reseller public API returns it in the list, on show and on issue. Treat it as a secret: whoever knows the code can redeem it. |
| `data.items[].nominal` | `string` | Pflicht | The code’s nominal value in minor LMC units: `real = nominal / 10^currency_asset.precision`. This is how much LMC the redeemer receives. |
| `data.items[].nominal_formatted` | `number` | Pflicht | The same nominal value in whole LMC — a number ready to display. |
| `data.items[].cost` | `string` | — | What the code cost the reseller after the discount, in minor LMC units. Present only for reseller codes (`source: reseller`). |
| `data.items[].cost_formatted` | `number` | — | The same cost in whole LMC. Present only for reseller codes. |
| `data.items[].discount_bps` | `integer` | — | The reseller’s discount at the moment of issue, in basis points (`100` = 1%). A later change of the personal discount does not affect this code. Present only for reseller codes. |
| `data.items[].source` | `string` | Pflicht |  |
| `data.items[].funding` | `string` | Pflicht |  |
| `data.items[].status` | `string` | Pflicht |  |
| `data.items[].activatable_at` | `string` | Pflicht | The moment from which the code can be redeemed; until then it is frozen. `null` means no restriction. |
| `data.items[].redeemed_at` | `string` | Pflicht | When the code was redeemed. `null` until it is. The API never reveals who redeemed it. |
| `data.items[].cancelled_at` | `string` | Pflicht | When the reseller cancelled the code. `null` if it was not cancelled. |
| `data.items[].created_at` | `string` | Pflicht | When the code was issued. |
| `data.items[].currency_asset` | `object` | Pflicht | The currency of the amounts in the response — LMC. Use `precision` to convert amounts in minor units into whole LMC. |
| `data.items[].currency_asset.code` | `string` — `LUMC` | Pflicht | Code of the asset the amounts are expressed in. |
| `data.items[].currency_asset.precision` | `integer` | Pflicht | How many decimals LMC has: `real = value / 10^precision`. |
| `data.current_page` | `integer` | Pflicht | Current page number, starting from one. |
| `data.last_page` | `integer` | Pflicht | Number of the last page. The walk is over once `current_page` equals `last_page`. |
| `data.per_page` | `integer` | Pflicht | Page size the server applied. |
| `data.total` | `integer` | Pflicht | Total number of records matching the filter. |

**Beispiel**

```json
{
  "data": {
    "items": [
      {
        "uuid": "string",
        "code_masked": "string",
        "code": "string",
        "nominal": "string",
        "nominal_formatted": 1,
        "cost": "string",
        "cost_formatted": 1,
        "discount_bps": 1,
        "source": "string",
        "funding": "string",
        "status": "string",
        "activatable_at": "string",
        "redeemed_at": "string",
        "cancelled_at": "string",
        "created_at": "string",
        "currency_asset": {
          "code": "string",
          "precision": 1
        }
      }
    ],
    "current_page": 1,
    "last_page": 1,
    "per_page": 1,
    "total": 1
  }
}
```

### 422 — Validation error. Offending fields are listed in `errors`.

**Antwortfelder**

| Feld | Typ | Pflicht | Beschreibung |
| --- | --- | --- | --- |
| `message` | `string` | Pflicht | Errors overview. |
| `errors` | `object` | Pflicht | A detailed description of each field that failed validation. |
| `errors.*` | `array<string>` — beliebige Schlüssel | — |  |

**Beispiel**

```json
{
  "message": "string",
  "errors": {}
}
```

---

- Diese Seite im Browser: https://lumean.app/de/developers/docs/api/get-reseller-codes
- Vollständige maschinenlesbare Referenz: https://api.lumean.app/docs/llm.md
