Developers · v1
Put goal saving inside your own product.
The same engine behind My Goal Needs Money, opened up. Your customers save and save towards a goal from their mobile money wallet, friends can contribute, and the money is paid out when the picture is complete.
BetaPrivate crowdfunding platform — pending SEC approval.
Online shops
Let a customer save towards a product week by week, and ship it once the picture is complete.
Weddings and events
A couple creates a goal and shares one link; friends contribute towards the gift.
Banks and lenders
Offer a guided savings product to graduates building a house, funded straight from their wallet.
Investment firms
Collect regular contributions from your clients and track every payment through webhooks.
Getting started
- 1. Register your organisation and copy your test key — it appears once.
- 2. Call the API with
Authorization: Bearer YOUR_KEY. - 3. Build against test keys — nothing is debited in test mode.
- 4. Request live access when you are ready. We review and switch you on.
Base address: https://mygoalneeds.money/api/public/v1
Fees match the app exactly: 2.5% with a GH₵0.50 minimum on money in and money out. We absorb the payment service's own charge. Amounts are in Ghana cedis.
Endpoints
/pingCheck your key
Confirms your key works and tells you which organisation and mode (test or live) it belongs to.
curl https://mygoalneeds.money/api/public/v1/ping -H "Authorization: Bearer YOUR_KEY"
/customersCreate a customer
Registers one of your customers on the platform. Send the same external_id again to get the same customer back.
external_idstring · required — Your own id for this customer.namestringphonestring · required — Mobile money number, e.g. 0244000000.networkMTN | Telecel | AT
curl -X POST https://mygoalneeds.money/api/public/v1/customers \
-H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"external_id":"cust_1","name":"Ama Mensah","phone":"0244000000","network":"MTN"}'/customersList your customers
Everyone you have registered, newest first.
/goalsCreate a goal
Starts a goal for one of your customers and sets up the automatic debit. The customer approves the standing order on their phone.
customer_idstring · required — The external_id you used.namestring · requiredtargetnumber · required — Total amount to reach, in cedis.amountnumber · required — Amount per debit.frequencyDAILY | WEEKLY | MONTHLY — Defaults to WEEKLY.tilesnumber — Tiles covering the picture, 4 to 100. Defaults to 12.imagestring — Picture as a data URL. Optional.
curl -X POST https://mygoalneeds.money/api/public/v1/goals \
-H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
-d '{"customer_id":"cust_1","name":"New laptop","target":1200,"amount":50}'/goalsList goals
Every goal created with your key, with its progress.
/goals/{id}Goal progress
One goal: amount saved, tiles uncovered, status and every payment received.
/goals/{id}/statePause, resume or stop a goal
Controls the automatic debit.
statepause | resume | stop · required
/goals/{id}/topupsAdd a topup
Takes an extra payment from the customer's wallet on any day. They approve it on their phone.
amountnumber · required — 1 to 5000 cedis.
/goals/{id}/shareCreate a contribution link
Returns a public link friends and family can use to contribute to this goal.
/goals/{id}/payoutRequest a payout
Requests the saved money be sent to the customer's wallet. The service fee is deducted from the amount.
reasoncompleted | stopped — Defaults to completed.walletstring — Defaults to the goal's own wallet.networkMTN | Telecel | ATnamestring — Account name.
Notifications
Set one address on your keys page and we post a signed message there when something happens, so your own system stays in step without asking us repeatedly.
payment.succeeded— A weekly debit, a topup or a gift lands in a goal.payment.failed— A payment attempt did not go through.goal.completed— A goal reaches its target.payout.requested— A payout has been requested for a goal.
Every message carries an X-MGNM-Signature header: a SHA-256 signature of the exact body, made with your signing secret. Check it before trusting the message. Failed deliveries are retried for an hour.
Ready?
Register your organisation and start with a test key today.
Get a test key