Skip to content

Bank against books: what the loaded statements say a cash account held, and what the ledger says

GET
/v1/entities/{entity_id}/reconciliation
curl --request GET \
--url 'https://example.com/v1/entities/example/reconciliation?as_of=example'

Compare statement and ledger balances at any date, not only where the bank printed a balance.

Balances are always cumulative to as_of. from narrows only the coverage answer (“which days of the period I am looking at have no statement loaded”). A balance is not a period figure, so from never changes it.

entity_id
required
Entity Id

The entity this path is relative to

string

The entity this path is relative to

as_of
required
As Of

The date to compare at (YYYY-MM-DD)

string

The date to compare at (YYYY-MM-DD)

from
Any of:
string

Start of the period whose statement coverage is reported; defaults to the first of as_of’s month

Successful Response

Media typeapplication/json
Reconciliation
object
entity_id
required
Entity Id
string
legal_name
required
Legal Name
string
base_currency
required
Base Currency
string
snapshot_seq
required
Snapshot Seq
integer
as_of
required
As Of
string
start
required
Start
string
agrees
required
Agrees
boolean
explained
required
Explained
boolean
accounts
required
Accounts
Array<object>
ReconciliationAccount

One cash account and commodity at one date, from both sides.

statement_micros is the loaded statements’ own arithmetic: the earliest declared opening plus every line up to as_of. asserted_micros is a closing balance the bank actually printed for that exact date, when there is one, reported beside the derived figure rather than instead of it. null anywhere means “not knowable here”, never zero.

agrees and explained answer different questions. A statement can balance to the penny with every line unclassified, so the count of unexplained lines is reported beside the difference, not folded into it.

object
account_id
required
Account Id
string
account_path
required
Account Path
string
commodity
required
Commodity
string
as_of
required
As Of
string
statement_micros
required
Any of:
string
ledger_micros
required
Any of:
string
asserted_micros
required
Any of:
string
difference_micros
required
Any of:
string
agrees
required
Agrees
boolean
statement_ids
required
Statement Ids
Array<string>
line_count
required
Line Count
integer
unexplained_lines
required
Unexplained Lines
integer
unexplained_micros
required
Any of:
string
explained
required
Explained

Every loaded line through as_of has a live explanation

boolean
uncovered
required
Uncovered

Days of the period no loaded statement covers

Array<object>
ReconciliationGap
object
start
required
Start
string
end
required
End
string
links
required
Links
object
key
additional properties
string

Example generated

{
"entity_id": "example",
"legal_name": "example",
"base_currency": "example",
"snapshot_seq": 1,
"as_of": "example",
"start": "example",
"agrees": true,
"explained": true,
"accounts": [
{
"account_id": "example",
"account_path": "example",
"commodity": "example",
"as_of": "example",
"statement_micros": "example",
"ledger_micros": "example",
"asserted_micros": "example",
"difference_micros": "example",
"agrees": true,
"statement_ids": [
"example"
],
"line_count": 1,
"unexplained_lines": 1,
"unexplained_micros": "example",
"explained": true,
"uncovered": [
{
"start": "example",
"end": "example"
}
]
}
],
"links": {
"additionalProperty": "example"
}
}

Bad Request

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Unauthorized

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Forbidden

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Not Found

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Conflict

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Precondition Failed

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Unprocessable Content

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Internal Server Error

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Service Unavailable

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}