Phone Number Verification in Benin

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

Benin phone verification routes through MTN Mobile Money and Moov Money. 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

Benin 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": "+2290000000001",
    "country": "BJ",
    "networkCode": "MTN"
  }'

Request body fields

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

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


Supported operators

Operator networkCode
MTN Mobile Money MTN
Moov Money MOOV

Read the result

Successful verification

{
  "id": "d4e5f6g7-...-...-...-...",
  "status": "success",
  "verificationType": "PHONE_NUMBER",
  "identifier": "+2290000000001",
  "country": "BJ",
  "verifiedAt": "2026-04-24T10:08:00.000Z",
  "verified": true,
  "phoneNumber": "+2290000000001",
  "firstName": "Test",
  "lastName": "Hounsou",
  "fullName": "Test Hounsou"
}

Failed verification

{
  "id": "d4e5f6g7-...-...-...-...",
  "status": "failed",
  "verificationType": "PHONE_NUMBER",
  "identifier": "+2290000000001",
  "country": "BJ",
  "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