Skip to navigation

Initiate Airtime Purchase

View as Markdown

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

AuthorizationstringOptional
X-Device-IdstringOptional

Required on non-GET requests to non-public paths (DeviceSignatureFilter), skipped for GET/whitelisted/multipart requests and in the local profile.

X-SignaturestringOptional

Base64 ECDSA signature over sha256(body) + timestamp + requestId, signed with the device's registered private key.

X-TimestampstringOptional

Unix epoch seconds; must be within 5 minutes of server time.

X-Request-IdstringOptional

Unique per request - reused values are rejected as replays.

Idempotency-KeystringOptional

Request

This endpoint expects an object.
walletIdstringOptional
amountintegerOptional
networkProviderstringOptional
phoneNumberstringOptionalformat: "utc-millisec"

Response

200 OK
codeintegerOptional
messagestringOptional
dataobjectOptional

Errors

400
Bad Request Error