POST /v1/verify

Run a single email verification. Returns a score, recommendation, and signal breakdown.

Request

POST /v1/verify

Requires Authorization: Bearer vch_... header. Each non-cached call deducts 1 credit.

Request body

FieldTypeRequiredDescription
emailstringYesEmail address to verify.
namestringNoFull name of the person. Improves person-match signals.
company_namestringNoCompany name. Enables domain age and company signals.
ip_addressstringNoSource IP (v4 or v6). Enables VPN/Tor/geo signals.

Response

Returns 200 OK with the verification result:

FieldTypeDescription
request_idstringUnique ID for this check (e.g. req_8f3a0c921b...).
scoreinteger (0-100)Trust score. Higher is better.
recommendationstringOne of approve, review, or block.
emailobjectEmail signal breakdown.
companyobjectCompany/domain signals.
personobjectPerson-match signals.
ipobjectIP reputation signals.
flagsstring[]Risk flags (if any).
reasoningstringHuman-readable explanation of the score.
cachedbooleanWhether this was served from cache.
processed_in_msintegerProcessing time in milliseconds.

Signal objects

emailvalid (bool), disposable (bool), free_provider (bool), role_based (bool), mx_record (bool).

companydomain (string), domain_alive (bool), domain_age_days (int), has_website (bool), industry_guess (string), size_estimate (string).

personname_matches_email (bool), likely_at_company (bool), confidence (float 0-1).

ipcountry (string), is_vpn (bool), is_tor (bool), risk_score (int 0-100).

Example

Request
curl -X POST https://api.vouchley.getrevlio.com/v1/verify \
  -H "Authorization: Bearer $VOUCHLEY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "john.doe@acme.com",
    "name": "John Doe",
    "company_name": "Acme Inc.",
    "ip_address": "203.0.113.42"
  }'