Journey Docs
Members APIWallet

Get Wallet Transactions

Get detailed paginated list of wallet transactions

GET/members/me/wallet/transactions

Overview

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

limitquerynumber

Maximum number of transactions to return (default: 20, max: 100)

offsetquerynumber

Number 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

transactionsarrayrequired

List of transaction records

array items
idstringrequired

Transaction ID (UUID)

walletIdstringrequired

Wallet ID this transaction belongs to

typestringrequired

Transaction type: "CREDIT", "DEBIT", "TRANSFER_IN", "TRANSFER_OUT"

amountnumberrequired

Transaction amount (always positive, type indicates direction)

assetTypestringrequired

Asset type: "VALID" or "CREDIT"

balanceAfternumberrequired

Wallet balance after this transaction

descriptionstringrequired

Transaction description

sourceTypestring

Source of transaction: "reservation", "offer", "transfer", "adjustment"

sourceIdstring

ID of the source entity

referenceIdstring

External reference ID (e.g., reservation confirmation code)

metadataobject

Additional transaction metadata

processedAtstringrequired

ISO 8601 timestamp when transaction was processed

createdAtstringrequired

ISO 8601 timestamp when transaction was created

statusstringrequired

Transaction status: "completed", "pending", "failed", "cancelled"

totalnumberrequired

Total number of transactions for this wallet

offsetnumberrequired

Current pagination offset

limitnumberrequired

Current pagination limit

Response

200 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

On this page