Skip to main content

Classify transactions

Already have structured transaction data? Submit your customer's bank transactions for classification and enrichment.

What You Need

  • Customer ID see Create a Customer
  • Structured transaction data with date, amount, description, and balance
  • Account details: Account name, number, BSB, bank name, account type
  • At least one transaction to process

Submit Your Transactions

curl -X POST "https://api.walkerstdata.com.au/v1/customer/{customerId}/transactions" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transactions": [
{
"transactionDate": "2025-04-09",
"amount": 13167,
"description": "Direct Credit 158824 ARNOTT'S BISCUIT",
"balance": 33155.05
},
{
"transactionDate": "2025-04-09",
"amount": -98675.26,
"description": "Multiple Transfer NetBank Batch Payment",
"balance": 19479.79
}
],
"accountName": "ACME Business Pty Ltd",
"accountNumber": "12345678",
"accountType": "Business Transaction Account",
"bsb": "062001",
"bankName": "Commonwealth Bank of Australia"
}'

You'll get back a jobId to track the classification progress.

What Happens Next

Walker Street Data automatically:

  1. Identifies the bank and account
  2. Enriches the transactions by adding further detail and classifications

Check Classification Status

curl -X GET "https://api.walkerstdata.com.au/v1/jobs/{jobId}/status" \
-H "x-api-key: YOUR_API_KEY"

Wait for status to show Completed.

Get Your Classified Transaction Data

Once classification is complete, retrieve your classified transactions:

curl -X GET "https://api.walkerstdata.com.au/v1/customer/{customerId}/transactions?jobId={jobId}" \
-H "x-api-key: YOUR_API_KEY"

What You Get

Each enriched transaction includes:

  • Original data: Date, amount, description, balance (preserved exactly)
  • Unique identifiers: Transaction ID, job ID, customer ID
  • Account context: Bank name, BSB, account number, account type, account name
  • Business identifiers: ABN (Australian Business Number) when available
  • Hierarchical categorization: 3-level classification system
    • Level 1: Broad categories (e.g., "expenses", "sales")
    • Level 2: Specific categories (e.g., "office_expenses", "credit_sales_eftpos")
    • Level 3: The receiving or originating entity involved in the transaction
  • Confidence scores: Probability scores for each classification level
  • ML predictions: Detailed model predictions and probabilities for all categories
  • Enrichment status: Whether full enrichment was attempted

Example Response

{
"data": {
"transactions": [
{
"transactionDate": "2025-01-15",
"amount": -125.5,
"description": "WOOLWORTHS 1234",
"balance": 1500.0,
"transactionId": "262b22a7-e9ea-4093-8f46-ce33b9101ca2",
"jobId": "34e1bbd4-36be-4d95-9351-a047eed5bf97",
"abn": "43008496928",
"customerId": "524ba9bc-06e7-417e-bd54-b99785f5194a",
"clientId": "a0ced7e1-da3a-40ea-a18f-4c829f816c6a",
"level1": "expenses",
"level1_probability": "0.99",
"level2": "office_expenses",
"level2_probability": "0.87",
"level3": "groceries",
"level3_probability": "0.92",
"predictions": "[{\"Level\":\"level1\",\"ModelId\":\"cr\",\"OverrideId\":null,\"Prediction\":\"expenses\",\"Probability\":0.9934567890123456,\"Probabilities\":{\"misc\":0.000234567890123456,\"other\":0.002345678901234567,\"sales\":0.001234567890123456,\"expenses\":0.9934567890123456,\"capital\":0.000123456789012345,\"personal\":0.000012345678901234}},{\"Level\":\"level2\",\"ModelId\":\"exp_office\",\"OverrideId\":null,\"Prediction\":\"office_expenses\",\"Probability\":0.8765432109876543,\"Probabilities\":{\"groceries\":0.8765432109876543,\"supplies\":0.1123456789012345,\"other_office\":0.0111111101111111}}]",
"fullEnrichmentAttempted": true,
"bankName": "Commonwealth Bank",
"bsb": "062-000",
"accountNumber": "123456789",
"accountType": "Business Account",
"accountName": "Demo Business Pty Ltd"
}
]
}
}