Our Phone Verification process performs comprehensive validation of user phone numbers through OTP (One-Time Passcode) verification and risk assessment. This guide explains the structure and contents of a phone verification report.
Report Structure
The verification report is returned as a JSON object containing a phone
object.
Core Response Fields
interface PhoneVerificationResponse {
phone: {
status: 'Approved' | 'Declined' | 'In Review' | 'Not Finished';
phone_number_prefix: string; // The prefix of the phone number, e.g. "+34" for Spain numbers
phone_number: string; // The phone number without the prefix
full_number: string; // The complete international format of the phone number in E.164 format
country_code: string; // The country code of the phone number in ISO 3166-1 alpha-2 format
country_name: string; // The full name of the country associated with the phone number
carrier: {
name: string;
type: 'mobile' | 'landline' | 'voip' | 'unknown';
};
is_disposable: boolean;
is_virtual: boolean;
verification_method: 'sms' | 'whatsapp' | 'viber' | 'telegram' | 'call'; // sms, whatsapp, viber, telegram, call
verification_attempts: number;
verified_at: string; // ISO 8601 timestamp
warnings: {
risk: string;
additional_data: string | null;
log_type: 'information' | 'warning' | 'error';
short_description: string;
long_description: string;
}[];
}
}
Sample JSON Response
{
"phone": {
"status": "Approved",
"country_code": "+1",
"phone_number": "5551234567",
"full_number": "+15551234567",
"country_iso3": "USA",
"country_name": "United States",
"carrier": {
"name": "T-Mobile",
"type": "mobile"
},
"is_disposable": false,
"is_virtual": false,
"verification_method": "sms",
"verification_attempts": 1,
"warnings": [],
"verified_at": "2024-07-28T06:47:35.654321Z"
}
}
For more information about potential warnings during the phone verification process, check our Phone Verification Warnings guide.