---
title: "Redeemgiftcard"
method: POST
path: "/v2/giftcards/programs/{programId}/cards/{cardId}/redeem"
tags: ["Gift Cards"]
---

# Redeemgiftcard

`POST /v2/giftcards/programs/{programId}/cards/{cardId}/redeem`

Redeem a specified amount from an active, non-expired gift card and record a REDEMPTION transaction.

Performs an atomic balance deduction (prevents double-spend and race conditions), updates the card status to DEPLETED when balance reaches zero, and inserts a GiftCardTransaction recording the redemption.

Returns:
    RedeemResponse: Contains `transactionId`, `giftCardId`, `amountRedeemed`, `remainingBalance`, `success`, and `message`.

Idempotency Scope:
    Keys are scoped to `programId + redeem + cardId`.
    The same key may be reused for different cards or different gift card actions.

## Path parameters

- `programId` string, required
- `cardId` string, required

## Headers

- `idempotency-key` string, nullable
- `X-Eposn-Customer-Token` string, nullable
- `X-Eposn-Merchant-Token` string, nullable

## Request body

- RedeemGiftCardRequest
  - `amount` union, required
    - number
    - string
  - `posTransactionId` string, nullable
  - `cashierId` string, nullable
  - `terminalId` string, nullable
  - `description` string, nullable

## Response `200`

Successful Response

- RedeemResponse
  - `transactionId` string, required
  - `giftCardId` string, required
  - `amountRedeemed` string, required
  - `remainingBalance` string, required
  - `success` boolean, required
  - `message` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/loyalty/apis/loyaltydog.md) · [All operations](https://skmtc.net/loyalty/apis/loyaltydog/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/loyalty/loyaltydog/versions/42b7b22af2b6/schema)
