Skip to content
WorkspaceDarkLight
Contents

API reference

Statement

Follow every figure. Open the product

GET/v1/evidenceOpen ↗

Describes this API: what it takes and what it returns.

POST/v1/evidence/coverageKey

Body
{product, accounts: [{id, role, from, to}], applicationDay, selfEmployed?, refinancing?, policy?}

GET/v1/statementOpen ↗

Describes this API: what it takes and what it returns.

POST/v1/statementKey

A bank statement read: income, commitments, expenses and the signals an assessor should be told, each with the transactions behind it.

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
the CSV export as text/csv; the statement file itself as the body (a PDF, an Excel or OpenDocument workbook, OFX, QIF, MT940 or camt.053); a multipart form with the file as "file"; or JSON {statement, holders?, declaredIncome?, declaredIncomeSource?, setting?} plus any capacity field, with {file: base64, filename?, password?} in place of statement for a file. holders is the account holders’ names, comma-separated: a transfer to or from one of them under their own name is read as their own money moving. setting is strict, balanced (the default) or broad, in the body or the query; the body wins. Used for the reading and not kept.

GET/v1/statement/accuracyOpen ↗

How well the reading is measured to be: precision, coverage, recall and F1 on each test set, per category and per release.

GET/v1/statement/extractOpen ↗

The formats the extraction reads, and what it answers.

POST/v1/statement/extractKey

A statement file’s transactions and nothing else: date, description, signed amount and printed balance, with the statement’s period, its opening and closing balances and whether its own arithmetic agrees with what was read. Nothing is categorised and nothing is kept.

Body
the file itself (a PDF statement, an Excel or OpenDocument workbook, OFX, QIF, MT940, camt.053 or CSV), a multipart form with the file as "file" (and "password" for a PDF that has one), or JSON {file: base64, filename?, password?}

GET/v1/statement/sampleOpen ↗

The same for an invented statement, so a program can be built before it has anybody’s data.

Query
examplewhich invented statement: ordinary, strained
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.

GET/v1/statement/sample.csvOpen ↗

That invented statement as a bank’s CSV export, to send back to POST /v1/statement.

Query
examplewhich invented statement: ordinary, strained

GET/v1/statement/documentOpen ↗

What the standard holds, the sources it is made from and how it is sealed.

GET/v1/statement/document/schemaOpen ↗

The standard as JSON Schema, for a program that checks what it is given.

GET/v1/statement/document/sampleOpen ↗

An invented statement in the standard, sealed with the sandbox key.

Query
examplewhich invented statement: strong, steady, borrower, connection, file

POST/v1/statement/documentKey

A bank statement in Creditcrest’s standard, from whatever the data came as: a statement file, banking data in the Consumer Data Right’s shape, illion’s raw data file, or accounts in the standard’s own open input. The same JSON whichever it was, sealed; or the statement as a page with format=html.

Query
formatjson (the default) or html: the statement as its page — one of json, html
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.
categoriesfalse to leave each line untagged — one of true, false
referenceyour own reference for it, such as the application’s
Body
the statement file itself as the body (a PDF, a workbook, OFX, QIF, MT940, camt.053 or CSV), a multipart form with the file as "file", or JSON: {file: base64, filename?, password?}, {cdr: {accounts, balances, transactions, customer?}, institution?}, {illion: <raw data>}, or {source: {method, provider?}, accounts: [...]}; with reference?, categories? (true unless false) and setting? beside it

POST/v1/statement/document/verifyKey

Whether a statement is as Creditcrest made it: its shape, its fingerprint and its seal, each problem with a code. Free.

Body
the statement as JSON, or {statement}, or its page (text/html)

POST/v1/statement/document/renderKey

A statement you kept, as its page: drawn again from its JSON, with whether it checks said at the top. Free.

Body
the statement as JSON, or {statement}