API reference · Cards & gift cards

Gift cards

Your own programmes, bulk corporate orders, signed-QR redemption. About gift cards Live

GET List your gift cards

GET /gift-card

Cards you bought and cards you hold, in one list. Codes are masked. Issued, sourced and external cards appear together because that is what a holder means by 'my gift cards'.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Query parameters

NameDefault
statusOptional
page0
size20

Example

Response: GenericResponseGiftCardPageResponse

curl -X GET "https://api.bridgemoni.com/gift-card?page=value&size=20" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Gift cards retrieved successfully

POST Buy a gift card

POST /gift-card

Moves the face value from your wallet into the programme's float in one posting, so a card is never created against a debit that then fails on fees. The code and PIN are not in this response - read them back once through the reveal endpoint, or let delivery send them to the recipient.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Idempotency-KeyReuse the same value on every retry of this request
Content-Typeapplication/json

Example

Request body: IssueGiftCardRequest · Response: GenericResponseGiftCardResponse

curl -X POST "https://api.bridgemoni.com/gift-card" \
  -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 '{
  "productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "amount": 5000.0,
  "formFactor": "DIGITAL",
  "designReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "recipientName": {
    "name": "string"
  },
  "recipientMsisdn": "string",
  "recipientEmailAddress": "string",
  "personalMessage": "string",
  "scheduledForDateTime": "2026-09-25T10:00:00Z",
  "pin": "string",
  "campaignReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}'

Responses

StatusWhen
200Gift card issued successfully

POST Check a gift card balance

POST /gift-card/balance

Needs the code and PIN, and no account. A wrong code and a wrong PIN answer identically and take the same time, because any difference between them is an oracle that tells an attacker which codes are worth trying again.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Example

Request body: GiftCardBalanceRequest · Response: GenericResponseGiftCardBalanceResponse

curl -X POST "https://api.bridgemoni.com/gift-card/balance" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "GC4K-2M8P-QR7T-VW3X-ZA41",
  "pin": "string"
}'

Responses

StatusWhen
200Gift card balance retrieved successfully

POST Claim a gift card into your wallet

POST /gift-card/claim

Binds a bearer card to you. A card already claimed by somebody else is refused and the attempt is recorded - that pattern is what a leaked code looks like.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Example

Request body: ClaimGiftCardRequest · Response: GenericResponseGiftCardResponse

curl -X POST "https://api.bridgemoni.com/gift-card/claim" \
  -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"
}'

Responses

StatusWhen
200Gift card claimed successfully

DELETE Cancel a gift card

DELETE /gift-card/{reference}

Terminal. Any unspent value returns to whoever paid for the card, and the row is kept for audit rather than removed.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: BlockGiftCardRequest · Response: GenericResponseGiftCardResponse

curl -X DELETE "https://api.bridgemoni.com/gift-card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200Gift card cancelled successfully

GET Fetch one of your gift cards

GET /gift-card/{reference}

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseGiftCardResponse

curl -X GET "https://api.bridgemoni.com/gift-card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Gift card retrieved successfully

POST Freeze a gift card

POST /gift-card/{reference}/freeze

Stops redemption without releasing the value. Reversible - unfreezing restores the status the card held before, which for a part-spent card is PARTIALLY_REDEEMED rather than ACTIVE.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: BlockGiftCardRequest · Response: GenericResponseGiftCardResponse

curl -X POST "https://api.bridgemoni.com/gift-card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/freeze" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200Gift card frozen successfully

POST Add value to a gift card

POST /gift-card/{reference}/reload

Only where the programme permits it. Adding value restarts the card's life, because statutory minimums run from the later of issuance and the last load.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Idempotency-KeyReuse the same value on every retry of this request
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: ReloadGiftCardRequest · Response: GenericResponseGiftCardResponse

curl -X POST "https://api.bridgemoni.com/gift-card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/reload" \
  -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 '{
  "amount": 0
}'

Responses

StatusWhen
200Gift card reloaded successfully

POST Replace a lost gift card

POST /gift-card/{reference}/replace

Issues a new card carrying the remaining balance and kills the old code immediately. No money moves - the value never left the float.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: BlockGiftCardRequest · Response: GenericResponseGiftCardResponse

curl -X POST "https://api.bridgemoni.com/gift-card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/replace" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200Gift card replaced successfully

POST Reveal a gift card code

POST /gift-card/{reference}/reveal

Shown once and never again. The code appears in this response only - never in a log, an event or a webhook. A second call is refused and returns the masked form.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseGiftCardRevealResponse

curl -X POST "https://api.bridgemoni.com/gift-card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/reveal" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Gift card code revealed

POST Unfreeze a gift card

POST /gift-card/{reference}/unfreeze

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseGiftCardResponse

curl -X POST "https://api.bridgemoni.com/gift-card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/unfreeze" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Gift card unfrozen successfully

Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors