Every service is one request.

curl --request POST "https://api.devbox.africa/api/v1/transactions/initiate" \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--header "X-Api-Key: YOUR_API_KEY" \
--data '{
"service": "wallet_debit",
"payload": {
"reference": "ORDER-1042",
"msisdn": "0241234567",
"network": "MTN",
"amount": 1,
"narration": "Wallet debit"
}
}'{ "code": "00", "message": "Operation Successful" }What every request is made of.
The endpoint and the header never change. The service handle and its payload do.
POST https://api.devbox.africa/api/v1/transactions/initiateX-Api-Key: YOUR_API_KEYContent-Type: application/json{ "service": "wallet_debit", "payload": { "reference": "ORDER-1042", "msisdn": "0241234567", "network": "MTN", "amount": 1, "narration": "Wallet debit" }}
{ "code": "00", "message": "Operation Successful", "systemCode": "I000", "systemMessage": "", "data": {}}
- One endpoint
JSON over HTTPS, one URL for Sandbox and Live. Your key decides which environment the request runs in.
- Your key
Keys belong to a product and can only call the services you choose. You see each one once; it can expire after 1 to 365 days, or never, and you can revoke it.
- The service handle
Picks the operation: one of 17, from
wallet_debittoname_validation. - The payload
That service's fields. Give every operation its own reference.
- The response
"00"means it worked. Otherwisedatais null, andsystemCodeis what support will ask you for.
17 handles, one integration.
Copy a handle, send its payload, and you've added a service. Click any of them to copy it.
Every handle has its own section in the API reference.


The API reference is one page.
How to authenticate, every service and its payload, responses and errors, and a console that sends Sandbox requests. Every sample comes in cURL, JavaScript and Python.
From Sandbox to live.
One product, three modes. You move it along from your dashboard.
Build against test values.
Sign up, create a product, pick its services and create a key for them.
- An account
- A product and its services
Go live, within limits.
Ask for it from your product's Go live page in the dashboard.
- A service
- Your Ghana Card number
- A callback URL
- One to three IPv4 addresses
Lift the limits.
Compliance reviews your request. Once it's approved, your product's limits are removed.
- Your business details
- Your documents
- A risk profile
Before you ship.
Four rules from the API reference.
Use a unique reference for every operation.
Retry only transient failures, with exponential backoff.
Don't retry validation or authentication errors automatically.
Never log API keys or sensitive customer data.