API reference · Cards & gift cards
Gift card orders GET List your gift card orders GET /gift-card/order
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Query parameters Example Response: GenericResponseListGiftCardOrderResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/gift-card/order?page=value&size=20" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"buyerUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"totalFaceValue": 0,
"totalCharged": 0,
"status": "DRAFT",
"approvalRequired": true,
"approvedBy": "string",
"approvedDateTime": "2026-09-25T10:00:00Z",
"campaignReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"costCentre": "string",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"lineCount": 0,
"linesIssued": 0,
"linesFailed": 0,
"reclaimedAmount": 0,
"failures": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"lineNumber": 0,
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unitFaceValue": 0,
"recipientName": "Ada Okafor",
"status": "PENDING",
"failureReason": "Recipient msisdn is not valid"
}
],
"createdDateTime": "2026-09-25T10:00:00Z"
}
],
"description": "Gift card orders retrieved successfully"
} Responses Status When 200Gift card orders retrieved successfully
POST Place a bulk gift card order POST /gift-card/order
Every line is validated before any money moves. The order funds the programme's float once, then each line is issued in its own transaction - so three bad recipients in a five-thousand-line campaign report as three failures and the other 4,997 cards exist. Their value is returned to the buyer straight away rather than left in the float backing no card.
Headers Name Notes 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: CreateGiftCardOrderRequest · Response: GenericResponseGiftCardOrderResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/gift-card/order" \
-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 '{
"campaignReference": "Q4-WINBACK",
"costCentre": "MKT-204",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"lines": [
{
"lineNumber": 1,
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unitFaceValue": 10000.0,
"recipientName": {
"name": "string"
},
"recipientMsisdn": "string",
"recipientEmailAddress": "string",
"deliveryChannel": "EMAIL",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"personalMessage": "string"
}
]
}' Copy {
"campaignReference": "Q4-WINBACK",
"costCentre": "MKT-204",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"lines": [
{
"lineNumber": 1,
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unitFaceValue": 10000.0,
"recipientName": {
"name": "string"
},
"recipientMsisdn": "string",
"recipientEmailAddress": "string",
"deliveryChannel": "EMAIL",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"personalMessage": "string"
}
]
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"buyerUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"totalFaceValue": 0,
"totalCharged": 0,
"status": "DRAFT",
"approvalRequired": true,
"approvedBy": "string",
"approvedDateTime": "2026-09-25T10:00:00Z",
"campaignReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"costCentre": "string",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"lineCount": 0,
"linesIssued": 0,
"linesFailed": 0,
"reclaimedAmount": 0,
"failures": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"lineNumber": 0,
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unitFaceValue": 0,
"recipientName": "Ada Okafor",
"status": "PENDING",
"failureReason": "Recipient msisdn is not valid"
}
],
"createdDateTime": "2026-09-25T10:00:00Z"
},
"description": "Gift card order placed successfully"
} Responses Status When 200Gift card order placed successfully
DELETE Close an order and reclaim what nobody took DELETE /gift-card/order/{reference}
Returns the value of every card still unclaimed and unspent. A card somebody has claimed or part-redeemed is not reclaimable - from that point the value is theirs, whoever paid for it.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: BlockGiftCardRequest · Response: GenericResponseGiftCardOrderResponse
curl Request Response
Copy curl -X DELETE "https://api.bridgemoni.com/gift-card/order/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"
}' Copy {
"reason": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"buyerUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"totalFaceValue": 0,
"totalCharged": 0,
"status": "DRAFT",
"approvalRequired": true,
"approvedBy": "string",
"approvedDateTime": "2026-09-25T10:00:00Z",
"campaignReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"costCentre": "string",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"lineCount": 0,
"linesIssued": 0,
"linesFailed": 0,
"reclaimedAmount": 0,
"failures": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"lineNumber": 0,
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unitFaceValue": 0,
"recipientName": "Ada Okafor",
"status": "PENDING",
"failureReason": "Recipient msisdn is not valid"
}
],
"createdDateTime": "2026-09-25T10:00:00Z"
},
"description": "Gift card order closed successfully"
} Responses Status When 200Gift card order closed successfully
GET Fetch one gift card order GET /gift-card/order/{reference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseGiftCardOrderResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/gift-card/order/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"buyerUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"totalFaceValue": 0,
"totalCharged": 0,
"status": "DRAFT",
"approvalRequired": true,
"approvedBy": "string",
"approvedDateTime": "2026-09-25T10:00:00Z",
"campaignReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"costCentre": "string",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"lineCount": 0,
"linesIssued": 0,
"linesFailed": 0,
"reclaimedAmount": 0,
"failures": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"lineNumber": 0,
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unitFaceValue": 0,
"recipientName": "Ada Okafor",
"status": "PENDING",
"failureReason": "Recipient msisdn is not valid"
}
],
"createdDateTime": "2026-09-25T10:00:00Z"
},
"description": "Gift card order retrieved successfully"
} Responses Status When 200Gift card order retrieved successfully
POST Approve an order above the threshold POST /gift-card/order/{reference}/approve
Funds the order and issues its lines. The approver must be somebody other than the buyer - issuing cards nobody paid for is the insider vector this catches, and the check is explicit rather than left to a permission difference.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseGiftCardOrderResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/gift-card/order/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/approve" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"buyerUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"totalFaceValue": 0,
"totalCharged": 0,
"status": "DRAFT",
"approvalRequired": true,
"approvedBy": "string",
"approvedDateTime": "2026-09-25T10:00:00Z",
"campaignReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"costCentre": "string",
"scheduledForDateTime": "2026-09-25T10:00:00Z",
"lineCount": 0,
"linesIssued": 0,
"linesFailed": 0,
"reclaimedAmount": 0,
"failures": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"lineNumber": 0,
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unitFaceValue": 0,
"recipientName": "Ada Okafor",
"status": "PENDING",
"failureReason": "Recipient msisdn is not valid"
}
],
"createdDateTime": "2026-09-25T10:00:00Z"
},
"description": "Gift card order approved successfully"
} Responses Status When 200Gift card order approved successfully
GET Read an order's lines, issued and failed GET /gift-card/order/{reference}/line
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListGiftCardOrderLineResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/gift-card/order/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/line" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"lineNumber": 0,
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unitFaceValue": 0,
"recipientName": "Ada Okafor",
"status": "PENDING",
"failureReason": "Recipient msisdn is not valid"
}
],
"description": "Gift card order lines retrieved successfully"
} Responses Status When 200Gift card order lines retrieved successfully