POST/disburse/v1/withdraw| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token used to authenticate your client. Format: Bearer <token> |
Content-Type | Yes | Use application/json |
x-tenant-id | Optional | Tenant ID override header. If omitted, tenant ID is read from authenticated token |
Authorization is missing or invalid, the API returns 401.| Field | Type | Notes | Example |
|---|---|---|---|
walletAccountNo | number | Whole number | 200001 |
transactionCategory | string | See allowed values below | "USER_DISBURSEMENT" |
requestMethod | string | One of: WEB, MOBILE, USSD | "MOBILE" |
amount | number | Send as number, not string | 50000 |
telephoneNumber | string | Required when payoutMethod = MOBILEMONEY | "256752002106" |
telephoneNetwork | string | Required when payoutMethod = MOBILEMONEY | "AIRTEL" |
remarks | string | Short description | "Weekly withdrawal" |
| Value | When to use |
|---|---|
USER_DISBURSEMENT | Sending money to a member's account |
MERCHANT_SETTLEMENT | Sending money to a merchant's account |
{
"walletAccountNo": 200001,
"transactionCategory": "USER_DISBURSEMENT",
"requestMethod": "MOBILE",
"amount": 50000,
"telephoneNumber": "256752002106",
"telephoneNetwork": "AIRTEL",
"remarks": "Monday withdrawal"
}{
"status": "success",
"message": "Withdrawal request created successfully",
"error": null,
"data": {
"id": "0a3e145f-f1cb-4b2a-9e3d-cbf9fe09debb",
"referenceNo": "WDR-5DAGXJSK",
"walletAccountNo": 200001,
"transactionCategory": "USER_DISBURSEMENT",
"requestMethod": "MOBILE",
"currency": "UGX",
"amount": "50000",
"payoutMethod": "MOBILEMONEY",
"telephoneNumber": "256752002106",
"telephoneNetwork": "AIRTEL",
"remarks": "Monday withdrawal",
"transactionStatus": "PENDING",
"createdAt": "2026-04-07T08:40:53.110Z"
}
}referenceNo for you. Do not send it in the request.currency is stored as UGX.walletAccountNo and amount as numbers, not quoted strings.