API reference · Savings & everyday money
Family support A separate pot for the people a customer supports, with asks and limits. About family support Live
POST Register a relative on a pot POST /blacktax/beneficiary
Name them the way you know them - a phone number, email address or username. They must already hold a main wallet in the pot's currency, and they cannot be you.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Example Request body: BeneficiaryRequest · Response: BeneficiaryResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/beneficiary" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"identifierType": "ACCOUNT_NUMBER",
"identifier": "text",
"displayName": "text",
"relationship": "PARENT",
"pledgedAmount": 250000.0,
"pledgeFrequency": "WEEKLY",
"pledgeStartedOn": "2027-03-14",
"pledgeNote": "text",
"canRequest": true,
"requestMonthlyCapAmount": 250000.0
}' Copy {
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"identifierType": "ACCOUNT_NUMBER",
"identifier": "text",
"displayName": "text",
"relationship": "PARENT",
"pledgedAmount": 250000.0,
"pledgeFrequency": "WEEKLY",
"pledgeStartedOn": "2027-03-14",
"pledgeNote": "text",
"canRequest": true,
"requestMonthlyCapAmount": 250000.0
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"kind": "BRIDGE_USER",
"ownerType": "USER",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"alias": "Ada Obi",
"resolvedName": "Ada Obi",
"resolvedNameAt": "2027-03-14T14:30:01",
"identifier": "text",
"maskedIdentifier": "text",
"identifierType": "ACCOUNT_NUMBER",
"communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"availableCurrencies": [
"NGN"
],
"productCode": "Ada Obi",
"providerCode": "text",
"providerName": "Ada Obi",
"countryCode": "NG",
"currencyCode": "NGN",
"status": "VALUE",
"trustLevel": "NEW",
"favourite": true,
"coolingOffEndsAt": "2027-03-14T14:30:01",
"groups": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi"
}
],
"firstPaidAt": "2027-03-14T14:30:01",
"lastPaidAt": "2027-03-14T14:30:01",
"createdAt": "2027-03-14T14:30:01",
"restrictedBy": "HOLDER",
"restrictionReason": "March payroll",
"cardScheme": "text",
"cardLast4": "text",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"cryptoNetwork": "text",
"statusReason": "text"
},
"description": "Register a relative on a pot"
} Responses Status When 200Beneficiary registered successfully
POST Register a relative paid into a bank account POST /blacktax/beneficiary/bank
For a relative who is not on Bridge at all. Resolve the account first, show the holder the name that comes back, and quote its reference here - raw account details are not accepted, because then nothing would record that a human confirmed whose account it is.
They cannot raise ad-hoc asks: doing so means signing in, and there is no account to sign in to. The database refuses a row that claims otherwise.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Example Request body: BankBeneficiaryRequest · Response: GenericResponseBeneficiaryResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/beneficiary/bank" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"enquiryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"displayName": "Mum",
"relationship": "PARENT",
"pledgedAmount": 50000.0,
"pledgeFrequency": "WEEKLY",
"pledgeStartedOn": "2026-10-01",
"pledgeNote": "string"
}' Copy {
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"enquiryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"displayName": "Mum",
"relationship": "PARENT",
"pledgedAmount": 50000.0,
"pledgeFrequency": "WEEKLY",
"pledgeStartedOn": "2026-10-01",
"pledgeNote": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"ownerName": "Chidi Okonkwo",
"displayName": "Mum",
"relationship": "PARENT",
"payoutKind": "BRIDGE_USER",
"bankAccountNumber": "0123456789",
"bankAccountName": "ADA OKAFOR",
"bankProviderCode": "058",
"bankCountryCode": "NG",
"bankVerifiedAt": "2026-09-25T10:00:00Z",
"currencyCode": "NGN",
"destinationAccountNumber": 1000000199,
"status": "ACTIVE",
"pledgedAmount": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"pledgeFrequency": "WEEKLY",
"pledgeStartedOn": "2026-09-25",
"pledgeNote": "string",
"canRequest": true,
"requestMonthlyCapAmount": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"sentYearToDate": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"sentTotal": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"lastSentAt": "2026-09-25T10:00:00Z",
"creationDateTime": "2026-09-25T10:00:00Z",
"removedAt": "2026-09-25T10:00:00Z"
},
"description": "Beneficiary registered successfully"
} Responses Status When 200Beneficiary registered successfully 404No such pot, or that enquiry is no longer available 409That account is already registered on this pot, or its country does not support the pot's currency
POST Resolve a bank account before registering it POST /blacktax/beneficiary/bank/enquiry
Asks the destination bank whose name is on an account number, so the holder can confirm it is the right person before any pot is pointed at it. A bank payout goes where the account number says, and a mistyped digit is not recoverable in practice.
Nothing is saved and no money moves. Quote the returned enquiryReference on the registration call rather than re-sending the account details - that is how the server knows a name was shown and accepted.
Rate limited per caller and per tenant: the call reports whether an account exists and who owns it, and every lookup is billed by a provider.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Example Request body: BankAccountEnquiryRequest · Response: GenericResponseBankAccountEnquiryResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/beneficiary/bank/enquiry" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"accountNumber": "0123456789",
"providerCode": "058",
"countryCode": "NG"
}' Copy {
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"accountNumber": "0123456789",
"providerCode": "058",
"countryCode": "NG"
} Copy {
"data": {
"enquiryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"accountNumber": "0123456789",
"accountName": "ADA OKAFOR",
"providerCode": "058",
"countryCode": "NG",
"currencyCode": "NGN"
},
"description": "Account resolved successfully"
} Responses Status When 200Account resolved successfully 404No such pot, or the bank returned no name for that account number - an account that cannot be named cannot be registered 409The country given does not support the pot's currency 429Too many resolution attempts; wait and try again
GET Who has listed you, and what they have sent GET /blacktax/beneficiary/me
Your own registrations across every pot you appear on, including ones you have since been removed from - what you were sent before that is still your history.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Example Response: List<BeneficiaryResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/beneficiary/me" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"kind": "BRIDGE_USER",
"ownerType": "USER",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"alias": "Ada Obi",
"resolvedName": "Ada Obi",
"resolvedNameAt": "2027-03-14T14:30:01",
"identifier": "text",
"maskedIdentifier": "text",
"identifierType": "ACCOUNT_NUMBER",
"communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"availableCurrencies": [
"NGN"
],
"productCode": "Ada Obi",
"providerCode": "text",
"providerName": "Ada Obi",
"countryCode": "NG",
"currencyCode": "NGN",
"status": "VALUE",
"trustLevel": "NEW",
"favourite": true,
"coolingOffEndsAt": "2027-03-14T14:30:01",
"groups": [
{
"...": "nested"
}
],
"firstPaidAt": "2027-03-14T14:30:01",
"lastPaidAt": "2027-03-14T14:30:01",
"createdAt": "2027-03-14T14:30:01",
"restrictedBy": "HOLDER",
"restrictionReason": "March payroll",
"cardScheme": "text",
"cardLast4": "text",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"cryptoNetwork": "text",
"statusReason": "text"
}
],
"description": "Who has listed you, and what they have sent"
} Responses Status When 200Registrations retrieved successfully
DELETE Remove a beneficiary DELETE /blacktax/beneficiary/{reference}
Ends the relationship on this pot. History is kept, and the same person can be registered again later.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BeneficiaryResponse
curl Response
Copy curl -X DELETE "https://api.bridgemoni.com/blacktax/beneficiary/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",
"kind": "BRIDGE_USER",
"ownerType": "USER",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"alias": "Ada Obi",
"resolvedName": "Ada Obi",
"resolvedNameAt": "2027-03-14T14:30:01",
"identifier": "text",
"maskedIdentifier": "text",
"identifierType": "ACCOUNT_NUMBER",
"communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"availableCurrencies": [
"NGN"
],
"productCode": "Ada Obi",
"providerCode": "text",
"providerName": "Ada Obi",
"countryCode": "NG",
"currencyCode": "NGN",
"status": "VALUE",
"trustLevel": "NEW",
"favourite": true,
"coolingOffEndsAt": "2027-03-14T14:30:01",
"groups": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi"
}
],
"firstPaidAt": "2027-03-14T14:30:01",
"lastPaidAt": "2027-03-14T14:30:01",
"createdAt": "2027-03-14T14:30:01",
"restrictedBy": "HOLDER",
"restrictionReason": "March payroll",
"cardScheme": "text",
"cardLast4": "text",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"cryptoNetwork": "text",
"statusReason": "text"
},
"description": "Remove a beneficiary"
} Responses Status When 200Beneficiary removed successfully
GET Read a registration GET /blacktax/beneficiary/{reference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BeneficiaryResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/beneficiary/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",
"kind": "BRIDGE_USER",
"ownerType": "USER",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"alias": "Ada Obi",
"resolvedName": "Ada Obi",
"resolvedNameAt": "2027-03-14T14:30:01",
"identifier": "text",
"maskedIdentifier": "text",
"identifierType": "ACCOUNT_NUMBER",
"communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"availableCurrencies": [
"NGN"
],
"productCode": "Ada Obi",
"providerCode": "text",
"providerName": "Ada Obi",
"countryCode": "NG",
"currencyCode": "NGN",
"status": "VALUE",
"trustLevel": "NEW",
"favourite": true,
"coolingOffEndsAt": "2027-03-14T14:30:01",
"groups": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi"
}
],
"firstPaidAt": "2027-03-14T14:30:01",
"lastPaidAt": "2027-03-14T14:30:01",
"createdAt": "2027-03-14T14:30:01",
"restrictedBy": "HOLDER",
"restrictionReason": "March payroll",
"cardScheme": "text",
"cardLast4": "text",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"cryptoNetwork": "text",
"statusReason": "text"
},
"description": "Read a registration"
} Responses Status When 200Beneficiary retrieved successfully
PUT Amend a registration PUT /blacktax/beneficiary/{reference}
Changes the pledge or the label. The person cannot be changed - remove the entry and register the new person, which keeps both histories. Amending a pledge alters no schedule.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: UpdateBeneficiaryRequest · Response: BeneficiaryResponse
curl Request Response
Copy curl -X PUT "https://api.bridgemoni.com/blacktax/beneficiary/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"alias": "Ada Obi",
"favourite": true,
"groupReferences": [
"b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
]
}' Copy {
"alias": "Ada Obi",
"favourite": true,
"groupReferences": [
"b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
]
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"kind": "BRIDGE_USER",
"ownerType": "USER",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"alias": "Ada Obi",
"resolvedName": "Ada Obi",
"resolvedNameAt": "2027-03-14T14:30:01",
"identifier": "text",
"maskedIdentifier": "text",
"identifierType": "ACCOUNT_NUMBER",
"communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"availableCurrencies": [
"NGN"
],
"productCode": "Ada Obi",
"providerCode": "text",
"providerName": "Ada Obi",
"countryCode": "NG",
"currencyCode": "NGN",
"status": "VALUE",
"trustLevel": "NEW",
"favourite": true,
"coolingOffEndsAt": "2027-03-14T14:30:01",
"groups": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi"
}
],
"firstPaidAt": "2027-03-14T14:30:01",
"lastPaidAt": "2027-03-14T14:30:01",
"createdAt": "2027-03-14T14:30:01",
"restrictedBy": "HOLDER",
"restrictionReason": "March payroll",
"cardScheme": "text",
"cardLast4": "text",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"cryptoNetwork": "text",
"statusReason": "text"
},
"description": "Amend a registration"
} Responses Status When 200Beneficiary updated successfully
GET One relative's payment history GET /blacktax/beneficiary/{reference}/history
Readable by both parties to the registration, and they do not see the same thing. The pot's owner gets every attempt, successful or not, with the fees they paid and the reason anything failed. The relative gets only what actually reached them - no failed or pending attempts, no pot account number, no fee, no failure reason - because those describe the owner's side of the arrangement, not their own. Anyone else gets the same 404 as a reference that does not exist.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Example Response: Pager<DisbursementResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/beneficiary/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/history?page=0&size=20" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"page": 0,
"size": 20,
"totalElements": 128,
"totalPages": 7
},
"description": "One relative's payment history"
} Responses Status When 200Disbursements retrieved successfully
POST Pause a beneficiary POST /blacktax/beneficiary/{reference}/pause
Excluded from every run. The pledge and the history are kept.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BeneficiaryResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/beneficiary/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pause" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"kind": "BRIDGE_USER",
"ownerType": "USER",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"alias": "Ada Obi",
"resolvedName": "Ada Obi",
"resolvedNameAt": "2027-03-14T14:30:01",
"identifier": "text",
"maskedIdentifier": "text",
"identifierType": "ACCOUNT_NUMBER",
"communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"availableCurrencies": [
"NGN"
],
"productCode": "Ada Obi",
"providerCode": "text",
"providerName": "Ada Obi",
"countryCode": "NG",
"currencyCode": "NGN",
"status": "VALUE",
"trustLevel": "NEW",
"favourite": true,
"coolingOffEndsAt": "2027-03-14T14:30:01",
"groups": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi"
}
],
"firstPaidAt": "2027-03-14T14:30:01",
"lastPaidAt": "2027-03-14T14:30:01",
"createdAt": "2027-03-14T14:30:01",
"restrictedBy": "HOLDER",
"restrictionReason": "March payroll",
"cardScheme": "text",
"cardLast4": "text",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"cryptoNetwork": "text",
"statusReason": "text"
},
"description": "Pause a beneficiary"
} Responses Status When 200Beneficiary paused successfully
POST Resume a beneficiary POST /blacktax/beneficiary/{reference}/resume
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BeneficiaryResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/beneficiary/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/resume" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"kind": "BRIDGE_USER",
"ownerType": "USER",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"alias": "Ada Obi",
"resolvedName": "Ada Obi",
"resolvedNameAt": "2027-03-14T14:30:01",
"identifier": "text",
"maskedIdentifier": "text",
"identifierType": "ACCOUNT_NUMBER",
"communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"availableCurrencies": [
"NGN"
],
"productCode": "Ada Obi",
"providerCode": "text",
"providerName": "Ada Obi",
"countryCode": "NG",
"currencyCode": "NGN",
"status": "VALUE",
"trustLevel": "NEW",
"favourite": true,
"coolingOffEndsAt": "2027-03-14T14:30:01",
"groups": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi"
}
],
"firstPaidAt": "2027-03-14T14:30:01",
"lastPaidAt": "2027-03-14T14:30:01",
"createdAt": "2027-03-14T14:30:01",
"restrictedBy": "HOLDER",
"restrictionReason": "March payroll",
"cardScheme": "text",
"cardLast4": "text",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"cryptoNetwork": "text",
"statusReason": "text"
},
"description": "Resume a beneficiary"
} Responses Status When 200Beneficiary resumed successfully
POST Send money to a relative POST /blacktax/disbursement
Debits the pot and credits the relative's own main wallet. Neither account is named - both follow from the registration, and the destination is re-resolved at the moment of payment. Send the same idempotency key again to retry safely.
Requires a validated transaction PIN.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Example Request body: DisbursementRequest · Response: DisbursementResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/disbursement" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 250000.0,
"narrative": "March payroll",
"idempotencyKey": "text"
}' Copy {
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 250000.0,
"narrative": "March payroll",
"idempotencyKey": "text"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"source": "MANUAL",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"feeAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sourceAccountNumber": "0123456789",
"destinationAccountNumber": "0123456789",
"status": "PENDING",
"postingDateTime": "2027-03-14T14:30:01",
"quoteReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"scheduleRunReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"requestReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"approvalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"narrative": "text",
"failureReason": "text",
"failureCode": "text",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Send money to a relative"
} Responses Status When 200Disbursement completed successfully
GET Read one payment GET /blacktax/disbursement/{reference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: DisbursementResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/disbursement/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",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"source": "MANUAL",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"feeAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sourceAccountNumber": "0123456789",
"destinationAccountNumber": "0123456789",
"status": "PENDING",
"postingDateTime": "2027-03-14T14:30:01",
"quoteReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"scheduleRunReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"requestReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"approvalReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"narrative": "text",
"failureReason": "text",
"failureCode": "text",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Read one payment"
} Responses Status When 200Disbursement retrieved successfully
GET Read one funding GET /blacktax/funding/{reference}
A top-up you asked for, or a sweep.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: WalletFundingResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/funding/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",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"trigger": "MANUAL_TOP_UP",
"requestedAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundedAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"feeAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingAccountNumber": "0123456789",
"potAccountNumber": "0123456789",
"status": "PENDING",
"postingDateTime": "2027-03-14T14:30:01",
"scheduleRunReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"failureReason": "text",
"failureCode": "text",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Read one funding"
} Responses Status When 200Funding retrieved successfully
POST Ask for support POST /blacktax/request
For a relative who has been registered on a pot and allowed to ask. One open ask at a time. A caller who is not on the pot is told the beneficiary does not exist rather than that they lack permission - the alternative confirms whose pot it is.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Example Request body: SupportRequest · Response: SupportRequestResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/request" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 250000.0,
"reason": "text",
"category": "MEDICAL",
"neededBy": "2027-03-14"
}' Copy {
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 250000.0,
"reason": "text",
"category": "MEDICAL",
"neededBy": "2027-03-14"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"reason": "text",
"category": "MEDICAL",
"neededBy": "2027-03-14",
"status": "PENDING",
"decidedAt": "2027-03-14T14:30:01",
"decisionNote": "text",
"disbursementReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"expiresAt": "2027-03-14T14:30:01",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Ask for support"
} Responses Status When 200Request raised successfully
GET Read one ask GET /blacktax/request/{reference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: SupportRequestResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/request/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",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"reason": "text",
"category": "MEDICAL",
"neededBy": "2027-03-14",
"status": "PENDING",
"decidedAt": "2027-03-14T14:30:01",
"decisionNote": "text",
"disbursementReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"expiresAt": "2027-03-14T14:30:01",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Read one ask"
} Responses Status When 200Request retrieved successfully
POST Approve an ask and pay it POST /blacktax/request/{reference}/approve
Approving and paying are separate steps. If the pot cannot cover it the approval still stands and the ask stays approved, so a top-up and a second call settle it without asking you to decide again. Calling this twice cannot pay twice.
Approving pays, so it requires a validated transaction PIN. Declining does not - it moves no money.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: SupportRequestResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/request/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/approve" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"reason": "text",
"category": "MEDICAL",
"neededBy": "2027-03-14",
"status": "PENDING",
"decidedAt": "2027-03-14T14:30:01",
"decisionNote": "text",
"disbursementReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"expiresAt": "2027-03-14T14:30:01",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Approve an ask and pay it"
} Responses Status When 200Request approved successfully
POST Withdraw your own ask POST /blacktax/request/{reference}/cancel
Only the relative who raised it. An owner who wants it gone declines it.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: SupportRequestResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/request/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/cancel" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"reason": "text",
"category": "MEDICAL",
"neededBy": "2027-03-14",
"status": "PENDING",
"decidedAt": "2027-03-14T14:30:01",
"decisionNote": "text",
"disbursementReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"expiresAt": "2027-03-14T14:30:01",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Withdraw your own ask"
} Responses Status When 200Request cancelled successfully
POST Decline an ask POST /blacktax/request/{reference}/decline
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: SupportRequestResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/request/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/decline" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"reason": "text",
"category": "MEDICAL",
"neededBy": "2027-03-14",
"status": "PENDING",
"decidedAt": "2027-03-14T14:30:01",
"decisionNote": "text",
"disbursementReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"expiresAt": "2027-03-14T14:30:01",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Decline an ask"
} Responses Status When 200Request declined successfully
GET Asks you are part of GET /blacktax/requests
The owner's inbox and the relative's own outbox are the same endpoint, answered according to which of the two you are.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Query parameters Name Default raisedByMefalse statusOptional page0 size20
Example Response: Pager<SupportRequestResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/requests?raisedByMe=false&status=value&page=0&size=20" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"page": 0,
"size": 20,
"totalElements": 128,
"totalPages": 7
},
"description": "Asks you are part of"
} Responses Status When 200Requests retrieved successfully
POST Set up a recurring payment POST /blacktax/schedule
Either money out to relatives or money into the pot. The relatives named must already be registered on this pot. Refused if the pot requires approval for payments: an unattended job cannot wait for a human, and one that parked money every month while you believed your family was paid would be worse than this refusal.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Example Request body: ScheduleRequest · Response: ScheduleResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/schedule" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"startAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"totalAmount": 250000.0,
"allocationMode": "FIXED_PER_BENEFICIARY",
"lines": [
{
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 250000.0,
"percentageBps": 1
}
],
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 250000.0,
"percentageBps": 1
}' Copy {
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"startAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"totalAmount": 250000.0,
"allocationMode": "FIXED_PER_BENEFICIARY",
"lines": [
{
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 250000.0,
"percentageBps": 1
}
],
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"amount": 250000.0,
"percentageBps": 1
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1,
"status": "ACTIVE"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
},
"description": "Set up a recurring payment"
} Responses Status When 200Schedule created successfully
DELETE End a schedule for good DELETE /blacktax/schedule/{reference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: ScheduleResponse
curl Response
Copy curl -X DELETE "https://api.bridgemoni.com/blacktax/schedule/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",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1,
"status": "ACTIVE"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
},
"description": "End a schedule for good"
} Responses Status When 200Schedule cancelled successfully
GET Read one schedule GET /blacktax/schedule/{reference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: ScheduleResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/schedule/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",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1,
"status": "ACTIVE"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
},
"description": "Read one schedule"
} Responses Status When 200Schedule retrieved successfully
PUT Change when a schedule fires, or how much it moves PUT /blacktax/schedule/{reference}
Nothing applies retroactively. A change of timing recomputes the next run forward, so moving it to the 5th does not fire it this instant.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: UpdateScheduleRequest · Response: ScheduleResponse
curl Request Response
Copy curl -X PUT "https://api.bridgemoni.com/blacktax/schedule/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"endAt": "2027-03-14T14:30:01",
"clearEndAt": true,
"maxOccurrences": 1,
"totalAmount": 250000.0
}' Copy {
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"endAt": "2027-03-14T14:30:01",
"clearEndAt": true,
"maxOccurrences": 1,
"totalAmount": 250000.0
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1,
"status": "ACTIVE"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
},
"description": "Change when a schedule fires, or how much it moves"
} Responses Status When 200Schedule updated successfully
POST Add a relative to a schedule POST /blacktax/schedule/{reference}/line
On a percentage split every share must still add up to the whole afterwards, so adding someone means restating what everyone gets.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Response: ScheduleResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/schedule/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/line" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1,
"status": "ACTIVE"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
},
"description": "Add a relative to a schedule"
} Responses Status When 200Schedule line added successfully
DELETE Take a relative off a schedule DELETE /blacktax/schedule/{reference}/line/{lineReference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Name referencelineReference
Example Response: ScheduleResponse
curl Response
Copy curl -X DELETE "https://api.bridgemoni.com/blacktax/schedule/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/line/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",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1,
"status": "ACTIVE"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
},
"description": "Take a relative off a schedule"
} Responses Status When 200Schedule line removed successfully
POST Stop a schedule firing, without losing it POST /blacktax/schedule/{reference}/pause
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: ScheduleResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/schedule/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pause" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1,
"status": "ACTIVE"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
},
"description": "Stop a schedule firing, without losing it"
} Responses Status When 200Schedule paused successfully
POST Start it firing again POST /blacktax/schedule/{reference}/resume
The next run is recomputed forward, so a long pause does not send every month you missed in one night.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: ScheduleResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/schedule/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/resume" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1,
"status": "ACTIVE"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
},
"description": "Start it firing again"
} Responses Status When 200Schedule resumed successfully
GET Every firing of a schedule GET /blacktax/schedule/{reference}/runs
Including the ones that paid nobody. A month with no record is indistinguishable from a month where the scheduler never ran.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Example Response: Pager<ScheduleRunResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/schedule/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/runs?page=0&size=20" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"page": 0,
"size": 20,
"totalElements": 128,
"totalPages": 7
},
"description": "Every firing of a schedule"
} Responses Status When 200Schedule runs retrieved successfully
POST Open a family support wallet POST /blacktax/wallet
Opens a ring-fenced pot for family obligations, in one currency. You must already hold a main wallet in that currency, since that is what funds the pot. One pot per currency.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Example Request body: BlackTaxWalletRequest · Response: BlackTaxWalletResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/wallet" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"name": "Ada Obi",
"currencyCode": "NGN",
"sweepEnabled": true,
"sweepCapAmount": 250000.0,
"monthlyCapAmount": 250000.0,
"fundingFloorAmount": 250000.0
}' Copy {
"name": "Ada Obi",
"currencyCode": "NGN",
"sweepEnabled": true,
"sweepCapAmount": 250000.0,
"monthlyCapAmount": 250000.0,
"fundingFloorAmount": 250000.0
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi",
"currencyCode": "NGN",
"accountNumber": "0123456789",
"accountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "ACTIVE",
"balance": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sweepEnabled": true,
"sweepCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"monthlyCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingFloorAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"activeBeneficiaryCount": 1,
"activeScheduleCount": 1,
"creationDateTime": "2027-03-14T14:30:01",
"closedAt": "2027-03-14T14:30:01"
},
"description": "Open a black tax wallet"
} Responses Status When 200Family support wallet opened successfully
DELETE Close a family support wallet DELETE /blacktax/wallet/{reference}
Refused while the pot holds a balance or a payment is in flight - move the balance back to your main wallet first. History is kept.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BlackTaxWalletResponse
curl Response
Copy curl -X DELETE "https://api.bridgemoni.com/blacktax/wallet/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",
"name": "Ada Obi",
"currencyCode": "NGN",
"accountNumber": "0123456789",
"accountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "ACTIVE",
"balance": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sweepEnabled": true,
"sweepCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"monthlyCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingFloorAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"activeBeneficiaryCount": 1,
"activeScheduleCount": 1,
"creationDateTime": "2027-03-14T14:30:01",
"closedAt": "2027-03-14T14:30:01"
},
"description": "Close a black tax wallet"
} Responses Status When 200Family support wallet closed successfully
GET Read a family support wallet GET /blacktax/wallet/{reference}
Includes the live pot balance.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BlackTaxWalletResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/wallet/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",
"name": "Ada Obi",
"currencyCode": "NGN",
"accountNumber": "0123456789",
"accountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "ACTIVE",
"balance": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sweepEnabled": true,
"sweepCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"monthlyCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingFloorAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"activeBeneficiaryCount": 1,
"activeScheduleCount": 1,
"creationDateTime": "2027-03-14T14:30:01",
"closedAt": "2027-03-14T14:30:01"
},
"description": "Read a black tax wallet"
} Responses Status When 200Family support wallet retrieved successfully
PUT Update a family support wallet PUT /blacktax/wallet/{reference}
Changes the label, the caps, or whether shortfalls may be swept from your main wallet. There is no funding account to nominate - it is always your main wallet in the pot's currency.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: UpdateBlackTaxWalletRequest · Response: BlackTaxWalletResponse
curl Request Response
Copy curl -X PUT "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"name": "Ada Obi",
"sweepEnabled": true,
"sweepCapAmount": 250000.0,
"monthlyCapAmount": 250000.0,
"fundingFloorAmount": 250000.0
}' Copy {
"name": "Ada Obi",
"sweepEnabled": true,
"sweepCapAmount": 250000.0,
"monthlyCapAmount": 250000.0,
"fundingFloorAmount": 250000.0
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi",
"currencyCode": "NGN",
"accountNumber": "0123456789",
"accountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "ACTIVE",
"balance": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sweepEnabled": true,
"sweepCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"monthlyCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingFloorAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"activeBeneficiaryCount": 1,
"activeScheduleCount": 1,
"creationDateTime": "2027-03-14T14:30:01",
"closedAt": "2027-03-14T14:30:01"
},
"description": "Update a black tax wallet"
} Responses Status When 200Family support wallet updated successfully
GET List a pot's beneficiaries GET /blacktax/wallet/{reference}/beneficiaries
Active and paused. Removed registrations are history and are not listed.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: List<BeneficiaryResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/beneficiaries" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"kind": "BRIDGE_USER",
"ownerType": "USER",
"ownerReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"alias": "Ada Obi",
"resolvedName": "Ada Obi",
"resolvedNameAt": "2027-03-14T14:30:01",
"identifier": "text",
"maskedIdentifier": "text",
"identifierType": "ACCOUNT_NUMBER",
"communityReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"availableCurrencies": [
"NGN"
],
"productCode": "Ada Obi",
"providerCode": "text",
"providerName": "Ada Obi",
"countryCode": "NG",
"currencyCode": "NGN",
"status": "VALUE",
"trustLevel": "NEW",
"favourite": true,
"coolingOffEndsAt": "2027-03-14T14:30:01",
"groups": [
{
"...": "nested"
}
],
"firstPaidAt": "2027-03-14T14:30:01",
"lastPaidAt": "2027-03-14T14:30:01",
"createdAt": "2027-03-14T14:30:01",
"restrictedBy": "HOLDER",
"restrictionReason": "March payroll",
"cardScheme": "text",
"cardLast4": "text",
"cardExpiryMonth": 1,
"cardExpiryYear": 1,
"cryptoNetwork": "text",
"statusReason": "text"
}
],
"description": "List a pot's beneficiaries"
} Responses Status When 200Beneficiaries retrieved successfully
GET A pot's payment history GET /blacktax/wallet/{reference}/disbursements
Failures included - "I thought I had sent that" is what this answers.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Example Response: Pager<DisbursementResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/disbursements?page=0&size=20" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"page": 0,
"size": 20,
"totalElements": 128,
"totalPages": 7
},
"description": "A pot's payment history"
} Responses Status When 200Disbursements retrieved successfully
GET List everything that funded a pot GET /blacktax/wallet/{reference}/fundings
Top-ups and shortfall sweeps alike. A sweep is money moved on your standing consent rather than a fresh instruction, so the trigger is worth reading.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Query parameters Example Response: Pager<WalletFundingResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/fundings?page=0&size=20" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"page": 0,
"size": 20,
"totalElements": 128,
"totalPages": 7
},
"description": "List everything that funded a pot"
} Responses Status When 200Funding retrieved successfully
POST Pause a family support wallet POST /blacktax/wallet/{reference}/pause
Scheduled payments record a skip rather than a failure. You keep manual control of your own money.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BlackTaxWalletResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pause" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi",
"currencyCode": "NGN",
"accountNumber": "0123456789",
"accountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "ACTIVE",
"balance": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sweepEnabled": true,
"sweepCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"monthlyCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingFloorAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"activeBeneficiaryCount": 1,
"activeScheduleCount": 1,
"creationDateTime": "2027-03-14T14:30:01",
"closedAt": "2027-03-14T14:30:01"
},
"description": "Pause a black tax wallet"
} Responses Status When 200Family support wallet paused successfully
POST Resume a family support wallet POST /blacktax/wallet/{reference}/resume
Scheduled payments fire again.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BlackTaxWalletResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/resume" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi",
"currencyCode": "NGN",
"accountNumber": "0123456789",
"accountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "ACTIVE",
"balance": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sweepEnabled": true,
"sweepCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"monthlyCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingFloorAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"activeBeneficiaryCount": 1,
"activeScheduleCount": 1,
"creationDateTime": "2027-03-14T14:30:01",
"closedAt": "2027-03-14T14:30:01"
},
"description": "Resume a black tax wallet"
} Responses Status When 200Family support wallet resumed successfully
GET Every schedule on a pot GET /blacktax/wallet/{reference}/schedules
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: List<ScheduleResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/schedules" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"purpose": "DISBURSEMENT",
"allocationMode": "FIXED_PER_BENEFICIARY",
"frequency": "WEEKLY",
"dayOfMonth": 1,
"dayOfWeek": 1,
"totalAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"status": "ACTIVE",
"startAt": "2027-03-14T14:30:01",
"nextRunAt": "2027-03-14T14:30:01",
"endAt": "2027-03-14T14:30:01",
"maxOccurrences": 1,
"occurrenceCount": 1,
"lastRunAt": "2027-03-14T14:30:01",
"lastRunOutcome": "PENDING",
"lastFailureReason": "text",
"consecutiveFailureCount": 1,
"lines": [
{
"...": "nested"
}
],
"creationDateTime": "2027-03-14T14:30:01",
"beneficiaryReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"beneficiaryDisplayName": "text",
"amount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"percentageBps": 1
}
],
"description": "Every schedule on a pot"
} Responses Status When 200Schedules retrieved successfully
GET The management view of a pot GET /blacktax/wallet/{reference}/summary
What you have promised, what has actually gone out this month and this year, and when the next payment runs - in one read. The pledged totals are what you committed to, which is deliberately not the same as what your schedules send: the gap between them is the thing worth seeing.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Path parameters Example Response: BlackTaxWalletSummaryResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/summary" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "NGN",
"balance": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"pledgedPerMonth": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"pledgedPerYear": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"disbursedYearToDate": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"disbursedThisMonth": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"monthlyCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"activeBeneficiaries": 1,
"activeSchedules": 1,
"pendingRequests": 1,
"nextDisbursementAt": "2027-03-14T14:30:01",
"beneficiaries": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"displayName": "text",
"relationship": "PARENT",
"pledgedAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"pledgeFrequency": "WEEKLY",
"sentYearToDate": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sentTotal": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"lastSentAt": "2027-03-14T14:30:01"
}
],
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"displayName": "text",
"relationship": "PARENT",
"pledgedAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"pledgeFrequency": "WEEKLY",
"sentYearToDate": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sentTotal": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"lastSentAt": "2027-03-14T14:30:01"
},
"description": "The management view of a pot"
} Responses Status When 200Summary retrieved successfully
POST Top up a family support wallet POST /blacktax/wallet/{reference}/topup
Moves money from your main wallet into the pot. There is no source to name: you are funding your own pot from your own main wallet in the same currency. Send the same idempotency key again to retry safely.
Requires a validated transaction PIN.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live Content-Typeapplication/json
Path parameters Example Request body: TopUpRequest · Response: WalletFundingResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/blacktax/wallet/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/topup" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"amount": 250000.0,
"narrative": "March payroll",
"idempotencyKey": "text"
}' Copy {
"amount": 250000.0,
"narrative": "March payroll",
"idempotencyKey": "text"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"walletReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"trigger": "MANUAL_TOP_UP",
"requestedAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundedAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"feeAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingAccountNumber": "0123456789",
"potAccountNumber": "0123456789",
"status": "PENDING",
"postingDateTime": "2027-03-14T14:30:01",
"scheduleRunReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"failureReason": "text",
"failureCode": "text",
"creationDateTime": "2027-03-14T14:30:01"
},
"description": "Top up a black tax wallet"
} Responses Status When 200Family support wallet funded successfully
GET List your family support wallets GET /blacktax/wallets
One per currency.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live
Example Response: List<BlackTaxWalletResponse>
curl Response
Copy curl -X GET "https://api.bridgemoni.com/blacktax/wallets" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"name": "Ada Obi",
"currencyCode": "NGN",
"accountNumber": "0123456789",
"accountReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "ACTIVE",
"balance": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"sweepEnabled": true,
"sweepCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"monthlyCapAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"fundingFloorAmount": {
"amount": "250000.00",
"currencyCode": "NGN"
},
"activeBeneficiaryCount": 1,
"activeScheduleCount": 1,
"creationDateTime": "2027-03-14T14:30:01",
"closedAt": "2027-03-14T14:30:01"
}
],
"description": "List your black tax wallets"
} Responses Status When 200Family support wallets retrieved successfully