Gift card redemption
- POST
/gift-card/redeemRedeem a gift card - POST
/gift-card/redemption/{reference}/reverseReverse a redemption - POST
/gift-card/verifyCheck whether a gift card can be redeemed
POST Redeem a gift card
POST /gift-card/redeem
Draws the amount down under a row lock and credits your wallet. Every refusal is recorded before the request fails, so a declined card leaves the same trail as an accepted one.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Idempotency-Key | Reuse the same value on every retry of this request |
Content-Type | application/json |
Example
Request body: RedeemGiftCardRequest · Response: GenericResponseGiftCardRedemptionResponse
curl -X POST "https://api.bridgemoni.com/gift-card/redeem" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"code": "string",
"pin": "string",
"amount": 1500.0,
"redemptionChannel": "ONLINE_TERMINAL",
"terminalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"merchantOrderReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}' {
"code": "string",
"pin": "string",
"amount": 1500.0,
"redemptionChannel": "ONLINE_TERMINAL",
"terminalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"merchantOrderReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
} {
"data": {
"redemptionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"maskedCode": "string",
"amount": 0,
"balanceAfter": 0,
"currencyCode": "string",
"status": "INACTIVE",
"outcome": "ALLOWED",
"redeemedDateTime": "2026-09-25T10:00:00Z",
"financialTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"creditedAmount": 0,
"creditedAccountNumber": "string"
},
"description": "Gift card redeemed successfully"
} Responses
| Status | When |
|---|---|
200 | Gift card redeemed successfully |
POST Reverse a redemption
POST /gift-card/redemption/{reference}/reverse
Puts the value back on the card. Only while the redemption is unsettled.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Path parameters
| Name |
|---|
reference |
Example
Request body: BlockGiftCardRequest · Response: GenericResponseGiftCardRedemptionResponse
curl -X POST "https://api.bridgemoni.com/gift-card/redemption/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/reverse" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"reason": "string"
}' {
"reason": "string"
} {
"data": {
"redemptionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"cardReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"maskedCode": "string",
"amount": 0,
"balanceAfter": 0,
"currencyCode": "string",
"status": "INACTIVE",
"outcome": "ALLOWED",
"redeemedDateTime": "2026-09-25T10:00:00Z",
"financialTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"creditedAmount": 0,
"creditedAccountNumber": "string"
},
"description": "Gift card redemption reversed successfully"
} Responses
| Status | When |
|---|---|
200 | Gift card redemption reversed successfully |
POST Check whether a gift card can be redeemed
POST /gift-card/verify
Advisory. It takes no lock, moves no money and reserves nothing - the balance can change between this call and the redemption, and redeem re-checks everything. Treating the answer as a hold is the mistake this description exists to prevent.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Example
Request body: RedeemGiftCardRequest · Response: GenericResponseGiftCardVerificationResponse
curl -X POST "https://api.bridgemoni.com/gift-card/verify" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"code": "string",
"pin": "string",
"amount": 1500.0,
"redemptionChannel": "ONLINE_TERMINAL",
"terminalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"merchantOrderReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}' {
"code": "string",
"pin": "string",
"amount": 1500.0,
"redemptionChannel": "ONLINE_TERMINAL",
"terminalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"merchantOrderReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
} {
"data": {
"maskedCode": "string",
"brandName": "string",
"redeemable": true,
"rejectionReason": "NOT_FOUND",
"availableAmount": 0,
"requestedAmount": 0,
"shortfall": 0,
"currencyCode": "string",
"status": "INACTIVE",
"expiryDateTime": "2026-09-25T10:00:00Z",
"partialRedemptionPermitted": true
},
"description": "Gift card verified successfully"
} Responses
| Status | When |
|---|---|
200 | Gift card verified successfully |
Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors