Upload banking data
Submit transactions for processing which will provide the foundations for our evaluation of your customer. These can be in the form of structured JSON data you already hold, or a PDF bank statement Walker Street Data extracts the transactions from.
- Submit transactions as JSON - if you already have transaction data
- Upload a PDF bank statement - if all you have is a statement, and Walker Street Data extracts the transactions for you
Both methods return a jobId, and every transaction is enriched automatically once processing completes.
Before you start
You'll need:
- A Customer ID - see Create a customer
- An API key with the right scope:
transactions:enrichto submit JSON,transactions:extractto upload PDFs (see Authentication)
Duplicate detection and retries
Duplicate detection applies to every submission, whether you submit JSON or upload a PDF. A transaction is a duplicate if the same customer and account (BSB + account number) already has a transaction with the same date, amount, balance, and description (differences in whitespace are ignored). Duplicates are not stored twice - the existing transaction is linked to your new job instead, and the job's totalDuplicateTransactions count tells you how many were detected.
This makes retries safe: if a submission times out or you're unsure it was received, resubmit the same batch or re-upload the same PDF. Already-received transactions are absorbed as duplicates rather than double-counted, and a job whose transactions are all duplicates still completes normally.
Two things to note:
- When submitting JSON,
transactionIdis not part of duplicate detection. Two transactions with differenttransactionIdvalues but identical date, amount, balance, and description on the same account are treated as duplicates of each other. If your data legitimately contains identical same-day transactions (e.g. two identical card payments), make them distinguishable - most bank feeds already do via the description. - Account details are part of the match, exactly as submitted. If you resubmit the same transactions with the BSB or account number written differently (for example
062-001vs062001), they won't be recognised as duplicates, and the customer's history will contain every transaction twice. Keep account identifiers formatted consistently across submissions.
Check status
Whichever method you used, you'll get back a jobId to track progress. Enrichment runs in the background - poll the job until it reaches a terminal status of Completed, CompletedWithErrors, or Failed. Don't poll for Completed alone: a job that finishes as CompletedWithErrors still has usable results, and a Failed job will never reach Completed.
- cURL
- JavaScript
curl -X GET "https://api.walkerstdata.com.au/v1/jobs/{jobId}/status" \
-H "x-api-key: YOUR_API_KEY"
const jobId = 'your-job-id';
const response = await fetch(`https://api.walkerstdata.com.au/v1/jobs/${jobId}/status`, {
method: 'GET',
headers: {
'x-api-key': 'YOUR_API_KEY',
}
});
const result = await response.json();
console.log('Status:', result.data.status);
See Jobs for the full list of statuses and how to track a job (including webhooks, which save you from polling).
Next steps
- Submit transactions as JSON - Send structured transaction data you already hold
- Upload a PDF bank statement - Let Walker Street Data extract the transactions from a statement
- Enriched transactions - See how your submitted transactions are classified and how to retrieve the enriched response