Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.usebila.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Error Codes

StatusCodeCauseFix
400INVALID_PHONEWrong phone formatUse format 0977433571
400INVALID_OPERATORUnrecognised operatorUse mtn, airtel, or zamtel
400INVALID_AMOUNTBelow minimumUse amount ≥ 0.01
400INSUFFICIENT_BALANCETransfer exceeds balanceCheck balance via GET /bila/accounts
401UNAUTHORIZEDKey missing or invalidVerify prefix is sk_test_ and header is x-api-key
409DUPLICATE_REFERENCEReference already usedUse a unique reference per transaction
429RATE_LIMITEDToo many requestsImplement exponential backoff

Simulating Failures

To trigger a failed transaction, include the substring fail anywhere in your reference:
INV-2026-fail-001       ✓ fails
test-payment-will-fail  ✓ fails
INV-2026-001            ✓ succeeds
The sandbox does not expose specific PSP error codes. Outcomes are binary — successful or failed — with a message string stating the reason.