Skip to main content
POST
/
api
/
v1
/
bila
/
transfers
/
mobile-money
Initiate mobile money transfer
curl --request POST \
  --url https://api.example.com/api/v1/bila/transfers/mobile-money \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "amount": 250,
  "reference": "mobile-transfer-001",
  "phone": "0977433571",
  "operator": "airtel",
  "country": "zm",
  "walletId": "68f11209-451f-4a15-bfcd-d916eb8b09f4",
  "narration": "Mobile money payout",
  "recipientName": "Jane Doe"
}
'
{
  "status": true,
  "message": "Operation completed successfully",
  "data": {}
}

Authorizations

x-api-key
string
header
required

Merchant API key (e.g., sk_live_xxx or sk_test_xxx)

Body

application/json
amount
number
required

Transfer amount

Required range: x >= 0.01
Example:

250

reference
string
required

Unique client reference

Example:

"mobile-transfer-001"

phone
string
required

Recipient phone number

Example:

"0977433571"

operator
enum<string>
required

Mobile money operator

Available options:
airtel,
mtn,
zamtel,
vodacom
Example:

"airtel"

country
enum<string>
required

Country code

Available options:
zm,
ng
Example:

"zm"

walletId
string<uuid>
required

Source wallet ID to debit

Example:

"68f11209-451f-4a15-bfcd-d916eb8b09f4"

narration
string

Transfer narration

Maximum string length: 100
Example:

"Mobile money payout"

recipientName
string

Recipient name for the transaction record

Maximum string length: 100
Example:

"Jane Doe"

Response

Transfer initiated successfully

status
boolean
required

Request success status

Example:

true

message
string
required

Response message

Example:

"Operation completed successfully"

data
object

Response data