API reference · Savings & everyday money

Savings agents

GET List the collections made into your plans

GET /savings/agent/deposit

Headers

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

Example

Response: GenericResponseListAgentDepositResponse

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

Responses

StatusWhen
200Deposits retrieved successfully

POST Record cash you collected for a saver

POST /savings/agent/deposit

The alajo, susu or thrift collector's round. The money moves out of your own wallet into the saver's plan the moment you record it - you have already taken their cash, and they must not be left carrying your credit while a confirmation is pending. The saver then confirms. You may pay into a plan they already have; you can never open one for them. Your daily total and how often you may collect from one person are both capped.

Headers

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

Example

Request body: AgentDepositRequest · Response: GenericResponseAgentDepositResponse

curl -X POST "https://api.bridgemoni.com/savings/agent/deposit" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "planReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "amount": 5000.0,
  "collectionMethod": "CASH",
  "confirmationMethod": "OTP",
  "deviceId": "string",
  "geohash": "string"
}'

Responses

StatusWhen
200Deposit collected successfully

GET Read one agent collection

GET /savings/agent/deposit/{reference}

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseAgentDepositResponse

curl -X GET "https://api.bridgemoni.com/savings/agent/deposit/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Deposit retrieved successfully

POST Confirm an agent handed your money over

POST /savings/agent/deposit/{reference}/confirm

Only the saver can confirm. A deposit nobody confirms inside the window confirms itself and is flagged for review - the money already moved, so this is a trust signal rather than a hold on your savings

Headers

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

Path parameters

Name
reference

Example

Request body: AgentDepositConfirmRequest · Response: GenericResponseAgentDepositResponse

curl -X POST "https://api.bridgemoni.com/savings/agent/deposit/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/confirm" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "otp": "482913"
}'

Responses

StatusWhen
200Deposit confirmed successfully

POST Dispute an agent collection

POST /savings/agent/deposit/{reference}/dispute

Say that the deposit is wrong - you did not hand that money over, or not that much. Raising a dispute records your account of it; only an operator can reverse the money, and the agent never can

Headers

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

Path parameters

Name
reference

Example

Request body: AgentDepositDisputeRequest · Response: GenericResponseAgentDepositResponse

curl -X POST "https://api.bridgemoni.com/savings/agent/deposit/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/dispute" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200Dispute raised successfully

POST Send me a new confirmation code

POST /savings/agent/deposit/{reference}/otp

Codes are short-lived, and the window to confirm a collection is not. If yours has expired, or never arrived, this issues a fresh one and cancels the old. Only the saver can ask, only for a deposit still awaiting confirmation, and only a limited number of times

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseAgentDepositResponse

curl -X POST "https://api.bridgemoni.com/savings/agent/deposit/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/otp" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Confirmation code sent successfully

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