The document object
What a 200 returns. Fields are never removed or changed in meaning inside v1.
{ "id": "doc_5f2a9c4b1e77d0a3c8b6e412", "object": "document", "created": 1785372094, "issuer": { "name": "Monzo", "domain": "monzo.com" }, "currency": "GBP", "period": { "year": 2026, "month": 3 }, "accounts": [ { "type": "bank", "last4": "4412", "name": null, "period": { "year": 2026, "month": 3 }, "primary": true, "totals": { "credits": 3240.00, "debits": 2841.55 }, "statedTotals": { "credits": 3240.00, "debits": 2841.55 }, "openingBalance": 1204.11, "closingBalance": 1602.56, "transactions": [ { "date": "2026-03-04", "description": "TESCO STORES 3412", "amount": 42.10, "direction": "debit", "category": "groceries" } ] } ], "verification": { "reconciled": true, "issues": [] }, "usage": { "documents": 1 } }
Fields#
Hover or tap a field name for more detail.
idstring
Our id for this parse. Quote it in any support question.
object"document"
Always document. Present so responses are discriminable.
creatednumber
When we parsed it. Unix seconds.
issuerobject
The bank as printed, plus its domain for logo lookups.
currencystring
ISO 4217. One per document.
periodobject
The month the document covers: { year, month } with month 1-12.
accountsarray
One entry per account printed on the PDF. Usually one.
accounts[].type"bank" | "credit_card"
bank covers any deposit account: current, checking, savings.
accounts[].last4string | null
Last four of the account or card number, when it is printed.
accounts[].namestring | null
The account's own name, e.g. "360 Performance Savings".
accounts[].periodobject
The month this account's rows cover.
accounts[].primaryboolean
The account the issuer printed first. Exactly one per document.
accounts[].totalsobject
Our sum of the rows: { credits, debits }, both positive.
accounts[].statedTotalsobject | null
What the statement itself prints, exactly as printed.
accounts[].openingBalancenumber | null
Opening balance, when the issuer prints one.
accounts[].closingBalancenumber | null
Closing balance, when the issuer prints one.
transactions[].datestring
YYYY-MM-DD. The date printed against the row.
transactions[].descriptionstring
The payee line as printed. Not normalised.
transactions[].amountnumber
Always positive. direction carries the sign.
transactions[].direction"credit" | "debit"
Read from the document, never from the payee name.
transactions[].categorystring
One of a fixed set. A hint for a first cut at spending mix.
verificationobject
Our check of the extraction against the document.
verification.issuesstring[]
What did not add up. Often empty.
usageobject
What the call consumed: { documents }. Always 1 today.
Guarantees#
amountis always positive.directioncarries the sign.- Exactly one account has
primary: true. totalsalways agrees with thetransactionsin the same response.period.monthis 1-12.currencyis one ISO 4217 code for the whole document.dateisYYYY-MM-DD.
Not included#
- Scores, insights and affordability verdicts.
- Normalised merchant names or merchant ids.
descriptionis the payee line as printed. - Balances on secondary accounts. The statement prints them once, for the primary account.
- Anything about the person whose statement it is, beyond what the document prints.
Something wrong or missing on this page? [email protected]