Reports
Reports are the insight metrics Walker Street Data derives from a customer's enriched transactions. A single endpoint returns all of them together as a report bundle:
- Completeness - whether the available data is complete enough to decide on
- Risk Score - a probability-of-default signal for underwriting
- Aggregate - cashflow and behavioural summaries for affordability analysis
Each report is customer-wide: it always reflects all of the customer's enriched transactions, not a single submission. You retrieve the whole bundle in one call rather than requesting each report separately.
How reports are produced
Reports are refreshed automatically as part of transaction processing - there is no separate call to trigger them:
- Submit transactions (or a PDF). You receive a
jobId. - The job enriches the transactions, then refreshes the customer's reports over their full transaction history.
- Poll the job until it reaches
CompletedorCompletedWithErrors. - Retrieve the bundle from the reports endpoint.
Submitting more transactions later marks the existing reports stale and triggers a new refresh; the previous report stays available until the refresh finishes.
Prerequisites
- Valid
customerId- see Create a customer - Enriched transactions available for that customer - see Upload banking data
- API scope:
customer:riskscore
Endpoint
GET https://api.walkerstdata.com.au/v1/customer/{customerId}/reports
Request parameters
| Parameter | Location | Required | Description |
|---|---|---|---|
customerId | path | Yes | Unique customer identifier |
Report status
Every report in the bundle carries a status and a failed flag so you can tell what the
report reflects and whether the latest refresh succeeded.
status | Meaning | Carries data? |
|---|---|---|
pending | No report of this kind has been computed yet (the first refresh has not finished). | No |
ready | The report reflects all available transactions. | Yes |
stale | A report exists, but new transactions have arrived since it was computed. | Yes (last good) |
failed is a flag, not a status. It is true when the most recent compute/refresh attempt
errored:
- on a
pendingreport - the first computation failed and there is still no data - on a
stalereport - a refresh failed, and the last good report is still returned
A ready report is never failed. When data is present it is accompanied by generatedAt,
the timestamp the report was computed.
Response shape
The bundle has one envelope per report kind. Each envelope has status, failed,
generatedAt, and data. See the linked pages for the fields inside each data payload -
Completeness, Risk Score, and Aggregate.
Handling the bundle
- Check each report's
statusbefore reading itsdata. Apendingreport has nodata. - A
stalereport is safe to use, but a fresher one is being computed - poll the job again if you need the latest. - Treat
failedas a signal to retry or escalate; the accompanyingdata(if any) is the last successfully computed report.
Common errors
| Status | Cause |
|---|---|
403 | Missing API scope customer:riskscore |
Next steps
- Completeness - Confirm the data is complete enough to decide on
- Aggregate - Review cashflow and affordability summaries
- Risk Score - Read the probability-of-default signal
- API Reference - Full endpoint schema and parameter details