API reference · Pricing, reporting & reconciliation

Reconciliation breaks

POST Assign a break to somebody

POST /reconciliation/break/{reference}/assign

Assignment does not reset the age. A break handed between three people over two weeks is two weeks old, and a queue that says otherwise is measuring handovers rather than unresolved money.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: AssignBreakRequest · Response: GenericResponseBreakResponse

curl -X POST "https://api.bridgemoni.com/reconciliation/break/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/assign" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "assignee": "string"
}'

Responses

StatusWhen
200Break assigned successfully

POST Close a break with a reason code

POST /reconciliation/break/{reference}/resolve

The code is required and the free-text note is not, which is the right way round: a queue closed with prose and no codes cannot be counted, so nobody ever sees that a third of last quarter's differences were one counterparty making one mistake. Closing a break twice is refused - two names against one decision leaves neither accountable.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: ResolveBreakRequest · Response: GenericResponseBreakResponse

curl -X POST "https://api.bridgemoni.com/reconciliation/break/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/resolve" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "resolutionCode": "string",
  "status": "string",
  "note": "string"
}'

Responses

StatusWhen
200Break closed successfully

GET Page a definition's open break queue

GET /reconciliation/definition/{code}/break-queue

Ordered by age in business days, then by value, then by insertion - so the first page is the hundred breaks that matter rather than the hundred that happen to be oldest by row number. Paging matters here at scale: a queue of a hundred thousand open breaks returned in one response is a queue nobody can work. A size above one hundred is clamped rather than refused, because a caller asking for more should get the maximum rather than an error they have to handle.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
code

Query parameters

NameDefault
pageOptional
sizeOptional

Example

Response: GenericResponsePagerBreakResponse

curl -X GET "https://api.bridgemoni.com/reconciliation/definition/value/break-queue" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Break queue retrieved successfully

GET Read a definition's break queue

GET /reconciliation/definition/{code}/breaks

Every break this reconciliation has ever raised, with the age each has carried since it was first seen. A break that reappears in tomorrow's run is the same break one day older, not a new one - without that, a daily reconciliation resets every age to zero every morning and the queue can never escalate, which is the single most common way a reconciliation programme fails while appearing to work. Ages are in business days: a break raised on Friday evening is one day old on Monday.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
code

Example

Response: GenericResponseListBreakResponse

curl -X GET "https://api.bridgemoni.com/reconciliation/definition/value/breaks" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Breaks retrieved successfully

GET Read the breaks a run raised

GET /reconciliation/run/{reference}/breaks

Missing on the internal side and missing on the external side are deliberately not one category called unmatched. One is money a counterparty says exists that we have not booked; the other is a payment we believe we made that they have never heard of. They go to different people and carry different urgency.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseListBreakResponse

curl -X GET "https://api.bridgemoni.com/reconciliation/run/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/breaks" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Breaks retrieved successfully

GET Read the ladder notes a run recorded

GET /reconciliation/run/{reference}/ladder-notes

Where the ladder found candidates and declined to choose between them. Two entries on one side for the same amount on the same day against one on the other is not a fifty per cent chance of being right; it is a question for a person, and answering it by iteration order gives a different answer on two runs of the same data. These notes are what turn 'unmatched' from a shrug into a finding.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseListLadderNoteResponse

curl -X GET "https://api.bridgemoni.com/reconciliation/run/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/ladder-notes" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Ladder notes retrieved successfully

GET Read the matches a run committed

GET /reconciliation/run/{reference}/matches

Each match records the rung that fired and the key it fired on, so 'why did these two match' is answerable a year later without re-running anything. Rungs one to three are certain; four to seven are probable and may never auto-resolve whatever the tolerance says - a probable match auto-resolved is an unreviewed guess wearing a certificate.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseListMatchResponse

curl -X GET "https://api.bridgemoni.com/reconciliation/run/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/matches" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Matches retrieved successfully

Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors