Skip to content

Wallets API

GET /v1/wallets/{customerId}/balance

Response:

{
"success": true,
"data": {
"customerId": "cust_abc123",
"balance": 1500,
"lifetimeEarned": 3000,
"lifetimeSpent": 1500
}
}
POST /v1/wallets/{customerId}/credit

Request Body:

{
"amount": 500,
"reason": "Purchase reward",
"metadata": {
"orderId": "ord_123"
}
}
FieldTypeRequiredDescription
amountnumberYesPoints to credit (positive integer)
reasonstringYesHuman-readable reason
metadataobjectNoCustom transaction data
POST /v1/wallets/{customerId}/debit

Request Body:

{
"amount": 200,
"reason": "Reward redemption"
}

Returns 400 if insufficient balance.

GET /v1/wallets/{customerId}/transactions

Query Parameters:

ParameterTypeDescription
pagenumberPage number
limitnumberItems per page
typestringFilter: credit or debit

Response:

{
"success": true,
"data": [
{
"id": "txn_abc123",
"type": "credit",
"amount": 500,
"balance": 1500,
"reason": "Purchase reward",
"metadata": {"orderId": "ord_123"},
"createdAt": "2025-01-15T10:30:00Z"
}
]
}