Skip to content
WorkspaceDarkLight
Contents

API reference

Enrich

Every match has a reason. Open the product

GET/v1/enrichOpen ↗

One transaction. A link, so an answer somebody disagrees with is a link they can paste into a bug report.

Query
descriptionthe bank description, exactly as the feed wrote it — store numbers, suburbs and card fragments and all, because resolving those is most of the work
amountthe amount, signed: credits positive, debits negative.
settingHow far a reading may go past the rules: strict is the rules alone; balanced, the default, adds a modelled reading where its category stays at 95% precision or better; broad, at 90%; complete gives every line a category, guessing where nothing read it, and marks each guess.

POST/v1/enrichKey

A list of transactions, up to 20,000 in one request, with the coverage of the whole list.

Query
settingHow far a reading may go past the rules: strict is the rules alone; balanced, the default, adds a modelled reading where its category stays at 95% precision or better; broad, at 90%; complete gives every line a category, guessing where nothing read it, and marks each guess.
Body
{"transactions": [{"id": "1", "date": "2026-08-02", "description": "WOOLWORTHS 1248 RICHMOND", "amount": -142.86}], "setting": "balanced"}

GET/v1/enrich/rulesOpen ↗

What the engine is made of: the categories it can assign and how many rules it holds.

GET/v1/enrich/accuracyOpen ↗

What it gets right, measured against payee lists nobody here chose, per category and per confidence band.

The detail under a category

Every reading’s category carries detail: what the line’s words settle beneath the category, or null where they settle nothing. It never changes the category.

category.detail
{
  "kind": "benefit",
  "code": "age_pension",
  "label": "Age Pension",
  "act": "Social Security Act 1991",
  "social_security_act": true,
  "matched": "AGE PENSION"
}
Field
kindbenefit on government income, conduct on a fee, lender on a repayment or a loan received.
codeBranch on it. The codes for each kind are below.
labelThe code in words.
matchedThe words in the description that settled it.
actA benefit only: the Act it is paid under, or null.
social_security_actA benefit only: whether it is a social security payment under the Social Security Act 1991, the question reg 28HB(6) asks of a small or medium loan. null where the line does not settle it.

Government payment: benefit

Each is paid under the Social Security Act 1991, so a social security payment, unless another Act is named.

codelabel
pensioner_education_supplementPensioner Education Supplement
age_pensionAge Pension
disability_support_pensionDisability Support Pension
carer_paymentCarer Payment
carer_allowanceCarer Allowance
carerCarer Payment or Carer Allowance
parenting_paymentParenting Payment
jobseeker_paymentJobSeeker Payment
youth_allowanceYouth Allowance
austudyAustudy
abstudyABSTUDY the ABSTUDY scheme, an Australian Government program with no Act of its own
special_benefitSpecial Benefit
mobility_allowanceMobility Allowance
crisis_paymentCrisis Payment
family_tax_benefitFamily Tax Benefit A New Tax System (Family Assistance) Act 1999
parental_leave_payParental Leave Pay Paid Parental Leave Act 2010
rent_assistanceRent Assistance the Social Security Act 1991 or the family assistance law, whichever payment it is paid with
veteransA Veterans’ Affairs payment Veterans’ Entitlements Act 1986, or the Military Rehabilitation and Compensation Act 2004
ndisAn NDIS payment National Disability Insurance Scheme Act 2013
centrelink_pensionA Centrelink pension, not named further
unspecifiedA government payment the line does not name Not known

Fee: conduct

codelabel
dishonourA dishonoured payment
overdrawnThe account overdrawn
late_paymentA late payment fee

A refund or reversal of one of these fees has no detail: the fee was already counted.

Lender: lender

codelabel
debt_collectorA debt collector or debt buyer
pay_advanceA pay-advance app
small_amount_lenderA lender whose products are commonly small amount credit contracts