API reference · Communities & institutions
Credit union compliance and exports POST Raise a compliance case POST /credit-union/{reference}/compliance-case
There is no minimum threshold for a suspicious transaction report. Every suspicion is reportable regardless of amount, including one about an operation that was refused and never posted, which is why the trigger may be a refusal.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: RaiseComplianceCaseRequest · Response: GenericResponseComplianceCaseResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/compliance-case" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"caseType": "STR",
"subjectPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"subjectUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"narrative": "string"
}' Copy {
"caseType": "STR",
"subjectPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"subjectUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"narrative": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"unionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"caseType": "STR",
"subjectPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"subjectUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerWasRefused": true,
"status": "OPEN",
"confidential": true,
"raisedByUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"raisedAt": "2026-09-25T10:00:00Z",
"narrative": "string",
"reviewNote": "string",
"reviewedAt": "2026-09-25T10:00:00Z",
"filedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"filedAt": "2026-09-25T10:00:00Z",
"closedReason": "string",
"closedAt": "2026-09-25T10:00:00Z"
},
"description": "Compliance case raised successfully"
} Responses Status When 200Compliance case raised successfully
POST Close a compliance case with no action POST /credit-union/{reference}/compliance-case/{caseReference}/closure
A suspicion dismissed without a recorded reason is indistinguishable from one nobody looked at, so the reason is required.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referencecaseReference
Query parameters Name Default reasonOptional
Example Response: GenericResponseComplianceCaseResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/compliance-case/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/closure?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",
"caseType": "STR",
"subjectPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"subjectUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerWasRefused": true,
"status": "OPEN",
"confidential": true,
"raisedByUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"raisedAt": "2026-09-25T10:00:00Z",
"narrative": "string",
"reviewNote": "string",
"reviewedAt": "2026-09-25T10:00:00Z",
"filedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"filedAt": "2026-09-25T10:00:00Z",
"closedReason": "string",
"closedAt": "2026-09-25T10:00:00Z"
},
"description": "Compliance case closed successfully"
} Responses Status When 200Compliance case closed successfully
POST Record that the report was filed POST /credit-union/{reference}/compliance-case/{caseReference}/filing
The module raises the case; the report is filed by the compliance officer, and the reference it was filed under is recorded so it can be traced.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referencecaseReference
Query parameters Name Default filedReferenceOptional
Example Response: GenericResponseComplianceCaseResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/compliance-case/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/filing?filedReference=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",
"caseType": "STR",
"subjectPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"subjectUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerWasRefused": true,
"status": "OPEN",
"confidential": true,
"raisedByUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"raisedAt": "2026-09-25T10:00:00Z",
"narrative": "string",
"reviewNote": "string",
"reviewedAt": "2026-09-25T10:00:00Z",
"filedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"filedAt": "2026-09-25T10:00:00Z",
"closedReason": "string",
"closedAt": "2026-09-25T10:00:00Z"
},
"description": "Compliance case filed successfully"
} Responses Status When 200Compliance case filed successfully
POST Record a review of a compliance case POST /credit-union/{reference}/compliance-case/{caseReference}/review
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referencecaseReference
Query parameters Example Response: GenericResponseComplianceCaseResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/compliance-case/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/review" \
-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",
"caseType": "STR",
"subjectPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"subjectUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerWasRefused": true,
"status": "OPEN",
"confidential": true,
"raisedByUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"raisedAt": "2026-09-25T10:00:00Z",
"narrative": "string",
"reviewNote": "string",
"reviewedAt": "2026-09-25T10:00:00Z",
"filedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"filedAt": "2026-09-25T10:00:00Z",
"closedReason": "string",
"closedAt": "2026-09-25T10:00:00Z"
},
"description": "Compliance case reviewed successfully"
} Responses Status When 200Compliance case reviewed successfully
GET List compliance cases GET /credit-union/{reference}/compliance-cases
A confidential case is visible to the compliance officer and the supervisory committee and to nobody else - not the member, not the board by default, not the parent union. Anyone else sees a shorter list rather than an error.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Name Default statusOptional
Example Response: GenericResponseListComplianceCaseResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/compliance-cases" \
-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",
"caseType": "STR",
"subjectPositionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"subjectUnionReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"triggerWasRefused": true,
"status": "OPEN",
"confidential": true,
"raisedByUserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"raisedAt": "2026-09-25T10:00:00Z",
"narrative": "string",
"reviewNote": "string",
"reviewedAt": "2026-09-25T10:00:00Z",
"filedReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"filedAt": "2026-09-25T10:00:00Z",
"closedReason": "string",
"closedAt": "2026-09-25T10:00:00Z"
}
],
"description": "Compliance cases retrieved successfully"
} Responses Status When 200Compliance cases retrieved successfully
POST Generate the auditor extract for a fiscal year POST /credit-union/{reference}/export/auditor
Immutable: generated from the closed period and hashed, so the auditor and the society can prove they looked at the same file. Regenerating after the figures move supersedes the earlier extract rather than editing it.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Name Default fiscalYearOptional
Example Response: GenericResponseUnionExportResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/export/auditor?fiscalYear=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",
"exportKind": "AUDITOR_EXTRACT",
"fiscalYear": 0,
"periodStart": "2026-09-25",
"periodEnd": "2026-09-25",
"currencyCode": "string",
"contentHash": "3f786850e387550fdab836ed7e6dc881de23001b42722d4de52b6b4c8a4d6d0f",
"contentBytes": 0,
"lineCount": 0,
"trialBalanceDebits": 0,
"trialBalanceCredits": 0,
"generatedAt": "2026-09-25T10:00:00Z",
"supersededByExportReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"note": "string",
"content": "string"
},
"description": "Auditor extract generated successfully"
} Responses Status When 200Auditor extract generated successfully
POST Export journals for a period POST /credit-union/{reference}/export/journals
Read-only. The module is not an accounting package and does not import back.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Name Default fromOptional toOptional
Example Response: GenericResponseUnionExportResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/export/journals?from=value&to=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",
"exportKind": "AUDITOR_EXTRACT",
"fiscalYear": 0,
"periodStart": "2026-09-25",
"periodEnd": "2026-09-25",
"currencyCode": "string",
"contentHash": "3f786850e387550fdab836ed7e6dc881de23001b42722d4de52b6b4c8a4d6d0f",
"contentBytes": 0,
"lineCount": 0,
"trialBalanceDebits": 0,
"trialBalanceCredits": 0,
"generatedAt": "2026-09-25T10:00:00Z",
"supersededByExportReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"note": "string",
"content": "string"
},
"description": "Journals exported successfully"
} Responses Status When 200Journals exported successfully
GET List the exports this society has generated GET /credit-union/{reference}/exports
Their recorded hashes, never their content.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: GenericResponseListUnionExportResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/credit-union/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/exports" \
-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",
"exportKind": "AUDITOR_EXTRACT",
"fiscalYear": 0,
"periodStart": "2026-09-25",
"periodEnd": "2026-09-25",
"currencyCode": "string",
"contentHash": "3f786850e387550fdab836ed7e6dc881de23001b42722d4de52b6b4c8a4d6d0f",
"contentBytes": 0,
"lineCount": 0,
"trialBalanceDebits": 0,
"trialBalanceCredits": 0,
"generatedAt": "2026-09-25T10:00:00Z",
"supersededByExportReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"note": "string",
"content": "string"
}
],
"description": "Exports retrieved successfully"
} Responses Status When 200Exports retrieved successfully