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

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

Example

Request body: BeneficiaryRequest · Response: BeneficiaryResponse

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

Responses

StatusWhen
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

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

Example

Request body: BankBeneficiaryRequest · Response: GenericResponseBeneficiaryResponse

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

Responses

StatusWhen
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

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

Example

Request body: BankAccountEnquiryRequest · Response: GenericResponseBankAccountEnquiryResponse

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

Responses

StatusWhen
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

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

Example

Response: List<BeneficiaryResponse>

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: BeneficiaryResponse

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"

Responses

StatusWhen
200Beneficiary removed successfully

GET Read a registration

GET /blacktax/beneficiary/{reference}

Headers

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

Path parameters

Name
reference

Example

Response: BeneficiaryResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Request body: UpdateBeneficiaryRequest · Response: BeneficiaryResponse

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

Responses

StatusWhen
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

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

Path parameters

Name
reference

Query parameters

NameDefault
page0
size20

Example

Response: Pager<DisbursementResponse>

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"

Responses

StatusWhen
200Disbursements retrieved successfully

POST Pause a beneficiary

POST /blacktax/beneficiary/{reference}/pause

Excluded from every run. The pledge and the history are kept.

Headers

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

Path parameters

Name
reference

Example

Response: BeneficiaryResponse

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"

Responses

StatusWhen
200Beneficiary paused successfully

POST Resume a beneficiary

POST /blacktax/beneficiary/{reference}/resume

Headers

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

Path parameters

Name
reference

Example

Response: BeneficiaryResponse

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"

Responses

StatusWhen
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

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

Example

Request body: DisbursementRequest · Response: DisbursementResponse

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

Responses

StatusWhen
200Disbursement completed successfully

GET Read one payment

GET /blacktax/disbursement/{reference}

Headers

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

Path parameters

Name
reference

Example

Response: DisbursementResponse

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"

Responses

StatusWhen
200Disbursement retrieved successfully

GET Read one funding

GET /blacktax/funding/{reference}

A top-up you asked for, or a sweep.

Headers

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

Path parameters

Name
reference

Example

Response: WalletFundingResponse

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"

Responses

StatusWhen
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

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

Example

Request body: SupportRequest · Response: SupportRequestResponse

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

Responses

StatusWhen
200Request raised successfully

GET Read one ask

GET /blacktax/request/{reference}

Headers

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

Path parameters

Name
reference

Example

Response: SupportRequestResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: SupportRequestResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: SupportRequestResponse

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"

Responses

StatusWhen
200Request cancelled successfully

POST Decline an ask

POST /blacktax/request/{reference}/decline

Headers

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

Path parameters

Name
reference

Example

Response: SupportRequestResponse

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"

Responses

StatusWhen
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

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

Query parameters

NameDefault
raisedByMefalse
statusOptional
page0
size20

Example

Response: Pager<SupportRequestResponse>

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"

Responses

StatusWhen
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

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

Example

Request body: ScheduleRequest · Response: ScheduleResponse

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

Responses

StatusWhen
200Schedule created successfully

DELETE End a schedule for good

DELETE /blacktax/schedule/{reference}

Headers

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

Path parameters

Name
reference

Example

Response: ScheduleResponse

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"

Responses

StatusWhen
200Schedule cancelled successfully

GET Read one schedule

GET /blacktax/schedule/{reference}

Headers

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

Path parameters

Name
reference

Example

Response: ScheduleResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Request body: UpdateScheduleRequest · Response: ScheduleResponse

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

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: ScheduleResponse

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"

Responses

StatusWhen
200Schedule line added successfully

DELETE Take a relative off a schedule

DELETE /blacktax/schedule/{reference}/line/{lineReference}

Headers

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

Path parameters

Name
reference
lineReference

Example

Response: ScheduleResponse

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"

Responses

StatusWhen
200Schedule line removed successfully

POST Stop a schedule firing, without losing it

POST /blacktax/schedule/{reference}/pause

Headers

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

Path parameters

Name
reference

Example

Response: ScheduleResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: ScheduleResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Query parameters

NameDefault
page0
size20

Example

Response: Pager<ScheduleRunResponse>

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"

Responses

StatusWhen
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

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

Example

Request body: BlackTaxWalletRequest · Response: BlackTaxWalletResponse

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

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: BlackTaxWalletResponse

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"

Responses

StatusWhen
200Family support wallet closed successfully

GET Read a family support wallet

GET /blacktax/wallet/{reference}

Includes the live pot balance.

Headers

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

Path parameters

Name
reference

Example

Response: BlackTaxWalletResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Request body: UpdateBlackTaxWalletRequest · Response: BlackTaxWalletResponse

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

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: List<BeneficiaryResponse>

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Query parameters

NameDefault
page0
size20

Example

Response: Pager<DisbursementResponse>

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Query parameters

NameDefault
page0
size20

Example

Response: Pager<WalletFundingResponse>

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: BlackTaxWalletResponse

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"

Responses

StatusWhen
200Family support wallet paused successfully

POST Resume a family support wallet

POST /blacktax/wallet/{reference}/resume

Scheduled payments fire again.

Headers

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

Path parameters

Name
reference

Example

Response: BlackTaxWalletResponse

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"

Responses

StatusWhen
200Family support wallet resumed successfully

GET Every schedule on a pot

GET /blacktax/wallet/{reference}/schedules

Headers

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

Path parameters

Name
reference

Example

Response: List<ScheduleResponse>

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Response: BlackTaxWalletSummaryResponse

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"

Responses

StatusWhen
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

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

Path parameters

Name
reference

Example

Request body: TopUpRequest · Response: WalletFundingResponse

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

Responses

StatusWhen
200Family support wallet funded successfully

GET List your family support wallets

GET /blacktax/wallets

One per currency.

Headers

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

Example

Response: List<BlackTaxWalletResponse>

curl -X GET "https://api.bridgemoni.com/blacktax/wallets" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Family support wallets retrieved successfully

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