Skip to content

Combined risk check

POST
/v1/check
curl --request POST \
--url https://api.validationcheck.net/v1/check \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "email": "example", "ip": "example", "phone": "example", "country": "example", "context": "signup", "bypass_cache": true }'

Runs email, IP and phone checks together and returns one verdict with cross-signals. Costs the sum of the billed parts.

Media typeapplication/json
object
email
string | null
<= 320 characters
ip
string | null
<= 64 characters
phone
string | null
<= 40 characters
country
string | null
>= 2 characters <= 2 characters
context
string | null
Allowed values: signup lead checkout
bypass_cache

Skip the 7-day result cache and run a fresh, billed lookup.

boolean | null

Lookup result

Media typeapplication/json
object
success
required
boolean
data
required
object
request
required
object
id
required
string
type
required
string
input
timestamp
required
string
processing_time_ms
required
integer
metadata
required
object
api_version
required
string
Allowed values: 1
credits_used
required
integer
credits_remaining
required

Null in test mode.

integer | null
cache_hit
required
boolean
test_mode
required
boolean
data_sources
required
Array<string>
verdict
required
object
status
required
string
reason
required
string
risk
required
object
score
required
integer
<= 100
level
required
string
Allowed values: low medium high critical
factors
required
Array<string>
confidence
required
string
Allowed values: low medium high
details
required
object
email
required
object
normalized
required
string
local_part
required
string
domain
required
string
syntax_valid
required
boolean
mx_found
required
boolean
mx_records
required
Array<string>
smtp_check
required
string
Allowed values: deliverable undeliverable catch_all unknown skipped unavailable
is_disposable
required
boolean
is_role
required
boolean
is_free_provider
required
boolean
provider
required
string | null
is_catch_all
required
boolean
did_you_mean
required
string | null
domain_age_days
required
integer | null
has_spf
required
boolean | null
has_dmarc
required
boolean | null
verdict
required
object
status
required
string
reason
required
string
risk
required
object
score
required
integer
<= 100
level
required
string
Allowed values: low medium high critical
factors
required
Array<string>
confidence
required
string
Allowed values: low medium high
ip
required
object
ip
required
string
version
required
Any of:
number
Allowed values: 4
location
required
object
country
required
string | null
country_code
required
string | null
region
required
string | null
city
required
string | null
postal
required
string | null
lat
required
number | null
lon
required
number | null
timezone
required
string | null
continent
required
string | null
network
required
object
asn
required
integer | null
as_name
required
string | null
isp
required
string | null
org
required
string | null
connection_type
required
string | null
Allowed values: residential mobile business datacenter
flags
required
object
is_vpn
required
boolean
vpn_provider
required
string | null
is_proxy
required
boolean
is_tor
required
boolean
is_datacenter
required
boolean
is_cloud
required
boolean
cloud_provider
required
string | null
is_bogon
required
boolean
on_blocklists
required
Array<string>
reverse_dns
required
string | null
verdict
required
object
status
required
string
reason
required
string
risk
required
object
score
required
integer
<= 100
level
required
string
Allowed values: low medium high critical
factors
required
Array<string>
confidence
required
string
Allowed values: low medium high
phone
required
object
e164
required
string | null
national_format
required
string | null
international_format
required
string | null
country_code
required
string | null
country
required
object
code
required
string
name
required
string
valid
required
boolean
possible
required
boolean
line_type
required
string
Allowed values: mobile landline voip toll_free premium unknown
carrier
required
object
name
required
string
ocn
required
string | null
mcc
required
string | null
mnc
required
string | null
type
required
string | null
ported
required
boolean | null
original_carrier
required
string | null
location
required
object
region
required
string | null
rate_center
required
string | null
timezone
required
string | null
routing
required
object
lrn
required
string
lata
required
string | null
coverage
required
string
Allowed values: live numbering_plan
verdict
required
object
status
required
string
reason
required
string
risk
required
object
score
required
integer
<= 100
level
required
string
Allowed values: low medium high critical
factors
required
Array<string>
confidence
required
string
Allowed values: low medium high
signals
required
object
email_ip_country_match
required
boolean | null
phone_ip_country_match
required
boolean | null
disposable_and_vpn
required
boolean
context
required
string | null
Allowed values: signup lead checkout
recommendation
required
object
action
required
string
Allowed values: approve verify review block
message
required
string
key
additional properties
partial
required

A data source timed out or failed; some fields are null.

boolean

Example

{
"success": true,
"data": {
"metadata": {
"api_version": "1"
},
"risk": {
"level": "low",
"confidence": "low"
},
"details": {
"email": {
"smtp_check": "deliverable",
"risk": {
"level": "low",
"confidence": "low"
}
},
"ip": {
"version": 4,
"connection_type": "residential",
"risk": {
"level": "low",
"confidence": "low"
}
},
"phone": {
"line_type": "mobile",
"coverage": "live",
"risk": {
"level": "low",
"confidence": "low"
}
},
"context": "signup"
},
"recommendation": {
"action": "approve"
}
}
}

Error

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: INVALID_REQUEST INVALID_INPUT MISSING_FIELD UNAUTHORIZED INSUFFICIENT_CREDITS FORBIDDEN_SCOPE ACCOUNT_SUSPENDED NOT_FOUND IDEMPOTENCY_CONFLICT INPUT_LIMIT_EXCEEDED RATE_LIMITED INTERNAL_ERROR UPSTREAM_UNAVAILABLE MAINTENANCE
message
required
string
docs_url
required
string format: uri
request_id
required
string

Example

{
"success": false,
"error": {
"code": "INVALID_REQUEST"
}
}

Error

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: INVALID_REQUEST INVALID_INPUT MISSING_FIELD UNAUTHORIZED INSUFFICIENT_CREDITS FORBIDDEN_SCOPE ACCOUNT_SUSPENDED NOT_FOUND IDEMPOTENCY_CONFLICT INPUT_LIMIT_EXCEEDED RATE_LIMITED INTERNAL_ERROR UPSTREAM_UNAVAILABLE MAINTENANCE
message
required
string
docs_url
required
string format: uri
request_id
required
string

Example

{
"success": false,
"error": {
"code": "INVALID_REQUEST"
}
}

Error

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: INVALID_REQUEST INVALID_INPUT MISSING_FIELD UNAUTHORIZED INSUFFICIENT_CREDITS FORBIDDEN_SCOPE ACCOUNT_SUSPENDED NOT_FOUND IDEMPOTENCY_CONFLICT INPUT_LIMIT_EXCEEDED RATE_LIMITED INTERNAL_ERROR UPSTREAM_UNAVAILABLE MAINTENANCE
message
required
string
docs_url
required
string format: uri
request_id
required
string

Example

{
"success": false,
"error": {
"code": "INVALID_REQUEST"
}
}

Error

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: INVALID_REQUEST INVALID_INPUT MISSING_FIELD UNAUTHORIZED INSUFFICIENT_CREDITS FORBIDDEN_SCOPE ACCOUNT_SUSPENDED NOT_FOUND IDEMPOTENCY_CONFLICT INPUT_LIMIT_EXCEEDED RATE_LIMITED INTERNAL_ERROR UPSTREAM_UNAVAILABLE MAINTENANCE
message
required
string
docs_url
required
string format: uri
request_id
required
string

Example

{
"success": false,
"error": {
"code": "INVALID_REQUEST"
}
}

Error

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: INVALID_REQUEST INVALID_INPUT MISSING_FIELD UNAUTHORIZED INSUFFICIENT_CREDITS FORBIDDEN_SCOPE ACCOUNT_SUSPENDED NOT_FOUND IDEMPOTENCY_CONFLICT INPUT_LIMIT_EXCEEDED RATE_LIMITED INTERNAL_ERROR UPSTREAM_UNAVAILABLE MAINTENANCE
message
required
string
docs_url
required
string format: uri
request_id
required
string

Example

{
"success": false,
"error": {
"code": "INVALID_REQUEST"
}
}

Error

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: INVALID_REQUEST INVALID_INPUT MISSING_FIELD UNAUTHORIZED INSUFFICIENT_CREDITS FORBIDDEN_SCOPE ACCOUNT_SUSPENDED NOT_FOUND IDEMPOTENCY_CONFLICT INPUT_LIMIT_EXCEEDED RATE_LIMITED INTERNAL_ERROR UPSTREAM_UNAVAILABLE MAINTENANCE
message
required
string
docs_url
required
string format: uri
request_id
required
string

Example

{
"success": false,
"error": {
"code": "INVALID_REQUEST"
}
}

Error

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: INVALID_REQUEST INVALID_INPUT MISSING_FIELD UNAUTHORIZED INSUFFICIENT_CREDITS FORBIDDEN_SCOPE ACCOUNT_SUSPENDED NOT_FOUND IDEMPOTENCY_CONFLICT INPUT_LIMIT_EXCEEDED RATE_LIMITED INTERNAL_ERROR UPSTREAM_UNAVAILABLE MAINTENANCE
message
required
string
docs_url
required
string format: uri
request_id
required
string

Example

{
"success": false,
"error": {
"code": "INVALID_REQUEST"
}
}

Error

Media typeapplication/json
object
success
required
boolean
error
required
object
code
required
string
Allowed values: INVALID_REQUEST INVALID_INPUT MISSING_FIELD UNAUTHORIZED INSUFFICIENT_CREDITS FORBIDDEN_SCOPE ACCOUNT_SUSPENDED NOT_FOUND IDEMPOTENCY_CONFLICT INPUT_LIMIT_EXCEEDED RATE_LIMITED INTERNAL_ERROR UPSTREAM_UNAVAILABLE MAINTENANCE
message
required
string
docs_url
required
string format: uri
request_id
required
string

Example

{
"success": false,
"error": {
"code": "INVALID_REQUEST"
}
}