Initiate Airtime Purchase
Starts an airtime purchase from walletId (a PERSONAL or BUSINESS wallet). networkProvider is SAFARICOM, AIRTEL or TELKOM, and phoneNumber must belong to that network. amount is whole shillings, minimum 10. The response masks the destination number. Next step: Confirm Airtime Purchase with the returned transactionId.
Headers
Authorization
X-Device-Id
Required on non-GET requests to non-public paths (DeviceSignatureFilter), skipped for GET/whitelisted/multipart requests and in the local profile.
X-Signature
Base64 ECDSA signature over sha256(body) + timestamp + requestId, signed with the device's registered private key.
X-Timestamp
Unix epoch seconds; must be within 5 minutes of server time.
X-Request-Id
Unique per request - reused values are rejected as replays.
Idempotency-Key
Request
This endpoint expects an object.
walletId
amount
networkProvider
phoneNumber
Response
200 OK
code
message
data
Errors
400
Bad Request Error
