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

# Redeem Fluz Gift Card

The `redeemFluzGiftCard` mutation allows you to redeem a Fluz Gift Card to the authenticated user’s account using the gift card code.

Successful redemption credits the user’s **gift card balance** (`giftCardCashBalance`).

This mutation requires the `MAKE_DEPOSIT` scope.

***

### Arguments

* **`input`** (`RedeemFluzGiftCardInput!`): The input object containing the idempotency key and gift card code.

***

### RedeemFluzGiftCardInput Fields

| Field            | Type      | Description                                                                    | Required |
| ---------------- | --------- | ------------------------------------------------------------------------------ | -------- |
| `idempotencyKey` | `UUID!`   | Unique client-generated key to ensure the request is processed only once.      | Yes      |
| `code`           | `String!` | The Fluz Gift Card code. Leading/trailing whitespace is automatically trimmed. | Yes      |

***

### Response

Returns a `DepositCashBalanceResponse`, including:

* **`cashBalanceDeposits`** — Deposit records created for this redemption
* **`balances`** — Updated user balances after redemption

> The redeemed value is credited to `balances.giftCardCashBalance` (not `cashBalance`).

***

### Sample Mutation

```graphql theme={null}
mutation RedeemGC($input: RedeemFluzGiftCardInput!) {
  redeemFluzGiftCard(input: $input) {
    cashBalanceDeposits {
      cashBalanceDepositId
      depositDisplayId
      depositAmount
      depositFee
      status
      cashBalanceDepositType
      transactionDate
      clearedDate
      cashBalanceSettlements {
        cashBalanceSettlementId
        availabilityType
        status
      }
    }
    balances {
      cashBalance {
        availableBalance
        totalBalance
        pendingBalance
        lifetimeBalance
      }
      giftCardCashBalance {
        availableBalance
        totalBalance
        lifetimeBalance
      }
      rewardsBalance {
        availableBalance
        totalBalance
        lifetimeBalance
      }
    }
  }
}
```

***

### Variables

```json theme={null}
{
  "input": {
    "idempotencyKey": "ee940ccc-2d24-4e1f-8c81-1a3a8b59fa01",
    "code": "FLUZ-GC-CODE-EXAMPLE"
  }
}
```

***

### cURL Example

```bash theme={null}
curl -X POST \
  https://transactional-graph-service.fluzapp.com/api/v1/graphql \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_USER_ACCESS_TOKEN' \
  -d '{
    "query": "mutation RedeemGC($input: RedeemFluzGiftCardInput!) { redeemFluzGiftCard(input: $input) { cashBalanceDeposits { cashBalanceDepositId depositDisplayId depositAmount depositFee status cashBalanceDepositType transactionDate clearedDate cashBalanceSettlements { cashBalanceSettlementId availabilityType status } } balances { cashBalance { availableBalance totalBalance pendingBalance lifetimeBalance } giftCardCashBalance { availableBalance totalBalance lifetimeBalance } rewardsBalance { availableBalance totalBalance lifetimeBalance } } } }",
    "variables": {
      "input": {
        "idempotencyKey": "ee940ccc-2d24-4e1f-8c81-1a3a8b59fa01",
        "code": "FLUZ-GC-CODE-EXAMPLE"
      }
    }
  }'
```

***

### Behavior

* **Balance destination** — Funds are credited to `giftCardCashBalance`.
* **Idempotency** — Duplicate requests with the same `idempotencyKey` are rejected while in-flight.
* **Whitespace handling** — Leading/trailing spaces in `code` are trimmed automatically.
* **Fees** — Any activation fee is reflected in `depositFee`.
* **Settlement** — Redemptions are **instant** (`INSTANT`, `AVAILABLE`).

***

### Errors

| Code       | Description                                                  |
| ---------- | ------------------------------------------------------------ |
| `ARG-XXXX` | Missing or invalid `idempotencyKey` or `code`.               |
| `GC-0003`  | Invalid, inactive, or already redeemed gift card.            |
| `G-0409`   | Duplicate request in progress for the same `idempotencyKey`. |
| `G-0004`   | General failure (e.g., feature access, internal error).      |
