Get Customer Transactions
Retrieve transaction data for a specific customer, including enriched results from completed processing jobs.
Endpoint: GET https://api.walkerstdata.com.au/v1/customer/{customerId}/transactions
Query Parameters
jobId(optional): Retrieve transactions from a specific enrichment jobisEnriched(optional): Filter by enrichment status (true/false)page(optional): Page number for pagination (1-indexed, must be >= 1, default: 1)count(optional): Number of transactions per page (must be >= 1, default: 20)
Request
- cURL
- JavaScript
- Python
# Get all transactions for a customer
curl -X GET "https://api.walkerstdata.com.au/v1/customer/f9e8d7c6-b5a4-3210-9876-543210abcdef/transactions" \
-H "x-api-key: YOUR_API_KEY"
# Get transactions from a specific job
curl -X GET "https://api.walkerstdata.com.au/v1/customer/f9e8d7c6-b5a4-3210-9876-543210abcdef/transactions?jobId=550e8400-e29b-41d4-a716-446655440000" \
-H "x-api-key: YOUR_API_KEY"
# Get only enriched transactions
curl -X GET "https://api.walkerstdata.com.au/v1/customer/f9e8d7c6-b5a4-3210-9876-543210abcdef/transactions?isEnriched=true" \
-H "x-api-key: YOUR_API_KEY"
# Get paginated results
curl -X GET "https://api.walkerstdata.com.au/v1/customer/f9e8d7c6-b5a4-3210-9876-543210abcdef/transactions?page=2&count=10" \
-H "x-api-key: YOUR_API_KEY"
const customerId = 'f9e8d7c6-b5a4-3210-9876-543210abcdef';
// Get all transactions for a customer
const response = await fetch(`https://api.walkerstdata.com.au/v1/customer/${customerId}/transactions`, {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY',
},
});
// Get transactions from a specific job
const jobId = '550e8400-e29b-41d4-a716-446655440000';
const jobResponse = await fetch(`https://api.walkerstdata.com.au/v1/customer/${customerId}/transactions?jobId=${jobId}`, {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY',
},
});
// Get only enriched transactions
const enrichedResponse = await fetch(`https://api.walkerstdata.com.au/v1/customer/${customerId}/transactions?isEnriched=true`, {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY',
},
});
// Get paginated results
const paginatedResponse = await fetch(`https://api.walkerstdata.com.au/v1/customer/${customerId}/transactions?page=2&count=10`, {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY',
},
});
const result = await response.json();
const transactions = result.data.transactions;
import requests
customer_id = 'f9e8d7c6-b5a4-3210-9876-543210abcdef'
# Get all transactions for a customer
response = requests.get(
f'https://api.walkerstdata.com.au/v1/customer/{customer_id}/transactions',
headers={'x-api-key': 'YOUR_API_KEY'}
)
# Get transactions from a specific job
job_id = '550e8400-e29b-41d4-a716-446655440000'
job_response = requests.get(
f'https://api.walkerstdata.com.au/v1/customer/{customer_id}/transactions',
headers={'x-api-key': 'YOUR_API_KEY'},
params={'jobId': job_id}
)
# Get only enriched transactions
enriched_response = requests.get(
f'https://api.walkerstdata.com.au/v1/customer/{customer_id}/transactions',
headers={'x-api-key': 'YOUR_API_KEY'},
params={'isEnriched': 'true'}
)
# Get paginated results
paginated_response = requests.get(
f'https://api.walkerstdata.com.au/v1/customer/{customer_id}/transactions',
headers={'x-api-key': 'YOUR_API_KEY'},
params={'page': 2, 'count': 10}
)
result = response.json()
transactions = result['data']['transactions']
Response
{
"data": {
"transactions": [
{
"transactionDate": "2025-10-12",
"amount": 2500.0,
"description": "Mock Payment - ACME Corp",
"balance": 2500.0,
"transactionId": "de9e9dba-16e0-4710-9d7b-fe22a72c1a01",
"jobId": "550e8400-e29b-41d4-a716-446655440000",
"abn": "12345678901",
"customerId": "f9e8d7c6-b5a4-3210-9876-543210abcdef",
"clientId": "98765432108",
"level1": "Sales",
"level2": "Eftpos",
"level3": "originator_other",
"predictions": "[{\"Level\": \"level1\", \"ModelId\": \"mock_model_v1\", \"Prediction\": \"Sales\", \"Probability\": \"0.85\"}]",
"fullEnrichmentAttempted": true,
"bankName": "CBA",
"accountType": "Business Transaction Account",
"bsb": "062000",
"accountNumber": "12345678",
"accountName": "ExampleCo Pty Ltd"
}
],
"totalCount": 6,
"currentPage": 1,
"pageSize": 20,
"totalPages": 1
},
"message": null
}
Enriched Transaction Fields
When transactions have been processed through Cypher, they include additional enrichment data:
- level1, level2, level3: Additional transaction categories to help you understand the customer's finances
- predictions: Detailed prediction data with confidence scores
- fullEnrichmentAttempted: Indicates if complete enrichment was performed
- transactionId: Unique identifier for the transaction
- jobId: Reference to the processing job that enriched this transaction
Pagination
The response includes pagination metadata:
- totalCount: Total number of transactions across all pages
- currentPage: Current page number (null if pagination not used)
- pageSize: Number of results per page (default: 20)
- totalPages: Total number of pages available
Use Cases
- Retrieve processed results: Get enriched transaction data after job completion
- Job-specific queries: Fetch transactions from a particular processing batch
- Status filtering: Separate enriched from non-enriched transaction data
Next Steps
With retrieved transaction data, you can:
- Analyze spending patterns: Use the categorized data for insights
- Generate reports: Create financial summaries and dashboards
- Export data: Integrate enriched transactions into credit assessment processes