Get Wallet Transactions
Get detailed paginated list of wallet transactions
/members/me/wallet/transactionsOverview
Returns a detailed, paginated list of wallet transactions including raw transaction data, debits, credits, and associated metadata.
This is a lower-level endpoint compared to activity - it shows the actual transaction records rather than user-friendly activity summaries.
Authentication
Requires a valid Clerk JWT token in the Authorization header.
Query Parameters
limitquerynumberMaximum number of transactions to return (default: 20, max: 100)
offsetquerynumberNumber of transactions to skip for pagination (default: 0)
Request
curl -X GET "http://localhost:3000/v1/members/me/wallet/transactions?limit=10&offset=0" \
-H "Authorization: Bearer YOUR_CLERK_JWT"Response
transactionsarrayrequiredList of transaction records
array items
idstringrequiredTransaction ID (UUID)
walletIdstringrequiredWallet ID this transaction belongs to
typestringrequiredTransaction type: "CREDIT", "DEBIT", "TRANSFER_IN", "TRANSFER_OUT"
amountnumberrequiredTransaction amount (always positive, type indicates direction)
assetTypestringrequiredAsset type: "VALID" or "CREDIT"
balanceAfternumberrequiredWallet balance after this transaction
descriptionstringrequiredTransaction description
sourceTypestringSource of transaction: "reservation", "offer", "transfer", "adjustment"
sourceIdstringID of the source entity
referenceIdstringExternal reference ID (e.g., reservation confirmation code)
metadataobjectAdditional transaction metadata
processedAtstringrequiredISO 8601 timestamp when transaction was processed
createdAtstringrequiredISO 8601 timestamp when transaction was created
statusstringrequiredTransaction status: "completed", "pending", "failed", "cancelled"
totalnumberrequiredTotal number of transactions for this wallet
offsetnumberrequiredCurrent pagination offset
limitnumberrequiredCurrent pagination limit
Response
{
"transactions": [
{
"id": "txn_550e8400-e29b-41d4-a716-446655440000",
"walletId": "wallet_123456",
"type": "CREDIT",
"amount": 2500,
"assetType": "VALID",
"balanceAfter": 15750,
"description": "Points earned from completed stay",
"sourceType": "reservation",
"sourceId": "12345",
"referenceId": "ABC123",
"metadata": {
"propertyId": "prop_456",
"propertyName": "Luxury Resort & Spa",
"checkInDate": "2024-04-10",
"checkOutDate": "2024-04-13",
"totalSpend": 1250.00,
"earnRate": 2.0
},
"processedAt": "2024-04-15T10:30:00Z",
"createdAt": "2024-04-15T10:30:00Z",
"status": "completed"
},
{
"id": "txn_550e8400-e29b-41d4-a716-446655440001",
"walletId": "wallet_123456",
"type": "DEBIT",
"amount": 1000,
"assetType": "VALID",
"balanceAfter": 13250,
"description": "Redemption: Suite Upgrade",
"sourceType": "offer",
"sourceId": "offer_789",
"referenceId": "RED456",
"metadata": {
"offerId": "offer_789",
"offerName": "Suite Upgrade",
"propertyId": "prop_321",
"propertyName": "Downtown Hotel",
"fulfillmentId": "fulfill_012"
},
"processedAt": "2024-04-10T14:20:00Z",
"createdAt": "2024-04-10T14:20:00Z",
"status": "completed"
},
{
"id": "txn_550e8400-e29b-41d4-a716-446655440002",
"walletId": "wallet_123456",
"type": "TRANSFER_IN",
"amount": 500,
"assetType": "VALID",
"balanceAfter": 14250,
"description": "Transfer from Jane Doe",
"sourceType": "transfer",
"sourceId": "transfer_345",
"referenceId": "TRF789",
"metadata": {
"fromMemberId": "member_678",
"fromMemberName": "Jane Doe",
"transferNote": "For your hotel points!"
},
"processedAt": "2024-04-05T09:15:00Z",
"createdAt": "2024-04-05T09:15:00Z",
"status": "completed"
},
{
"id": "txn_550e8400-e29b-41d4-a716-446655440003",
"walletId": "wallet_123456",
"type": "CREDIT",
"amount": 250,
"assetType": "CREDIT",
"balanceAfter": 13750,
"description": "Welcome bonus",
"sourceType": "adjustment",
"sourceId": "adj_890",
"referenceId": null,
"metadata": {
"adjustmentType": "welcome_bonus",
"adminUserId": "admin_123",
"reason": "New member welcome bonus"
},
"processedAt": "2024-04-01T10:00:00Z",
"createdAt": "2024-04-01T10:00:00Z",
"status": "completed"
}
],
"total": 127,
"offset": 0,
"limit": 10
}Transaction Types
CREDIT
- Direction: Money coming into the wallet
- Amount: Always positive
- Sources: Completed stays, bonuses, transfers received
- Balance: Increases wallet balance
DEBIT
- Direction: Money leaving the wallet
- Amount: Always positive (but decreases balance)
- Sources: Redemptions, transfers sent, adjustments
- Balance: Decreases wallet balance
TRANSFER_IN
- Direction: Points received from another member
- Amount: Always positive
- Sources: Member-to-member transfers
- Balance: Increases wallet balance
TRANSFER_OUT
- Direction: Points sent to another member
- Amount: Always positive (but decreases balance)
- Sources: Member-to-member transfers
- Balance: Decreases wallet balance
Metadata Examples
Different source types include different metadata:
Reservation Transactions
{
"propertyId": "prop_456",
"propertyName": "Luxury Resort & Spa",
"checkInDate": "2024-04-10",
"checkOutDate": "2024-04-13",
"totalSpend": 1250.00,
"earnRate": 2.0
}Offer Redemptions
{
"offerId": "offer_789",
"offerName": "Suite Upgrade",
"propertyId": "prop_321",
"propertyName": "Downtown Hotel",
"fulfillmentId": "fulfill_012"
}Transfers
{
"fromMemberId": "member_678",
"fromMemberName": "Jane Doe",
"transferNote": "For your hotel points!"
}Adjustments
{
"adjustmentType": "welcome_bonus",
"adminUserId": "admin_123",
"reason": "New member welcome bonus"
}Difference from Activity
Transactions vs Activity:
- Transactions: Raw financial records, technical detail
- Activity: User-friendly summaries, better UX
Use transactions for:
- Accounting/reconciliation
- Detailed financial analysis
- Debug/support purposes
Use activity for:
- Member-facing UI
- Activity feeds
- General transaction history
Related Endpoints
- Get Activity - User-friendly activity feed
- Get Balance - Current balance
- Get Wallet - Full wallet details