Multi-validation
Validate multiple inputs in a single call (email, phone, KYC, age, TPS, global address, UK postcode, UK PAF address, IP fraud, IP geolocation, SIM Swap, breach, and name). Only supplied fields are processed and only corresponding result blocks are returned.
Response mapping: Each nested object mirrors its standalone validator response. For full field descriptions and examples, see the corresponding single-validator pane.
Response mapping: Each nested object mirrors its standalone validator response. For full field descriptions and examples, see the corresponding single-validator pane.
Endpoint
POST
https://api.provero.io/api/validate/multiple
Headers
Authorization:
Content-Type: application/json
Accept: application/json
Request Body
Request Payload Example (JSON)
{
"age": {
"mobile_number": "+447746266147",
"minimum_age": 18
},
"email": {
"email": "test@example.com"
},
"phone": {
"phone": "+447777777777",
"route": "detailed"
},
"address": {
"address": {
"addressLines": [
"1600 Pennsylvania Avenue NW, Washington, DC 20500, USA"
]
}
},
"uk_postcode": {
"postcode": "SW1A 2AA"
},
"uk_address": {
"full_address": "10 Downing Street London SW1A 2AA"
},
"kyc": {
"mobile_number": "+447756562435",
"full_name": "Federica Sanchez Arjona",
"date_of_birth": "1978-08-22"
},
"tps": {
"phone": "+441234567890"
},
"sim_swap": {
"phone": "+447700900123",
"period_days": 30
},
"ip": {
"ip": "8.8.8.8",
"user_agent": "Mozilla/5.0",
"user_language": "en"
},
"breach": {
"type": "email",
"value": "example@email.com",
"dob": "1990-06-01"
},
"name": {
"name": "John Doe"
},
"geoip": {
"ip": "8.8.8.8",
"address": "London",
"geoMatch": true
}
}
Request Examples
Choose language Bash (cURL) 5 examples
curl -X POST https://api.provero.io/api/validate/multiple \
-H "Authorization: Bearer REPLACE_WITH_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"age": {
"mobile_number": "+447746266147",
"minimum_age": 18
},
"email": {
"email": "test@example.com"
},
"phone": {
"phone": "+447777777777",
"route": "detailed",
},
"address": {
"address": {
"addressLines": ["1600 Pennsylvania Avenue NW, Washington, DC 20500, USA"]
}
},
"uk_postcode": {"postcode": "SW1A 2AA"},
"uk_address": {
"full_address": "10 Downing Street London SW1A 2AA"
},
"kyc": {
"mobile_number": "+447756562435",
"full_name": "Federica Sanchez Arjona",
"date_of_birth": "1978-08-22"
},
"tps": {
"phone": "+441234567890"
},
"sim_swap": {
"phone": "+447700900123",
"period_days": 30
},
"ip": {
"ip": "8.8.8.8",
"user_agent": "Mozilla/5.0",
"user_language": "en"
},
"breach": {
"type": "email",
"value": "test@example.com",
"dob": "1990-06-01"
},
"geoip": {
"ip": "8.8.8.8",
"address": "London",
"geoMatch": true
}
}'
import requests
payload = {
"age": {
"mobile_number": "+447746266147",
"minimum_age": 18
},
"email": {
"email": "test@example.com"
},
"phone": {
"phone": "+447777777777",
"route": "detailed",
},
"address": {
"address": {
"addressLines": ["1600 Pennsylvania Avenue NW, Washington, DC 20500, USA"]
}
},
"uk_postcode": {"postcode": "SW1A 2AA"},
"uk_address": {
"full_address": "10 Downing Street London SW1A 2AA"
},
"kyc": {
"mobile_number": "+447756562435",
"full_name": "Federica Sanchez Arjona",
"date_of_birth": "1978-08-22"
},
"tps": {
"phone": "+441234567890"
},
"sim_swap": {
"phone": "+447700900123",
"period_days": 30
},
"ip": {
"ip": "8.8.8.8",
"user_agent": "Mozilla/5.0",
"user_language": "en"
},
"breach": {
"type": "email",
"value": "test@example.com",
"dob": "1990-06-01"
},
"geoip": {
"ip": "8.8.8.8",
"address": "London",
"geoMatch": true
}
}
url = "https://api.provero.io/api/validate/multiple"
headers = {
"Authorization": "Bearer REPLACE_WITH_API_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.json())
<?php
$payload = [
"age" => [
"mobile_number" => "+447746266147",
"minimum_age" => 18
],
"email" => [
"email" => "test@example.com"
],
"phone" => [
"phone" => "+447777777777",
"route" => "detailed",
],
"address" => [
"address" => [
"addressLines" => ["1600 Pennsylvania Avenue NW, Washington, DC 20500, USA"]
]
],
"uk_postcode" => ['postcode' => 'SW1A 2AA'],
"uk_address" => [
"full_address" => "10 Downing Street London SW1A 2AA"
],
"kyc" => [
"mobile_number" => "+447756562435",
"full_name" => "Federica Sanchez Arjona",
"date_of_birth" => "1978-08-22"
],
"tps" => [
"phone" => "+441234567890"
],
"sim_swap" => [
"phone" => "+447700900123",
"period_days" => 30
],
"ip" => [
"ip" => "8.8.8.8",
"user_agent" => "Mozilla/5.0",
"user_language" => "en"
],
"breach" => [
"type" => "email",
"value" => "test@example.com",
"dob" => "1990-06-01"
],
"geoip" => [
"ip" => "8.8.8.8",
"address" => "London",
"geoMatch" => true
]
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.provero.io/api/validate/multiple",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer REPLACE_WITH_API_TOKEN",
"Content-Type: application/json",
"Accept: application/json"
]
]);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Error:' . curl_error($curl);
}
curl_close($curl);
echo $response;
$payload = [
'age' => [
'mobile_number' => '+447746266147',
'minimum_age' => 18,
],
'email' => [
'email' => 'test@example.com',
],
'phone' => [
'phone' => '+447777777777',
'route' => 'detailed',
],
'address' => [
'address' => [
'addressLines' => ['1600 Pennsylvania Avenue NW, Washington, DC 20500, USA'],
],
],
'uk_postcode' => ['postcode' => 'SW1A 2AA'],
'uk_address' => [
'full_address' => '10 Downing Street London SW1A 2AA',
],
'kyc' => [
'mobile_number' => '+447756562435',
'full_name' => 'Federica Sanchez Arjona',
'date_of_birth' => '1978-08-22',
],
'tps' => [
'phone' => '+441234567890',
],
'sim_swap' => [
'phone' => '+447700900123',
'period_days' => 30,
],
'ip' => [
'ip' => '8.8.8.8',
'user_agent' => 'Mozilla/5.0',
'user_language' => 'en',
],
'breach' => [
'type' => 'email',
'value' => 'test@example.com',
],
'geoip' => [
'ip' => '8.8.8.8',
'address' => 'London',
'geoMatch' => true,
],
];
$response = Http::withToken('REPLACE_WITH_API_TOKEN')
->acceptJson()
->post('https://api.provero.io/api/validate/multiple', $payload);
return $response->json();
const payload = {
"age": {
"mobile_number": "+447746266147",
"minimum_age": 18
},
"email": {
"email": "test@example.com"
},
"phone": {
"phone": "+447777777777",
"route": "detailed",
},
"address": {
"address": {
"addressLines": ["1600 Pennsylvania Avenue NW, Washington, DC 20500, USA"]
}
},
"uk_postcode": {"postcode": "SW1A 2AA"},
"uk_address": {
"full_address": "10 Downing Street London SW1A 2AA"
},
"kyc": {
"mobile_number": "+447756562435",
"full_name": "Federica Sanchez Arjona",
"date_of_birth": "1978-08-22"
},
"tps": {
"phone": "+441234567890"
},
"sim_swap": {
"phone": "+447700900123",
"period_days": 30
},
"ip": {
"ip": "8.8.8.8",
"user_agent": "Mozilla/5.0",
"user_language": "en"
},
"breach": {
"type": "email",
"value": "test@example.com",
"dob": "1990-06-01"
},
"geoip": {
"ip": "8.8.8.8",
"address": "London",
"geoMatch": true
}
};
fetch("https://api.provero.io/api/validate/multiple", {
method: "POST",
headers: {
"Authorization": "Bearer REPLACE_WITH_API_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
},
body: JSON.stringify(payload)
})
.then(r => r.json())
.then(console.log)
.catch(console.error);
Response Examples
Choose response example Success 8 examples
{
"age": {
"status": "success",
"verification_id": "age_123456",
"mobile_number": "+447746266147",
"minimum_age": 18,
"meets_age_requirement": true,
"identity_verified": true,
"adult_content_restriction_active": false,
"parental_controls_active": false,
"mobile_network_code": "23410"
},
"email": {
"emailAddress": "test@example.com",
"isSyntaxValid": true,
"isMailboxDeliverable": false,
"isCatchAll": false,
"typoSuggestion": false,
"isDisposable": false,
"isRoleBased": false,
"riskLevel": "HIGH",
"checkResult": "missing_mx"
},
"phone": {
"results": [
{
"to": "+447777777777",
"mccMnc": "23420",
"imsi": "23420",
"originalNetwork": {
"networkName": "Telefonica UK",
"networkPrefix": "1234",
"countryName": "United Kingdom of Great Britain and Northern Ireland",
"countryPrefix": "44",
"networkId": ""
},
"status": {
"groupId": 3,
"groupName": "DELIVERED",
"id": 5,
"name": "DELIVERED_TO_HANDSET",
"description": "The message has reached the recipient\u2019s device successfully."
},
"ported": true,
"portedNetwork": {
"networkName": "Hutchison 3G UK (20)",
"networkPrefix": "1234",
"countryName": "United Kingdom of Great Britain and Northern Ireland",
"countryPrefix": "44",
"networkId": ""
},
"error": {
"groupId": 0,
"groupName": "Ok",
"id": 0,
"name": "NO_ERROR",
"description": "The request was processed without any issues.",
"permanent": false
}
}
]
},
"address": {
"address": {
"address_line_1": "1600 Pennsylvania Avenue NW",
"address_line_2": "",
"address_line_3": "",
"locality": "Washington",
"sublocality": "",
"administrative_area": "DC",
"postal_code": "20500",
"sorting_code": "",
"country_code": "US",
"language_code": "en",
"formatted_address": "1600 Pennsylvania Avenue NW, Washington, DC 20500, USA"
},
"verdict": {
"validationGranularity": "PREMISE",
"addressComplete": true,
"possibleNextAction": "ACCEPT"
}
},
"uk_postcode": {
"valid": true,
"postcode": "SW1A 2AA",
"address": {
"Address1": "Downing Street",
"Town": "London",
"Postcode": "SW1A 2AA"
}
},
"uk_address": {
"query": "10 Downing Street London SW1A 2AA",
"valid": true,
"address_complete": true,
"count": 1,
"fit": 1,
"confidence": 1,
"organisation_match": "FULL",
"premise_match": "FULL",
"postcode_match": "FULL",
"thoroughfare_match": "FULL",
"locality_match": "FULL",
"post_town_match": "FULL",
"match": {
"building_number": "10",
"thoroughfare": "Downing Street",
"post_town": "London",
"postcode": "SW1A 2AA"
}
},
"kyc": {
"status": "success",
"verification_id": "kyc_123e4567-e89b-12d3-a456-426614174000",
"mobile_number": "+447756562435",
"mobile_network_code": "23410",
"results": {
"full_name": {
"result": "match"
},
"date_of_birth": {
"result": "match"
}
}
},
"tps": {
"phone": "tel:+44-1234-567890",
"onTps": false,
"tpsRegisteredDate": "",
"onCtps": true,
"ctpsRegisteredDate": "2023-05-08",
"prettierPhoneNumber": "01234 567890",
"tpsExpiry": "2026-08-25"
},
"sim_swap": {
"phone": "+447700900123",
"phone_valid": true,
"period_days": 30,
"sim_swapped": false,
"status": "not_swapped"
},
"ip": {
"value": "8.8.8.8",
"proxy": false,
"isp": "Google",
"organization": "Google DNS",
"asn": "15169",
"host": "dns.google",
"countryCode": "US",
"city": "Mountain View",
"region": "California",
"isCrawler": false,
"connectionType": "none",
"latitude": "37.38999939",
"longitude": "-122.06999969",
"zipCode": "N/A",
"timezone": "America/Los_Angeles",
"vpn": false,
"tor": false,
"activeVpn": false,
"activeTor": false,
"recentAbuse": false,
"abuseVelocity": "none",
"botStatus": false,
"mobile": false,
"fraudScore": 0,
"highRiskAttacks": null,
"sharedConnection": null,
"dynamicConnection": null,
"securityScanner": null,
"trustedNetwork": null,
"operatingSystem": "UNK UNK",
"browser": "UNK UNK",
"deviceModel": "N/A",
"deviceBrand": "N/A",
"frequentAbuser": null
},
"breach": {
"value": "test@email.com",
"type": "email",
"leaks": [
{
"name": "Adobe",
"domain": "adobe.com",
"breachDate": "2013-10-04",
"description": "User profile and password hints were exposed."
}
],
"ageAtFirstBreach": 23
},
"geoip": {
"country": "United States",
"regionName": "Virginia",
"city": "Ashburn",
"zip": "20149",
"lat": 39.03,
"lon": -77.5,
"ip": "8.8.8.8",
"distance": {
"km": 3598.695068406005,
"mi": 2236.1247533505075
},
"geoMatch": {
"country": false,
"city": false
}
}
}
{
"message": "The email field must be a valid email address.",
"errors": {
"email.email": [
"The email field must be a valid email address."
]
}
}
{
"message": "The string supplied did not seem to be a phone number.",
"errors": {
"phone.phone": [
"The string supplied did not seem to be a phone number."
],
"phone.ported": [
"The phone.ported field must be true or false."
],
"phone.route": [
"The route value must be one of: standard, detailed"
]
}
}
{
"message": "The address field is required.",
"errors": {
"address.address": [
"The address field is required."
]
}
}
{
"message": "The string supplied did not seem to be a phone number.",
"errors": {
"tps.phone": [
"The string supplied did not seem to be a phone number."
]
}
}
{
"message": "The ip.ip field must be a valid IP address.",
"errors": {
"ip.ip": [
"The ip.ip field must be a valid IP address."
]
}
}
{
"message": "The ip field is required when geoip is true.",
"errors": {
"geoip.ip": [
"The geoip.ip field must be a valid IP address."
],
"geoip.geoMatch": [
"The geoip.geo match field must be true or false."
]
}
}
{
"requestError": {
"serviceException": {
"messageId": "Error message",
"code": 400
}
}
}