API reference · Pricing, reporting & reconciliation

Reconciling entities

GET List the reconciling entities on this tenant

GET /reconciliation/entities

Headers

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

Example

Response: GenericResponseListEntityResponse

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

Responses

StatusWhen
200Entities retrieved successfully

POST Onboard a party whose records you want reconciled

POST /reconciliation/entity

An entity is any party that produces records worth comparing against another's - a bank, a processor, a switch, a partner, a merchant, an internal department, your own ledger. The kind is descriptive; what the engine acts on is the channel each entity's records arrive by. A new entity is PENDING_VERIFICATION and cannot be a side of a reconciliation until a real delivery has verified on it, because the onboarding step everybody wants to skip is the one that proves the credentials work.

Headers

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

Example

Request body: OnboardEntityRequest · Response: GenericResponseEntityResponse

curl -X POST "https://api.bridgemoni.com/reconciliation/entity" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "code": "string",
  "displayName": "string",
  "entityKind": "string",
  "entityOrigin": "string",
  "chargeBearer": "string",
  "billingAccountNumber": "string",
  "minimumBalance": "string",
  "jurisdictionCode": "string",
  "defaultCurrencyCode": "string",
  "defaultTimezone": "string",
  "contactEmail": "string",
  "channels": [
    {
      "channelKey": "string",
      "channelKind": "string",
      "statementProfileCode": "string",
      "sourceCode": "string",
      "sourceParameter": "string",
      "directionConvention": "string",
      "completenessRole": "string",
      "expectsSequence": true,
      "expectsControlTotals": true,
      "heartbeatMinutes": 0,
      "graceMinutes": 0
    }
  ]
}'

Responses

StatusWhen
200Entity onboarded successfully

GET Read one reconciling entity and its channels

GET /reconciliation/entity/{code}

Headers

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

Path parameters

Name
code

Example

Response: GenericResponseEntityResponse

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

Responses

StatusWhen
200Entity retrieved successfully

POST Activate a reconciliation entity

POST /reconciliation/entity/{code}/activate

Activation says this party may be a side of a live reconciliation. It requires at least one active channel, because a side with no way to deliver records contributes nothing but an empty manifest and the run would block on a side that was never capable of filling it. The date and the person who activated are both recorded: a status without them is an assertion with no evidence. A retired entity is never brought back.

Headers

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

Path parameters

Name
code

Example

Response: GenericResponseEntityResponse

curl -X POST "https://api.bridgemoni.com/reconciliation/entity/value/activate" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Reconciliation entity activated successfully

POST Declare a channel on an existing entity

POST /reconciliation/entity/{code}/channel

A channel is how records reach us from this party. An inbound webhook is minted a path token here and is always contributing rather than authoritative: a stream that arrives event by event cannot prove it is complete, and treating it as though it could is how a reconciliation reports a clean period over a gap.

Headers

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

Path parameters

Name
code

Example

Request body: EntityChannelRequest · Response: GenericResponseEntityResponse

curl -X POST "https://api.bridgemoni.com/reconciliation/entity/value/channel" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "channelKey": "string",
  "channelKind": "string",
  "statementProfileCode": "string",
  "sourceCode": "string",
  "sourceParameter": "string",
  "directionConvention": "string",
  "completenessRole": "string",
  "expectsSequence": true,
  "expectsControlTotals": true,
  "heartbeatMinutes": 0,
  "graceMinutes": 0
}'

Responses

StatusWhen
200Channel declared successfully

POST Suspend a reconciliation entity

POST /reconciliation/entity/{code}/suspend

A suspended entity stops being eligible as a side of new runs. Deliveries already accepted are untouched - suspension is a statement about what happens next, never a retraction of what a period already recorded. The reason is stored because the next person to look will ask for it.

Headers

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

Path parameters

Name
code

Example

Request body: SuspendEntityRequest · Response: GenericResponseEntityResponse

curl -X POST "https://api.bridgemoni.com/reconciliation/entity/value/suspend" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200Reconciliation entity suspended successfully

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