Phone Number Verification in Mali

Verify a Malian mobile-money subscriber and retrieve the subscriber's name.

Mali phone verification routes through the mobile-money operator's network. On success, the response includes the subscriber's full 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

Mali requires a networkCode to identify the mobile-money operator.

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": "+2230000000001",
    "country": "ML",
    "networkCode": "ORANGE"
  }'

Request body fields

Field Type Required Description
phoneNumber string Yes Malian phone number in E.164 format (e.g. +2230000000001) or without the leading + (stripped internally).
country string Yes Always ML.
networkCode string Yes Mobile-money operator code. See the supported operators table below.

Important: networkCode is required for all Mali phone verifications. Omitting it will result in a NETWORK_CODE_REQUIRED error.


Supported operators

Operator networkCode
Orange Money ORANGE

Read the result

Successful verification

{
  "id": "d4e5f6g7-...-...-...-...",
  "status": "success",
  "verificationType": "PHONE_NUMBER",
  "identifier": "+2230000000001",
  "country": "ML",
  "verifiedAt": "2026-04-24T10:08:00.000Z",
  "verified": true,
  "phoneNumber": "+2230000000001",
  "firstName": "Sandbox",
  "lastName": "Traoré",
  "fullName": "Sandbox Traoré"
}

Failed verification

{
  "id": "d4e5f6g7-...-...-...-...",
  "status": "failed",
  "verificationType": "PHONE_NUMBER",
  "identifier": "+2230000000001",
  "country": "ML",
  "verifiedAt": "2026-04-24T10: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 operator Ask the user to verify their number is correct and active
INVALID_PHONE_NUMBER Phone number format is invalid Validate format (E.164 with or without +) before submitting
INVALID_NETWORK_CODE networkCode not recognised Must be one of the values in the supported operators table
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