Phone Number Verification in Zambia

Verify a Zambian mobile phone number and retrieve the subscriber's name.

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-Key header — not a Bearer token.


Make the verification request

Zambia requires a networkCode to identify the mobile operator. Use lowercase values.

curl -X POST https://api.lira.com/api/v1/verify/phone \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumber": "0977000000",
    "country": "ZM",
    "networkCode": "mtn"
  }'

Request body fields

Field Type Required Description
phoneNumber string Yes Zambian phone number. Local format (e.g. 0977000000) or E.164 (e.g. +260977000000).
country string Yes Always ZM.
networkCode string Yes Mobile operator. Must be one of: airtel, mtn, zamtel. Use lowercase.
mode string No sync (default) or async. Use async to receive the result via webhook.

Important: The networkCode must be lowercase. Sending MTN instead of mtn will result in an error. This differs from Ghana, which uses uppercase network codes.

Supported operators

Operator networkCode
Airtel Zambia airtel
MTN Zambia mtn
Zamtel zamtel

Read the result

Successful verification

{
  "id": "ver_d4e5f6g7-...",
  "status": "success",
  "verificationType": "PHONE_NUMBER",
  "identifier": "0977000000",
  "country": "ZM",
  "verifiedAt": "2026-04-08T10:08:00.000Z",
  "verified": true,
  "phoneNumber": "0977000000",
  "fullName": "Chanda Mwale"
}

Note: Zambia phone verifications return fullName only. Individual name components (firstName, lastName) and dateOfBirth are not available for Zambian numbers.

Failed verification

{
  "id": "ver_d4e5f6g7-...",
  "status": "failed",
  "verificationType": "PHONE_NUMBER",
  "identifier": "0977000000",
  "country": "ZM",
  "verifiedAt": "2026-04-08T10:08:00.000Z",
  "verified": false,
  "error": {
    "code": "SUBSCRIBER_NOT_FOUND",
    "message": "No subscriber found for the provided phone number"
  }
}

Note: A 200 OK HTTP response does not mean the verification succeeded. Always check the status field.


Error handling

error.code Cause Action
SUBSCRIBER_NOT_FOUND Phone number not registered with the carrier Ask the user to verify their number is correct and active
INVALID_PHONE_NUMBER Phone number format is invalid Validate format (local or E.164) before submitting
INVALID_NETWORK_CODE networkCode not recognised Must be one of: airtel, mtn, zamtel (lowercase)
NETWORK_CODE_REQUIRED Verification submitted without networkCode Add networkCode to the request
PROVIDER_ERROR Upstream system returned an error Retry with exponential backoff
PROVIDER_TIMEOUT Upstream system timed out Retry — transient error

For the full error code reference, see Errors.


Next steps