Reconciliation instructions
- POST
/reconciliation/break/{reference}/instructionRaise an adjustment instruction from a break - GET
/reconciliation/definition/{code}/instructionsList a definition's instructions - POST
/reconciliation/instruction/{reference}/acknowledgeAcknowledge an instruction - POST
/reconciliation/instruction/{reference}/executedRecord that an instruction was executed - GET
/reconciliation/instructionsList instructions nobody has acted on
POST Raise an adjustment instruction from a break
POST /reconciliation/break/{reference}/instruction
This module raises instructions and never posts. The moment a reconciliation engine can move money, a matching bug becomes a payment bug - and matching bugs are certain, because matching is heuristic at the lower rungs. For a reconciliation between Bridge's own ledgers the instruction names the module that owns the correction and that module executes it, reporting the transaction reference back. For a tenant's own reconciliation the instruction is exported and the tenant executes it in their own system. One break carries one instruction: two instructions against one difference is how the same money moves twice.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Path parameters
| Name |
|---|
reference |
Example
Request body: RaiseInstructionRequest · Response: GenericResponseInstructionResponse
curl -X POST "https://api.bridgemoni.com/reconciliation/break/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/instruction" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"instructionType": "string",
"targetModule": "string",
"amount": "string",
"note": "string"
}' {
"instructionType": "string",
"targetModule": "string",
"amount": "string",
"note": "string"
} {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"breakReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"definitionCode": "string",
"definitionOrigin": "string",
"targetModule": "string",
"instructionType": "string",
"amount": "string",
"currencyCode": "string",
"payload": "string",
"status": "string",
"raisedBy": "string",
"raisedAt": "string",
"acknowledgedAt": "string",
"executedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"executedAt": "string",
"exportedAt": "string",
"failureReason": "string"
},
"description": "Instruction raised successfully"
} Responses
| Status | When |
|---|---|
200 | Instruction raised successfully |
GET List a definition's instructions
GET /reconciliation/definition/{code}/instructions
Everything this reconciliation has asked somebody to do about a difference.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
code |
Example
Response: GenericResponseListInstructionResponse
curl -X GET "https://api.bridgemoni.com/reconciliation/definition/value/instructions" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"breakReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"definitionCode": "string",
"definitionOrigin": "string",
"targetModule": "string",
"instructionType": "string",
"amount": "string",
"currencyCode": "string",
"payload": "string",
"status": "string",
"raisedBy": "string",
"raisedAt": "string",
"acknowledgedAt": "string",
"executedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"executedAt": "string",
"exportedAt": "string",
"failureReason": "string"
}
],
"description": "Instructions retrieved successfully"
} Responses
| Status | When |
|---|---|
200 | Instructions retrieved successfully |
POST Acknowledge an instruction
POST /reconciliation/instruction/{reference}/acknowledge
The owning module has seen it and accepts responsibility for acting on it. An instruction nobody acknowledged is one that may be sitting in a queue nobody reads, which is a different problem from one that was refused.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Path parameters
| Name |
|---|
reference |
Example
Response: GenericResponseInstructionResponse
curl -X POST "https://api.bridgemoni.com/reconciliation/instruction/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/acknowledge" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"breakReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"definitionCode": "string",
"definitionOrigin": "string",
"targetModule": "string",
"instructionType": "string",
"amount": "string",
"currencyCode": "string",
"payload": "string",
"status": "string",
"raisedBy": "string",
"raisedAt": "string",
"acknowledgedAt": "string",
"executedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"executedAt": "string",
"exportedAt": "string",
"failureReason": "string"
},
"description": "Instruction acknowledged successfully"
} Responses
| Status | When |
|---|---|
200 | Instruction acknowledged successfully |
POST Record that an instruction was executed
POST /reconciliation/instruction/{reference}/executed
The executing module quotes back the transaction reference it created. That reference is what closes the loop and what an auditor follows from the difference to the correction - reconciliation never holds the posting itself.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Content-Type | application/json |
Path parameters
| Name |
|---|
reference |
Example
Request body: RecordExecutionRequest · Response: GenericResponseInstructionResponse
curl -X POST "https://api.bridgemoni.com/reconciliation/instruction/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/executed" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"executedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}' {
"executedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
} {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"breakReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"definitionCode": "string",
"definitionOrigin": "string",
"targetModule": "string",
"instructionType": "string",
"amount": "string",
"currencyCode": "string",
"payload": "string",
"status": "string",
"raisedBy": "string",
"raisedAt": "string",
"acknowledgedAt": "string",
"executedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"executedAt": "string",
"exportedAt": "string",
"failureReason": "string"
},
"description": "Execution recorded successfully"
} Responses
| Status | When |
|---|---|
200 | Execution recorded successfully |
GET List instructions nobody has acted on
GET /reconciliation/instructions
Raised and not yet acknowledged, executed or refused. A difference that produced an instruction and then silence is money still in the wrong place, with the appearance of having been dealt with.
Headers
| Name | Notes |
|---|---|
Authorization | Bearer token |
X-Tenant | Your tenant |
X-Environment | test or live |
Example
Response: GenericResponseListInstructionResponse
curl -X GET "https://api.bridgemoni.com/reconciliation/instructions" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"breakReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"definitionCode": "string",
"definitionOrigin": "string",
"targetModule": "string",
"instructionType": "string",
"amount": "string",
"currencyCode": "string",
"payload": "string",
"status": "string",
"raisedBy": "string",
"raisedAt": "string",
"acknowledgedAt": "string",
"executedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"executedAt": "string",
"exportedAt": "string",
"failureReason": "string"
}
],
"description": "Instructions retrieved successfully"
} Responses
| Status | When |
|---|---|
200 | Instructions retrieved successfully |
Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors