Skip to main content

Number Verification

Number Verification API

The Number Verification endpoint verifies that a user actually owns an MTN phone number. This happens in two steps:

  1. Initiate (Generates a verification URL for the user)
  2. Direct Verify (Instantly verifies numbers that completed the flow recently)

1. Initiate Verification Flow​

Generates a secure proxy URL to send to the user's mobile device via SMS, WhatsApp, or WebView. The user must disconnect from WiFi and use their MTN cellular data to access this link.

POST: https://api.creditchek.africa/v1/telco/v1/ng/mtn/number-verification/initiate

Request Parameters​

NamePositionRequiredDescription
tokenHeaderTrueapp secret
Example Request
curl --location 'https://api.creditchek.africa/v1/telco/v1/ng/mtn/number-verification/initiate' \
--header 'token: {{token}}'

Sample Response​

Sample Response
{
"status": true,
"data": {
"authorizationUrl": "https://verify.creditchek.africa/authorize?state=<state_token>",
"instructions": "User must access this URL using MTN mobile data (not WiFi)"
},
"message": "Authorization URL generated successfully",
"error": false
}
Client Instructions

Send the authorizationUrl to the user's mobile device via SMS, WhatsApp, or natively open it in your mobile app WebView. The user must disconnect from WiFi and use their MTN cellular data.

Web Flow User Interface​

When the user opens the authorizationUrl on their device, they will go through the verification prompt and receive a success or failure screen:

Verification PromptVerification SuccessVerification Failed

2. Direct API Verification​

Once a user has completed the Web Flow, you can use this endpoint to instantly verify their number again without requiring user interaction.

POST: https://api.creditchek.africa/v1/telco/v1/ng/mtn/number-verification/verify

Request Parameters​

NamePositionRequiredDescription
tokenHeaderTrueapp secret
phoneNumberBodyTruePhone number to verify (e.g., +2347062021000)
Sample Request
{
"phoneNumber": "+2347062021000"
}

Sample Response​

Success response when the number is verified

Sample Response
{
"status": true,
"data": {
"phoneNumber": "+2347062021000",
"verified": true
},
"message": "Verification completed",
"error": false
}

Error Responses​

Status CodeMeaningAction Needed
404Token Not FoundNo saved token found. Instruct user to complete the POST /initiate Web Flow.
401Token ExpiredNetwork Token has expired. Instruct user to complete the POST /initiate Web Flow again.