API reference · Communities & institutions
Credit union general ledger GET List the fiscal periods and their status GET /credit-union/{reference}/fiscal-periods
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListFiscalPeriodResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/fiscal-periods" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"fiscalYear": 0,
"periodStart": "2026-09-25",
"periodEnd": "2026-09-25",
"status": "OPEN",
"closedSurplus": 0,
"closingJournalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"closedAt": "2026-09-25T10:00:00Z",
"closedByUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reopenReason": "string"
}
],
"description": "Fiscal periods retrieved successfully"
} Responses Status When 200Fiscal periods retrieved successfully
POST Close the fiscal year POST /credit-union/{reference}/fiscal-year/close
Moves every income and expense balance onto retained surplus and stops the year accepting further postings. What is left is what the statutory appropriation and then the distributions work from.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: CloseFiscalYearRequest · Response: GenericResponseFiscalPeriodResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/fiscal-year/close" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"fiscalYear": 0,
"resolutionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}' Copy {
"fiscalYear": 0,
"resolutionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"fiscalYear": 0,
"periodStart": "2026-09-25",
"periodEnd": "2026-09-25",
"status": "OPEN",
"closedSurplus": 0,
"closingJournalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"closedAt": "2026-09-25T10:00:00Z",
"closedByUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reopenReason": "string"
},
"description": "Fiscal year closed successfully"
} Responses Status When 200Fiscal year closed successfully
POST Reopen a closed fiscal year POST /credit-union/{reference}/fiscal-year/{fiscalYear}/reopen
Recorded with a reason, because figures somebody signed are about to move.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Name Default reasonOptional
Example Response: GenericResponseFiscalPeriodResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/fiscal-year/value/reopen?reason=value" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"fiscalYear": 0,
"periodStart": "2026-09-25",
"periodEnd": "2026-09-25",
"status": "OPEN",
"closedSurplus": 0,
"closingJournalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"closedAt": "2026-09-25T10:00:00Z",
"closedByUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"reopenReason": "string"
},
"description": "Fiscal year reopened successfully"
} Responses Status When 200Fiscal year reopened successfully
POST Switch the general ledger on POST /credit-union/{reference}/general-ledger
Seeds the standard cooperative chart and starts writing journals. Bridge's ledger holds cash and cannot hold income, expense or equity for a party that is not the platform, so a union keeps its own double-entry books.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListGlAccountResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/general-ledger" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"code": "string",
"name": "string",
"classification": "ASSET",
"normalBalance": "CREDIT",
"parentCode": "string",
"systemAccountKey": "string",
"active": true,
"balance": 0
}
],
"description": "General ledger enabled successfully"
} Responses Status When 200General ledger enabled successfully
GET Read the chart of accounts GET /credit-union/{reference}/gl-accounts
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListGlAccountResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/gl-accounts" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"code": "string",
"name": "string",
"classification": "ASSET",
"normalBalance": "CREDIT",
"parentCode": "string",
"systemAccountKey": "string",
"active": true,
"balance": 0
}
],
"description": "Chart of accounts retrieved successfully"
} Responses Status When 200Chart of accounts retrieved successfully
POST Post a manual journal POST /credit-union/{reference}/journal
The only way to write to the ledger by hand, and the first thing a supervisor looks at. It still has to balance, and the caller is recorded on every line.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: PostJournalRequest · Response: GenericResponseJournalResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/journal" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"lines": [
{
"glAccountCode": "string",
"direction": "CREDIT",
"amount": 0,
"narrative": "string"
}
],
"narrative": "string",
"valueDate": "2026-09-25",
"sourceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}' Copy {
"lines": [
{
"glAccountCode": "string",
"direction": "CREDIT",
"amount": 0,
"narrative": "string"
}
],
"narrative": "string",
"valueDate": "2026-09-25",
"sourceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
} Copy {
"data": {
"journalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"sourceType": "ENTRANCE_FEE",
"sourceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"valueDate": "2026-09-25",
"narrative": "string",
"totalDebits": 0,
"totalCredits": 0,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"journalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"glAccountCode": "string",
"glAccountName": "string",
"direction": "CREDIT",
"amount": 0,
"currencyCode": "string",
"valueDate": "2026-09-25",
"sourceType": "ENTRANCE_FEE",
"sourceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"financialTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"narrative": "string",
"postedAt": "2026-09-25T10:00:00Z"
}
]
},
"description": "Journal posted successfully"
} Responses Status When 200Journal posted successfully
GET Read one journal and its balanced set of entries GET /credit-union/{reference}/journal/{journalReference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referencejournalReference
Example Response: GenericResponseJournalResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/journal/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"journalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"sourceType": "ENTRANCE_FEE",
"sourceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"valueDate": "2026-09-25",
"narrative": "string",
"totalDebits": 0,
"totalCredits": 0,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"journalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"glAccountCode": "string",
"glAccountName": "string",
"direction": "CREDIT",
"amount": 0,
"currencyCode": "string",
"valueDate": "2026-09-25",
"sourceType": "ENTRANCE_FEE",
"sourceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"financialTransactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"narrative": "string",
"postedAt": "2026-09-25T10:00:00Z"
}
]
},
"description": "Journal retrieved successfully"
} Responses Status When 200Journal retrieved successfully
GET Read the balance sheet GET /credit-union/{reference}/report/balance-sheet
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Example Response: GenericResponseBalanceSheetResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/report/balance-sheet" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"asOf": "2026-09-25",
"assets": [
{
"on": "2026-09-25",
"kind": "string",
"narrative": "string",
"amount": 0
}
],
"liabilities": [
{
"on": "2026-09-25",
"kind": "string",
"narrative": "string",
"amount": 0
}
],
"equity": [
{
"on": "2026-09-25",
"kind": "string",
"narrative": "string",
"amount": 0
}
],
"totalAssets": 0,
"totalLiabilities": 0,
"totalEquity": 0,
"surplusForThePeriod": 0,
"balanced": true
},
"description": "Balance sheet retrieved successfully"
} Responses Status When 200Balance sheet retrieved successfully
GET Read the income statement GET /credit-union/{reference}/report/income-statement
Income less expenses for the period. This is what the statutory appropriation works from; it is not the same as what a member may be paid.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Name Default fromOptional toOptional
Example Response: GenericResponseIncomeStatementResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/report/income-statement" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"periodStart": "2026-09-25",
"periodEnd": "2026-09-25",
"income": [
{
"on": "2026-09-25",
"kind": "string",
"narrative": "string",
"amount": 0
}
],
"expenses": [
{
"on": "2026-09-25",
"kind": "string",
"narrative": "string",
"amount": 0
}
],
"totalIncome": 0,
"totalExpenses": 0,
"surplus": 0
},
"description": "Income statement retrieved successfully"
} Responses Status When 200Income statement retrieved successfully
GET Tie the ledger to the pockets and the subsidiary ledgers GET /credit-union/{reference}/report/ledger-check
The cash accounts against the balances Bridge holds, and the control accounts against the loan book, the share register and the deposit register. The count of checks performed is part of the answer: a run that matched nothing is not a clean run.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Example Response: GenericResponseGeneralLedgerCheckResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/report/ledger-check" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"asOf": "2026-09-25",
"checksPerformed": 0,
"mismatchCount": 0,
"clean": true,
"ties": [
{
"tie": "string",
"glAccountCode": "string",
"ledgerBalance": 0,
"controlBalance": 0,
"difference": 0,
"tied": true,
"narrative": "string"
}
]
},
"description": "Ledger check completed successfully"
} Responses Status When 200Ledger check completed successfully
GET Read the trial balance GET /credit-union/{reference}/report/trial-balance
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Example Response: GenericResponseTrialBalanceResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/report/trial-balance" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"currencyCode": "string",
"from": "2026-09-25T10:00:00Z",
"to": "2026-09-25T10:00:00Z",
"totalDebits": 0,
"totalCredits": 0,
"difference": 0,
"entryCount": "1",
"breakdown": [
{
"transactionType": "DEPOSIT",
"totalDebits": 0,
"totalCredits": 0
}
]
},
"description": "Trial balance retrieved successfully"
} Responses Status When 200Trial balance retrieved successfully