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

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

Path parameters

Name
reference

Example

Request body: MakeDepositRequest · Response: GenericResponseDepositAccountResponse

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"
}'

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Request body: OpenDepositAccountRequest · Response: GenericResponseDepositAccountResponse

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"
}'

Responses

StatusWhen
200Deposit account opened successfully

GET Read one deposit account

GET /credit-union/{reference}/deposit-account/{accountReference}

Headers

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

Path parameters

Name
reference
accountReference

Example

Response: GenericResponseDepositAccountResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference
accountReference

Example

Request body: CloseDepositAccountRequest · Response: GenericResponseDepositAccountResponse

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"
}'

Responses

StatusWhen
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

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

Path parameters

Name
reference
accountReference

Example

Request body: GiveWithdrawalNoticeRequest · Response: GenericResponseDepositAccountResponse

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
}'

Responses

StatusWhen
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

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

Path parameters

Name
reference
accountReference

Query parameters

NameDefault
fromOptional
toOptional

Example

Response: GenericResponseDepositStatementResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Request body: CreateDepositProductRequest · Response: GenericResponseDepositProductResponse

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"
}'

Responses

StatusWhen
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

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

Path parameters

Name
reference
productCode

Example

Response: GenericResponseListDepositProductResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference
productReference

Example

Response: GenericResponseDepositProductResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference
productReference

Example

Response: GenericResponseDepositProductResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Query parameters

NameDefault
positionOptional
eligible

Example

Response: GenericResponseListDepositProductResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Request body: WithdrawDepositRequest · Response: GenericResponseDepositAccountResponse

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"
}'

Responses

StatusWhen
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

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

Path parameters

Name
reference

Query parameters

NameDefault
accountOptional
amountOptional

Example

Response: GenericResponseWithdrawalQuoteResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference
positionReference

Query parameters

NameDefault
fromOptional
toOptional

Example

Response: GenericResponseMemberStatementResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference
userReference

Example

Response: GenericResponseListDepositAccountResponse

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"

Responses

StatusWhen
200Deposit accounts retrieved successfully

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