ValidationResult
valid— Email valide et délivrableinvalid— Email invalide (syntaxe, domaine inexistant, SMTP rejeté)risky— Email risqué (jetable, role account, aléatoire)unknown— Impossible de vérifier (timeout SMTP, greylisting)
Possible values: [valid, invalid, risky, unknown]
Score de qualité (0 = invalide, 100 = parfait)
Possible values: >= 0 and <= 100
syntax object
[email protected]john.doegmail.comdns object
["gmail-smtp-in.l.google.com"]disposable object
10minutemail.comroleAccount object
Generic prefix: infotypo object
["[email protected]"]randomDetection object
0.05smtp object
250OKenrichment objectnullable
Enrichissement prénom/nom/genre/âge présumé, déduit du local-part. L'âge dépend du pays de référence (cf. paramètre country).
Possible values: [valid, unknown]
95First name detected: Jeandetails object
Jean95DupontPossible values: [male, female]
male98Âge présumé (médiane de la population vivante estimée). Omis si le pays de référence n'est pas couvert par des données d'âge.
7465+Confiance de l'estimation d'âge (0-100).
90ageBasis objectnullable
Base ayant servi à l'estimation d'âge.
Pays de référence retenu (ISO 3166-1 alpha-2).
FROrigine du pays : param (fourni), tld (ccTLD du domaine), default (France par défaut sur domaine ambigu).
Possible values: [param, tld, default]
Source des données d'âge (insee, ssa-mirror, ons, ine) ou null si le pays n'est pas couvert (âge omis).
inseenetwork object
Intelligence réseau de la connexion cliente (géo, ASN, Tor, datacenter). Informationnel/risque uniquement — n'entre PAS dans le score email. Présent quand une IP cliente est disponible et la feature activée.
Possible values: [valid, risky, unknown]
details object
83.50.226.71ISO 3166-1 alpha-2
FRAS3215OrangePossible values: [residential, datacenter, mobile, unknown]
Tor/VPN/proxy. Le datacenter seul en est exclu (signal plus faible).
warnings object[]
Résumé advisory des signaux de risque détectés (réseau + qualité).
Descriptif uniquement : un warning n'implique PAS un rejet — voir
finalDecision / policy pour le verdict appliqué. Absent si aucun
signal.
Possible values: [TOR_EXIT_NODE, ANONYMOUS_NETWORK, DATACENTER_IP, DISPOSABLE_EMAIL, MALICIOUS_DOMAIN, ROLE_ACCOUNT, CATCH_ALL_DOMAIN, RANDOM_LOCALPART, PROFANITY, DUPLICATED_SUBMITTER]
Possible values: [info, warning, error]
data objectnullable
metadata object
14992341v2{
"email": "string",
"status": "valid",
"score": 0,
"syntax": {
"valid": true,
"normalized": "[email protected]",
"localPart": "john.doe",
"domain": "gmail.com"
},
"dns": {
"hasMxRecords": true,
"mxRecords": [
"gmail-smtp-in.l.google.com"
],
"hasARecord": true
},
"disposable": {
"isDisposable": true,
"provider": "10minutemail.com"
},
"roleAccount": {
"isRoleAccount": true,
"reason": "Generic prefix: info"
},
"typo": {
"hasTypo": true,
"suggestions": [
"[email protected]"
]
},
"randomDetection": {
"isRandom": true,
"confidence": 0.05
},
"smtp": {
"performed": true,
"deliverable": true,
"responseCode": 250,
"responseMessage": "OK",
"greylistedDetected": true,
"catchAllDetected": true
},
"enrichment": {
"result": "valid",
"score": 95,
"message": "First name detected: Jean",
"details": {
"firstName": "Jean",
"firstNameScore": 95,
"lastName": "Dupont",
"lastNameScore": 0,
"gender": "male",
"genderScore": 98,
"presumedAge": 74,
"presumedAgeRange": "65+",
"presumedAgeScore": 90,
"ageBasis": {
"country": "FR",
"resolvedFrom": "param",
"source": "insee"
}
}
},
"network": {
"result": "valid",
"details": {
"ip": "83.50.226.71",
"ipCountry": "FR",
"asn": "AS3215",
"isp": "Orange",
"connectionType": "residential",
"isTor": true,
"isDatacenter": true,
"isVpn": true,
"isProxy": true,
"isAnonymous": true
}
},
"warnings": [
{
"code": "TOR_EXIT_NODE",
"severity": "info",
"message": "string",
"data": {}
}
],
"metadata": {
"creditsUsed": 1,
"creditsRemaining": 499,
"processingTimeMs": 2341,
"smtpEnabled": true,
"apiVersion": "v2"
}
}