API reference · Communities & institutions
Credit union membership GET Read the member roll GET /credit-union/{reference}/member
The register of one union. A branch has no roll of its own: the roll returned is that of the society whose books the branch posts to.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Name Default statusOptional classOptional page0 size25
Example Response: GenericResponseMemberRollPageResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/member?page=value&size=25" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"content": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberNumber": "string",
"subjectType": "PERSON",
"userReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organizationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"membershipClassCode": "LIFE",
"classEffectiveFrom": "2026-09-25",
"rights": [
"VOTE"
],
"eligibilityRoute": "DIRECT",
"derivedFromPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"derivedRelationship": "string",
"status": "PROSPECTIVE",
"admittedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"guardianUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"shareUnits": 0,
"shareAmount": 0,
"nonWithdrawableDeposits": 0,
"withdrawableDeposits": 0,
"depositsEncumberedAmount": 0,
"outstandingPrincipal": 0,
"guaranteeLiability": 0,
"currencyCode": "string"
}
],
"page": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
},
"description": "Member roll retrieved successfully"
} Responses Status When 200Member roll retrieved successfully
POST Admit a member POST /credit-union/{reference}/member
A primary society admits people. A secondary or apex admits societies and organisations, never individuals. A member joins PROSPECTIVE where the class sets a minimum shareholding, and only paying it up makes them ACTIVE.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: AdmitMemberRequest · Response: GenericResponseMemberPositionResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/member" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"subjectType": "PERSON",
"subjectReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberNumber": "LTC/0142",
"membershipClassCode": "REGULAR",
"eligibilityRoute": "DIRECT",
"derivedFromPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"derivedRelationship": "spouse",
"dateOfBirth": "1990-01-01",
"guardianUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"bondEvidenceDocumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}' Copy {
"subjectType": "PERSON",
"subjectReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberNumber": "LTC/0142",
"membershipClassCode": "REGULAR",
"eligibilityRoute": "DIRECT",
"derivedFromPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"derivedRelationship": "spouse",
"dateOfBirth": "1990-01-01",
"guardianUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"bondEvidenceDocumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberNumber": "string",
"subjectType": "PERSON",
"userReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organizationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"membershipClassCode": "LIFE",
"classEffectiveFrom": "2026-09-25",
"rights": [
"VOTE"
],
"eligibilityRoute": "DIRECT",
"derivedFromPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"derivedRelationship": "string",
"status": "PROSPECTIVE",
"admittedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"guardianUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"shareUnits": 0,
"shareAmount": 0,
"nonWithdrawableDeposits": 0,
"withdrawableDeposits": 0,
"depositsEncumberedAmount": 0,
"outstandingPrincipal": 0,
"guaranteeLiability": 0,
"currencyCode": "string"
},
"description": "Member admitted successfully"
} Responses Status When 200Member admitted successfully
GET Read a member position by user GET /credit-union/{reference}/member/user/{userReference}
The same record, addressed by the person rather than by the position.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referenceuserReference
Example Response: GenericResponseMemberPositionResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/member/user/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",
"memberNumber": "string",
"subjectType": "PERSON",
"userReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organizationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"membershipClassCode": "LIFE",
"classEffectiveFrom": "2026-09-25",
"rights": [
"VOTE"
],
"eligibilityRoute": "DIRECT",
"derivedFromPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"derivedRelationship": "string",
"status": "PROSPECTIVE",
"admittedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"guardianUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"shareUnits": 0,
"shareAmount": 0,
"nonWithdrawableDeposits": 0,
"withdrawableDeposits": 0,
"depositsEncumberedAmount": 0,
"outstandingPrincipal": 0,
"guaranteeLiability": 0,
"currencyCode": "string"
},
"description": "Member position retrieved successfully"
} Responses Status When 200Member position retrieved successfully
GET Read a member position GET /credit-union/{reference}/member/{positionReference}
A member may always read their own position. Reading anyone else's needs VIEW_MEMBER_POSITIONS at this union.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referencepositionReference
Example Response: GenericResponseMemberPositionResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/member/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",
"memberNumber": "string",
"subjectType": "PERSON",
"userReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organizationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"membershipClassCode": "LIFE",
"classEffectiveFrom": "2026-09-25",
"rights": [
"VOTE"
],
"eligibilityRoute": "DIRECT",
"derivedFromPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"derivedRelationship": "string",
"status": "PROSPECTIVE",
"admittedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"guardianUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"shareUnits": 0,
"shareAmount": 0,
"nonWithdrawableDeposits": 0,
"withdrawableDeposits": 0,
"depositsEncumberedAmount": 0,
"outstandingPrincipal": 0,
"guaranteeLiability": 0,
"currencyCode": "string"
},
"description": "Member position retrieved successfully"
} Responses Status When 200Member position retrieved successfully
PUT Move a member to another class PUT /credit-union/{reference}/member/{positionReference}/membership-class
Every transition is written to the class history with its reason. A class is never edited in place, because "when did this member become entitled to a dividend" is an AGM question.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Name referencepositionReference
Example Request body: AssignMembershipClassRequest · Response: GenericResponseMemberPositionResponse
curl Request Response
Copy curl -X PUT "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/member/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/membership-class" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"membershipClassCode": "LIFE",
"reason": "QUALIFIED",
"narrative": "string"
}' Copy {
"membershipClassCode": "LIFE",
"reason": "QUALIFIED",
"narrative": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberNumber": "string",
"subjectType": "PERSON",
"userReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organizationReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"memberUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"membershipClassCode": "LIFE",
"classEffectiveFrom": "2026-09-25",
"rights": [
"VOTE"
],
"eligibilityRoute": "DIRECT",
"derivedFromPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"derivedRelationship": "string",
"status": "PROSPECTIVE",
"admittedOn": "2026-09-25",
"maturesOn": "2026-09-25",
"guardianUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"shareUnits": 0,
"shareAmount": 0,
"nonWithdrawableDeposits": 0,
"withdrawableDeposits": 0,
"depositsEncumberedAmount": 0,
"outstandingPrincipal": 0,
"guaranteeLiability": 0,
"currencyCode": "string"
},
"description": "Membership class assigned successfully"
} Responses Status When 200Membership class assigned successfully
GET Read a member's class history GET /credit-union/{reference}/member/{positionReference}/membership-class/history
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referencepositionReference
Example Response: GenericResponseListMembershipClassHistoryResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/member/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/membership-class/history" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"fromClassCode": "LIFE",
"toClassCode": "LIFE",
"reason": "ADMITTED",
"effectiveOn": "2026-09-25",
"actorUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"narrative": "string"
}
],
"description": "Class history retrieved successfully"
} Responses Status When 200Class history retrieved successfully
GET List the membership classes of a credit union GET /credit-union/{reference}/membership-class
Seeded at activation from the template for the union's tier. A class carries rights, not permissions: what a member may do, as distinct from what an office holder may do.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListMembershipClassResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/membership-class" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"classCode": "LIFE",
"name": "string",
"rank": 0,
"rights": [
"VOTE"
],
"minimumShareUnits": 0,
"requiresPeriodicDeposit": true,
"entranceFeeOverride": 0,
"duesExempt": true,
"loanMultiplierOverride": 0,
"maximumLoanAmountOverride": 0,
"qualifiesForClassCode": "LIFE",
"qualifyingMonths": 0,
"qualifyingShareUnits": 0,
"autoPromote": true,
"juvenile": true,
"maturesToClassCode": "LIFE",
"maturityAgeYears": 0,
"corporate": true,
"signatoriesRequired": 0,
"defaultMandate": "ANY_ONE",
"systemDefined": true,
"active": true
}
],
"description": "Membership classes retrieved successfully"
} Responses Status When 200Membership classes retrieved successfully