API reference · Communities & institutions
Credit union deposits POST Take a deposit POST /credit-union/{reference}/deposit
A suspended union stops taking money in and keeps paying withdrawals out. Both halves of that rule point the same way, and applying one of them to the other side gets it exactly backwards.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: MakeDepositRequest · Response: GenericResponseDepositAccountResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"depositAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 0,
"narrative": "string",
"originatingBranchReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"idempotencyKey": "string"
}' Copy {
"depositAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 0,
"narrative": "string",
"originatingBranchReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"idempotencyKey": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"depositType": "SHARE_CAPITAL",
"accountNumberSuffix": "string",
"currencyCode": "string",
"balance": 0,
"encumberedAmount": 0,
"accruedInterest": 0,
"amountDays": 0,
"openedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"noticeGivenOn": "2026-09-25",
"noticeMaturesOn": "2026-09-25",
"status": "ACTIVE",
"lastMovementOn": "2026-09-25",
"dormantSince": "2026-09-25",
"closedOn": "2026-09-25",
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"minimumBalance": 0,
"frozenTermsHash": "string"
},
"description": "Deposit received successfully"
} Responses Status When 200Deposit received successfully
POST Open a deposit account under a product POST /credit-union/{reference}/deposit-account
Class rights decide what a member may hold: a juvenile may deposit but may not hold shares, and an honorary member holds neither. The refusal names which rule applied.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: OpenDepositAccountRequest · Response: GenericResponseDepositAccountResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-account" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"openingAmount": 0,
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"idempotencyKey": "string"
}' Copy {
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"openingAmount": 0,
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"idempotencyKey": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"depositType": "SHARE_CAPITAL",
"accountNumberSuffix": "string",
"currencyCode": "string",
"balance": 0,
"encumberedAmount": 0,
"accruedInterest": 0,
"amountDays": 0,
"openedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"noticeGivenOn": "2026-09-25",
"noticeMaturesOn": "2026-09-25",
"status": "ACTIVE",
"lastMovementOn": "2026-09-25",
"dormantSince": "2026-09-25",
"closedOn": "2026-09-25",
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"minimumBalance": 0,
"frozenTermsHash": "string"
},
"description": "Deposit account opened successfully"
} Responses Status When 200Deposit account opened successfully
GET Read one deposit account GET /credit-union/{reference}/deposit-account/{accountReference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referenceaccountReference
Example Response: GenericResponseDepositAccountResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-account/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-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",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"depositType": "SHARE_CAPITAL",
"accountNumberSuffix": "string",
"currencyCode": "string",
"balance": 0,
"encumberedAmount": 0,
"accruedInterest": 0,
"amountDays": 0,
"openedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"noticeGivenOn": "2026-09-25",
"noticeMaturesOn": "2026-09-25",
"status": "ACTIVE",
"lastMovementOn": "2026-09-25",
"dormantSince": "2026-09-25",
"closedOn": "2026-09-25",
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"minimumBalance": 0,
"frozenTermsHash": "string"
},
"description": "Deposit account retrieved successfully"
} Responses Status When 200Deposit account retrieved successfully
POST Close a deposit account POST /credit-union/{reference}/deposit-account/{accountReference}/close
Closing pays the balance out or refuses. It never discards it, and it never releases a balance that is pledged as security.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Name referenceaccountReference
Example Request body: CloseDepositAccountRequest · Response: GenericResponseDepositAccountResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-account/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/close" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"reason": "string",
"payOutBalance": true,
"idempotencyKey": "string"
}' Copy {
"reason": "string",
"payOutBalance": true,
"idempotencyKey": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"depositType": "SHARE_CAPITAL",
"accountNumberSuffix": "string",
"currencyCode": "string",
"balance": 0,
"encumberedAmount": 0,
"accruedInterest": 0,
"amountDays": 0,
"openedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"noticeGivenOn": "2026-09-25",
"noticeMaturesOn": "2026-09-25",
"status": "ACTIVE",
"lastMovementOn": "2026-09-25",
"dormantSince": "2026-09-25",
"closedOn": "2026-09-25",
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"minimumBalance": 0,
"frozenTermsHash": "string"
},
"description": "Deposit account closed successfully"
} Responses Status When 200Deposit account closed successfully
POST Give notice of a withdrawal POST /credit-union/{reference}/deposit-account/{accountReference}/notice
Clear days exclude the day notice is given and the day the money is taken, so a thirty-day notice given today matures on the thirty-first.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Name referenceaccountReference
Example Request body: GiveWithdrawalNoticeRequest · Response: GenericResponseDepositAccountResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-account/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/notice" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"amount": 0
}' Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"depositType": "SHARE_CAPITAL",
"accountNumberSuffix": "string",
"currencyCode": "string",
"balance": 0,
"encumberedAmount": 0,
"accruedInterest": 0,
"amountDays": 0,
"openedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"noticeGivenOn": "2026-09-25",
"noticeMaturesOn": "2026-09-25",
"status": "ACTIVE",
"lastMovementOn": "2026-09-25",
"dormantSince": "2026-09-25",
"closedOn": "2026-09-25",
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"minimumBalance": 0,
"frozenTermsHash": "string"
},
"description": "Notice given successfully"
} Responses Status When 200Notice given successfully
GET Read a deposit account statement GET /credit-union/{reference}/deposit-account/{accountReference}/statement
Carries the balance-days the account has accumulated, which is what the year's rebate is allocated on.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referenceaccountReference
Query parameters Name Default fromOptional toOptional
Example Response: GenericResponseDepositStatementResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-account/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/statement" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"depositAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"currencyCode": "string",
"fromDate": "2026-09-25",
"toDate": "2026-09-25",
"openingBalance": 0,
"closingBalance": 0,
"encumberedAmount": 0,
"amountDays": 0,
"movements": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"depositAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"entryType": "ENTRANCE_FEE",
"direction": "CREDIT",
"amount": 0,
"balanceAfter": 0,
"currencyCode": "string",
"narrative": "string",
"transactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"valueDate": "2026-09-25",
"postedAt": "2026-09-25T10:00:00Z"
}
]
},
"description": "Statement retrieved successfully"
} Responses Status When 200Statement retrieved successfully
POST Draft a deposit product POST /credit-union/{reference}/deposit-product
countsTowardLoanMultiplier and pledgeable are the two settings that carry most of the behaviour: the first decides what a member may borrow against, the second what may secure it. Both are versioned here and frozen onto every account opened under this version, so a later change never reprices an open account.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: CreateDepositProductRequest · Response: GenericResponseDepositProductResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-product" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"productCode": "BOSA_ORDINARY",
"name": "string",
"description": "string",
"depositType": "SHARE_CAPITAL",
"currencyCode": "string",
"eligibleClassCodes": [
"LIFE"
],
"minimumOpeningAmount": 0,
"minimumBalance": 0,
"maximumBalance": 0,
"periodicContributionAmount": 0,
"contributionFrequency": "NONE",
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"interestModel": "NONE",
"annualRateBasisPoints": 0,
"dayCountConvention": "ACT_365",
"capitalisationCadence": "NONE",
"withholdingPolicyCode": "string",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"mandatory": true,
"dormancyMonths": 0,
"maintenanceFeeAmount": 0,
"feeCode": "string",
"disclosureText": "string"
}' Copy {
"productCode": "BOSA_ORDINARY",
"name": "string",
"description": "string",
"depositType": "SHARE_CAPITAL",
"currencyCode": "string",
"eligibleClassCodes": [
"LIFE"
],
"minimumOpeningAmount": 0,
"minimumBalance": 0,
"maximumBalance": 0,
"periodicContributionAmount": 0,
"contributionFrequency": "NONE",
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"interestModel": "NONE",
"annualRateBasisPoints": 0,
"dayCountConvention": "ACT_365",
"capitalisationCadence": "NONE",
"withholdingPolicyCode": "string",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"mandatory": true,
"dormancyMonths": 0,
"maintenanceFeeAmount": 0,
"feeCode": "string",
"disclosureText": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"name": "string",
"description": "string",
"depositType": "SHARE_CAPITAL",
"status": "DRAFT",
"effectiveFrom": "2026-09-25",
"effectiveTo": "2026-09-25",
"currencyCode": "string",
"eligibleClassCodes": [
"LIFE"
],
"minimumOpeningAmount": 0,
"minimumBalance": 0,
"maximumBalance": 0,
"periodicContributionAmount": 0,
"contributionFrequency": "NONE",
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"interestModel": "NONE",
"annualRateBasisPoints": 0,
"dayCountConvention": "ACT_365",
"capitalisationCadence": "NONE",
"withholdingPolicyCode": "string",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"mandatory": true,
"dormancyMonths": 0,
"maintenanceFeeAmount": 0,
"feeCode": "string",
"disclosureText": "string",
"frozenTermsHash": "string",
"eligible": true,
"ineligibilityReason": "NONE",
"ineligibilityNarrative": "string"
},
"description": "Deposit product drafted successfully"
} Responses Status When 200Deposit product drafted successfully
GET List every version of a deposit product GET /credit-union/{reference}/deposit-product/{productCode}/versions
The audit trail behind a member's frozen terms: which version they opened under and what it said at the time.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListDepositProductResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-product/value/versions" \
-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",
"productCode": "string",
"productVersion": 0,
"name": "string",
"description": "string",
"depositType": "SHARE_CAPITAL",
"status": "DRAFT",
"effectiveFrom": "2026-09-25",
"effectiveTo": "2026-09-25",
"currencyCode": "string",
"eligibleClassCodes": [
"LIFE"
],
"minimumOpeningAmount": 0,
"minimumBalance": 0,
"maximumBalance": 0,
"periodicContributionAmount": 0,
"contributionFrequency": "NONE",
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"interestModel": "NONE",
"annualRateBasisPoints": 0,
"dayCountConvention": "ACT_365",
"capitalisationCadence": "NONE",
"withholdingPolicyCode": "string",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"mandatory": true,
"dormancyMonths": 0,
"maintenanceFeeAmount": 0,
"feeCode": "string",
"disclosureText": "string",
"frozenTermsHash": "string",
"eligible": true,
"ineligibilityReason": "NONE",
"ineligibilityNarrative": "string"
}
],
"description": "Deposit product versions retrieved successfully"
} Responses Status When 200Deposit product versions retrieved successfully
POST Activate a deposit product version POST /credit-union/{reference}/deposit-product/{productReference}/activate
Brings this version into force and retires the version it supersedes. Accounts already open keep the terms they were opened under.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referenceproductReference
Example Response: GenericResponseDepositProductResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-product/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/activate" \
-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",
"productCode": "string",
"productVersion": 0,
"name": "string",
"description": "string",
"depositType": "SHARE_CAPITAL",
"status": "DRAFT",
"effectiveFrom": "2026-09-25",
"effectiveTo": "2026-09-25",
"currencyCode": "string",
"eligibleClassCodes": [
"LIFE"
],
"minimumOpeningAmount": 0,
"minimumBalance": 0,
"maximumBalance": 0,
"periodicContributionAmount": 0,
"contributionFrequency": "NONE",
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"interestModel": "NONE",
"annualRateBasisPoints": 0,
"dayCountConvention": "ACT_365",
"capitalisationCadence": "NONE",
"withholdingPolicyCode": "string",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"mandatory": true,
"dormancyMonths": 0,
"maintenanceFeeAmount": 0,
"feeCode": "string",
"disclosureText": "string",
"frozenTermsHash": "string",
"eligible": true,
"ineligibilityReason": "NONE",
"ineligibilityNarrative": "string"
},
"description": "Deposit product activated successfully"
} Responses Status When 200Deposit product activated successfully
POST Retire a deposit product version POST /credit-union/{reference}/deposit-product/{productReference}/retire
Stops new accounts. It never closes the accounts that already exist.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referenceproductReference
Example Response: GenericResponseDepositProductResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-product/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/retire" \
-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",
"productCode": "string",
"productVersion": 0,
"name": "string",
"description": "string",
"depositType": "SHARE_CAPITAL",
"status": "DRAFT",
"effectiveFrom": "2026-09-25",
"effectiveTo": "2026-09-25",
"currencyCode": "string",
"eligibleClassCodes": [
"LIFE"
],
"minimumOpeningAmount": 0,
"minimumBalance": 0,
"maximumBalance": 0,
"periodicContributionAmount": 0,
"contributionFrequency": "NONE",
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"interestModel": "NONE",
"annualRateBasisPoints": 0,
"dayCountConvention": "ACT_365",
"capitalisationCadence": "NONE",
"withholdingPolicyCode": "string",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"mandatory": true,
"dormancyMonths": 0,
"maintenanceFeeAmount": 0,
"feeCode": "string",
"disclosureText": "string",
"frozenTermsHash": "string",
"eligible": true,
"ineligibilityReason": "NONE",
"ineligibilityNarrative": "string"
},
"description": "Deposit product retired successfully"
} Responses Status When 200Deposit product retired successfully
GET Read the deposit product catalogue GET /credit-union/{reference}/deposit-products
What a member holds is a set of accounts under products, not one savings balance. Read for a named member the catalogue also says, product by product, whether they are eligible and why not.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Name Default positionOptional eligible
Example Response: GenericResponseListDepositProductResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-products?eligible=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",
"productCode": "string",
"productVersion": 0,
"name": "string",
"description": "string",
"depositType": "SHARE_CAPITAL",
"status": "DRAFT",
"effectiveFrom": "2026-09-25",
"effectiveTo": "2026-09-25",
"currencyCode": "string",
"eligibleClassCodes": [
"LIFE"
],
"minimumOpeningAmount": 0,
"minimumBalance": 0,
"maximumBalance": 0,
"periodicContributionAmount": 0,
"contributionFrequency": "NONE",
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"interestModel": "NONE",
"annualRateBasisPoints": 0,
"dayCountConvention": "ACT_365",
"capitalisationCadence": "NONE",
"withholdingPolicyCode": "string",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"mandatory": true,
"dormancyMonths": 0,
"maintenanceFeeAmount": 0,
"feeCode": "string",
"disclosureText": "string",
"frozenTermsHash": "string",
"eligible": true,
"ineligibilityReason": "NONE",
"ineligibilityNarrative": "string"
}
],
"description": "Deposit products retrieved successfully"
} Responses Status When 200Deposit products retrieved successfully
POST Withdraw from a deposit account POST /credit-union/{reference}/deposit/withdrawal
Refused rather than trimmed. The quote says what is available and why not more, and an early break of a term deposit has to be accepted before it is charged.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: WithdrawDepositRequest · Response: GenericResponseDepositAccountResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit/withdrawal" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"depositAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 0,
"narrative": "string",
"acceptPenalty": true,
"idempotencyKey": "string"
}' Copy {
"depositAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 0,
"narrative": "string",
"acceptPenalty": true,
"idempotencyKey": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"depositType": "SHARE_CAPITAL",
"accountNumberSuffix": "string",
"currencyCode": "string",
"balance": 0,
"encumberedAmount": 0,
"accruedInterest": 0,
"amountDays": 0,
"openedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"noticeGivenOn": "2026-09-25",
"noticeMaturesOn": "2026-09-25",
"status": "ACTIVE",
"lastMovementOn": "2026-09-25",
"dormantSince": "2026-09-25",
"closedOn": "2026-09-25",
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"minimumBalance": 0,
"frozenTermsHash": "string"
},
"description": "Withdrawal paid successfully"
} Responses Status When 200Withdrawal paid successfully
GET Quote what may actually be withdrawn GET /credit-union/{reference}/deposit/withdrawal/quote
Names every reason separately - not withdrawable, notice outstanding, pledged as security, minimum balance, term not matured - because insufficient balance is usually not the one that applies and is not a useful thing to tell a member.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Name Default accountOptional amountOptional
Example Response: GenericResponseWithdrawalQuoteResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit/withdrawal/quote?account=value" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"grossAmount": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"penaltyModel": "NONE",
"penaltyAmount": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"interestForfeitedAmount": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"feeAmount": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"netAmount": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"earlyBreak": true,
"excessWithdrawal": true,
"remainingTermDays": 0,
"maturityAt": "2026-09-25T10:00:00Z",
"termsHash": "string",
"expiresAt": "2026-09-25T10:00:00Z",
"explanation": "This plan is locked until 15 August 2027, 71 days away. Taking 100,000.00 out now costs 2,000.00 and you lose the 1,863.01 of interest earned so far."
},
"description": "Withdrawal quote retrieved successfully"
} Responses Status When 200Withdrawal quote retrieved successfully
GET Read a member's statement across every account they hold GET /credit-union/{reference}/member/{positionReference}/statement
Carries the three sums that are not one sum: what may be withdrawn, what may secure a loan, and what counts toward the borrowing base. A member with savings in a non-pledgeable pot has less security than their total balance suggests, and telling them otherwise at appraisal is how a loan ends up under-secured.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referencepositionReference
Query parameters Name Default fromOptional toOptional
Example Response: GenericResponseMemberStatementResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/member/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/statement" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberNumber": "string",
"currencyCode": "string",
"fromDate": "2026-09-25",
"toDate": "2026-09-25",
"shareAmount": 0,
"shareUnits": 0,
"nonWithdrawableDeposits": 0,
"withdrawableDeposits": 0,
"depositsEncumberedAmount": 0,
"withdrawableAmount": 0,
"pledgeableAmount": 0,
"loanMultiplierBase": 0,
"accounts": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"depositType": "SHARE_CAPITAL",
"accountNumberSuffix": "string",
"currencyCode": "string",
"balance": 0,
"encumberedAmount": 0,
"accruedInterest": 0,
"amountDays": 0,
"openedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"noticeGivenOn": "2026-09-25",
"noticeMaturesOn": "2026-09-25",
"status": "ACTIVE",
"lastMovementOn": "2026-09-25",
"dormantSince": "2026-09-25",
"closedOn": "2026-09-25",
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"minimumBalance": 0,
"frozenTermsHash": "string"
}
],
"movements": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"depositAccountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"entryType": "ENTRANCE_FEE",
"direction": "CREDIT",
"amount": 0,
"balanceAfter": 0,
"currencyCode": "string",
"narrative": "string",
"transactionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"valueDate": "2026-09-25",
"postedAt": "2026-09-25T10:00:00Z"
}
]
},
"description": "Member statement retrieved successfully"
} Responses Status When 200Member statement retrieved successfully
GET List a member's deposit accounts GET /credit-union/{reference}/member/{userReference}/deposit-accounts
Share capital and savings are presented as what they are. A system that shows them as two rows of the same colour has hidden the most important difference between them.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referenceuserReference
Example Response: GenericResponseListDepositAccountResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/member/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/deposit-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",
"positionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"productCode": "string",
"productVersion": 0,
"depositType": "SHARE_CAPITAL",
"accountNumberSuffix": "string",
"currencyCode": "string",
"balance": 0,
"encumberedAmount": 0,
"accruedInterest": 0,
"amountDays": 0,
"openedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"noticeGivenOn": "2026-09-25",
"noticeMaturesOn": "2026-09-25",
"status": "ACTIVE",
"lastMovementOn": "2026-09-25",
"dormantSince": "2026-09-25",
"closedOn": "2026-09-25",
"nomineeReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"countsTowardLoanMultiplier": true,
"pledgeable": true,
"noticePeriodDays": 0,
"termDays": 0,
"earlyWithdrawalPenaltyBasisPoints": 0,
"minimumBalance": 0,
"frozenTermsHash": "string"
}
],
"description": "Deposit accounts retrieved successfully"
} Responses Status When 200Deposit accounts retrieved successfully