Submit Customer Transactions
Submit transaction data for a customer to receive enrichment and categorization.
This endpoint processes transactions asynchronously and returns a job ID for tracking progress.
Endpoint: POST https://api.walkerstdata.com.au/v1/customer/{customerId}/transactions
Transaction Data Format
Each transaction requires the following fields:
- transactionDate: Date in YYYY-MM-DD format
- amount: Positive for credits, negative for debits
- description: Transaction description as it appears on the bank statement
- balance: Account balance after the transaction
- accountName: Name of the bank account holder
- accountNumber: Bank account number
- accountType: Type of bank account (e.g., savings, checking)
- bsb: Bank-State-Branch code
- bankName: Name of the financial institution
Request
- cURL
- JavaScript
- Python
curl -X POST "https://api.walkerstdata.com.au/v1/customer/f9e8d7c6-b5a4-3210-9876-543210abcdef/transactions" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transactions": [
{
"transactionDate": "2025-11-20",
"amount": 250.00,
"description": "Office Supplies Purchase",
"balance": 2000.00
},
{
"transactionDate": "2025-11-21",
"amount": -150.00,
"description": "Vendor Payment",
"balance": 1850.00
}
],
"accountName": "John Doe Pty Ltd",
"accountNumber": "123456789",
"accountType": "savings",
"bsb": "062000",
"bankName": "CBA"
}'
const customerId = 'f9e8d7c6-b5a4-3210-9876-543210abcdef';
const response = await fetch(`https://api.walkerstdata.com.au/v1/customer/${customerId}/transactions`, {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
transactions: [
{
transactionDate: '2025-11-20',
amount: 250.00,
description: 'Office Supplies Purchase',
balance: 2000.00
},
{
transactionDate: '2025-11-21',
amount: -150.00,
description: 'Vendor Payment',
balance: 1850.00
}
],
accountName: 'John Doe Pty Ltd',
accountNumber: '123456789',
accountType: 'savings',
bsb: '062000',
bankName: 'CBA'
}),
});
const result = await response.json();
const jobId = result.data.jobId;
import requests
customer_id = 'f9e8d7c6-b5a4-3210-9876-543210abcdef'
response = requests.post(
f'https://api.walkerstdata.com.au/v1/customer/{customer_id}/transactions',
headers={
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'transactions': [
{
'transactionDate': '2025-11-20',
'amount': 250.00,
'description': 'Office Supplies Purchase',
'balance': 2000.00
},
{
'transactionDate': '2025-11-21',
'amount': -150.00,
'description': 'Vendor Payment',
'balance': 1850.00
}
],
'accountName': 'John Doe Pty Ltd',
'accountNumber': '123456789',
'accountType': 'savings',
'bsb': '062000',
'bankName': 'CBA'
}
)
result = response.json()
job_id = result['data']['jobId']
Response
{
"data": {
"jobId": "550e8400-e29b-41d4-a716-446655440000",
"status": "New",
"message": "",
"type": "Enrichment",
"totalReceivedTransactions": 2,
"totalProcessedTransactions": 0
},
"message": null
}
The jobId can be used to track the enrichment progress and retrieve results once processing is complete.
Use Cases
- Bank statement processing: Submit extracted transaction data for categorization
- Multiple transaction processing: Submit several transactions in a single request
- Financial data enrichment: Add merchant identification and spending categories
Next Steps
After submitting transactions:
- Monitor job progress: Use the
jobIdto check processing status - Retrieve enriched data: Get the enhanced transaction data once complete
- Integrate results: Use the categorized data in your application