Phone Number Verification in Ethiopia
Verify an Ethiopian mobile-wallet subscriber and retrieve the wallet holder's full name.
Ethiopia phone verification routes through the national interoperability hub, which covers Telebirr and M-Pesa wallets.
Prerequisites
You'll need an API key. See Quickstart or Authentication if you don't have one yet.
Note: Verification endpoints use an API key in the
X-API-Keyheader โ not a Bearer token. Verification POST requests also require anIdempotency-Keyheader.
Make the verification request
Ethiopia requires a networkCode to identify the mobile-wallet operator.
curl -X POST https://api.lira.com/api/v1/verify/phone \
-H "X-API-Key: YOUR_API_KEY" \
-H "Idempotency-Key: YOUR_IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{
"phoneNumber": "+251911000001",
"country": "ET",
"networkCode": "TELEBIRR"
}'
Request body fields
| Field | Type | Required | Description |
|---|---|---|---|
phoneNumber |
string | Yes | Ethiopian phone number in E.164 format (e.g. +251911000001). |
country |
string | Yes | Always ET. |
networkCode |
string | Yes | Mobile-wallet operator. Must be exactly TELEBIRR or MPESA. |
Important:
networkCodeis required for all Ethiopia phone verifications. Omitting it returnsNETWORK_CODE_REQUIRED. Values other thanTELEBIRRorMPESAreturnINVALID_NETWORK_CODE.
Supported operators
| Operator | networkCode |
|---|---|
| Telebirr (Ethio Telecom) | TELEBIRR |
| M-Pesa | MPESA |
Read the result
Successful verification
{
"id": "d4e5f6g7-...-...-...-...",
"status": "success",
"verificationType": "PHONE_NUMBER",
"identifier": "+251911000001",
"country": "ET",
"verifiedAt": "2026-05-08T10:08:00.000Z",
"verified": true,
"phoneNumber": "+251911000001",
"fullName": "Almaz Kebede Tadesse"
}
Failed verification
{
"id": "d4e5f6g7-...-...-...-...",
"status": "failed",
"verificationType": "PHONE_NUMBER",
"identifier": "+251911000002",
"country": "ET",
"verifiedAt": "2026-05-08T10:08:00.000Z",
"verified": false,
"error": {
"code": "ACCOUNT_NOT_FOUND",
"message": "Wallet holder not found"
}
}
Note: A
200 OKHTTP response does not mean the verification succeeded. Always check thestatusfield.
Error handling
error.code |
Cause | Action |
|---|---|---|
ACCOUNT_NOT_FOUND |
Phone number not registered with the selected wallet operator | Ask the user to verify the number and try the other operator if applicable |
INVALID_PHONE_NUMBER |
Phone number format is invalid | Validate format (E.164) before submitting |
INVALID_NETWORK_CODE |
networkCode not TELEBIRR or MPESA |
Use one of the two supported values |
NETWORK_CODE_REQUIRED |
Verification submitted without networkCode |
Add networkCode to the request |
PROVIDER_ERROR |
Upstream system returned an error | Retry with exponential backoff |
For the full error code reference, see Errors.
Next steps
- Bank Account in Ethiopia โ verify Ethiopian bank accounts
- Phone Number Overview โ general phone verification guide
- Errors โ complete error code reference
