Verify
A wide array of real-time identity checks in one API call to provide a top of funnel "pre-check" risk assessment.
Verify Checks Overview
Fideo Intelligence’s Verify Checks provide a unified framework for assessing the authenticity and risk of a digital identity. By combining dozens of specialized signals—ranging from data‐breach monitoring to IP geolocation consistency—our platform empowers organizations to stand up robust identity verification flows and stop fraud before it happens.
Use Cases
Pre-KYC Synthetic Identity Screening
Catch fabricated identities at the very start of your onboarding funnel—before you spend time or budget on KYC/AML checks. By running name, address, email, phone and device/IP mismatch checks in real time, you can halt synthetic profiles instantly and focus your manual review on genuine applicants.
Online Account Opening (OAO)
Deliver a frictionless, secure digital account opening experience for banks and credit unions. Fideo’s Email, Phone, IP and Digital footprint checks verify that each applicant’s contact and network signals align with expected behavior—blocking disposable emails, burner phones and anonymizer proxies without customer drop-off.
Loan Origination
Accelerate decisioning on loan applications by embedding Verify Checks into your pre-qualification workflow. Breach and sanctions screenings surface compromised or blacklisted identities, while longevity and activity metrics on email/phone reduce default risk—helping lenders underwrite faster, smarter, and safer.
Digital Onboarding for Banks & Credit Unions
From retail banking to credit union member acquisition, our full suite of check packages provides a unified risk score that supports CIP, CDD and regulatory compliance. By orchestration of Synthetic Identity, Breached, Location and Identity sanctions checks, Fideo reduces fraud losses, slashes manual reviews, and delivers a superior customer experience.
API Input
curl -X POST \
https://api.fideo.ai/verify \
-H 'Authorization: Bearer `{Your API Key}`' \
-H "Content-Type: application/json" \
-d '{
"emails": [
"[email protected]"
],
"phones": [
"+15552227799"
],
"location": {
"addressLine1": "123 Main Street",
"addressLine2": "Ste 456"
"city": "Denver",
"region": "Colorado",
"regionCode": "CO",
"country": "United States of America",
"countryCode": "US",
"postalCode": "80203"
},
"name": {
"given": "Sally",
"middle" "G",
"family": "Smith"
},
"ipAddress": "8.8.8.8",
"birthday" : "2000-25-12",
"sessionId": "0197f665-6c88-7512-bc33-a7605d487377"
}'
{
"risk": 0.6137062189019102,
"checks": [
{
"id": "BREACHED_IDENTITY_COMPROMISED",
"state": "MED",
"name": "Identity Compromised in last 30 days",
"description": "The identity has been compromised in the last month, which could indicate a medium potential fraud attempt.",
"risk": "MED",
"checkPackage": "Breached"
},
{
"id": "DIGITAL_EXCESSIVE_CONNECTIVITY",
"state": "FALSE",
"name": "Identity not overly connected",
"description": "The identity is not overly connected to devices and IP addresses indicating a low risk of fraud.",
"risk": "NONE",
"checkPackage": "Digital"
},
{
"id": "DIGITAL_LINKEDIN_AGE",
"state": "OLDER",
"name": "Older LinkedIn profile",
"description": "The LinkedIn profile age is 5 years or older.",
"risk": "NONE",
"checkPackage": "Digital"
},
{
"id": "DIGITAL_NO_DIGITAL_FOOTPRINT",
"state": "FALSE",
"name": "Digital footprint present",
"description": "There is linkage to online behavior including social media, MAIDs or HEMs from our digital source providers (mobile apps, advertisements).",
"risk": "NONE",
"checkPackage": "Digital"
},
{
"id": "DIGITAL_NO_SOCIAL_NETWORK_PROFILES",
"state": "FALSE",
"name": "Social network profiles found",
"description": "Social network profiles were found, indicating a legitimate connection.",
"risk": "NONE",
"checkPackage": "Digital"
},
{
"id": "DIGITAL_SOCIAL_NETWORK_AVG_AGE",
"state": "OLDER",
"name": "Average age of 5 years or older",
"description": "The average age of the connected social network accounts is 5 years or older.",
"risk": "NONE",
"checkPackage": "Digital"
},
{
"id": "DIGITAL_SOCIAL_NETWORK_NON_US",
"state": "FALSE",
"name": "US based social network profiles",
"description": "Any social network profiles found are US based.",
"risk": "NONE",
"checkPackage": "Digital"
},
{
"id": "EMAIL_DELIVERABILITY",
"state": "TRUE",
"name": "Email address deliverable",
"description": "The email address is deliverable and appears to be legitimate.",
"risk": "NONE",
"checkPackage": "Email"
},
{
"id": "EMAIL_FIRST_SEEN",
"state": "LONG_AGO",
"name": "Email address first seen long ago",
"description": "The email address was first seen more than five years ago.",
"risk": "NONE",
"checkPackage": "Email"
},
{
"id": "EMAIL_INVALID",
"state": "FALSE",
"name": "Valid email address",
"description": "The email address is valid and appears to be legitimate.",
"risk": "NONE",
"checkPackage": "Email"
},
{
"id": "EMAIL_LAST_SEEN",
"state": "RECENT",
"name": "Email address seen within the last year",
"description": "The email address was seen within the last year.",
"risk": "LOW",
"checkPackage": "Email"
},
{
"id": "EMAIL_NEVER_SEEN",
"state": "FALSE",
"name": "Email address seen",
"description": "The email address has been seen before.",
"risk": "NONE",
"checkPackage": "Email"
},
{
"id": "EMAIL_NO_MX_RECORD",
"state": "FALSE",
"name": "MX record present",
"description": "The email address has an MX record, indicating it is likely valid.",
"risk": "NONE",
"checkPackage": "Email"
},
{
"id": "EMAIL_TYPE",
"state": "BUSINESS",
"name": "Business email provider",
"description": "Business emails are not typically used for consumer level activities",
"risk": "MED",
"checkPackage": "Email"
},
{
"id": "EMAIL_USER_PORTION",
"state": "NAME_BASED",
"name": "Name-based email mailbox",
"description": "The user portion contains the user's name, initials, or recognizable personal identifier.",
"risk": "NONE",
"checkPackage": "Email"
},
{
"id": "IDENTITY_CA_SANCTION_LIST",
"state": "NO_MATCH",
"name": "No match with Canada Sanction list",
"description": "No match with the Canada Sanction list, indicating a no risk.",
"risk": "NONE",
"checkPackage": "Identity"
},
{
"id": "IDENTITY_EU_SANCTION_LIST",
"state": "NO_MATCH",
"name": "No match with EU Sanction list",
"description": "No match with the EU Sanction list, indicating a no risk.",
"risk": "NONE",
"checkPackage": "Identity"
},
{
"id": "IDENTITY_OFAC_LIST",
"state": "NO_MATCH",
"name": "No match with OFAC list",
"description": "No match with the OFAC list, indicating a no risk.",
"risk": "NONE",
"checkPackage": "Identity"
},
{
"id": "IDENTITY_UK_SANCTION_LIST",
"state": "NO_MATCH",
"name": "No match with UK Sanction list",
"description": "No match with the UK Sanction list, indicating a no risk.",
"risk": "NONE",
"checkPackage": "Identity"
},
{
"id": "IDENTITY_UN_SANCTION_LIST",
"state": "NO_MATCH",
"name": "No match with UN Sanction list",
"description": "No match with the UN Sanction list, indicating a no risk.",
"risk": "NONE",
"checkPackage": "Identity"
},
{
"id": "IP_GEOLOCATION_MISMATCH",
"state": "UNKNOWN",
"name": "No IP geolocation information available",
"description": "No IP geolocation information available",
"risk": "NONE",
"checkPackage": "IP Address"
},
{
"id": "IP_TYPE",
"state": "NONE",
"name": "No IP address provided",
"description": "No IP address provided, no checks to be run",
"risk": "NONE",
"checkPackage": "IP Address"
},
{
"id": "LOCATION_ADDRESS_INVALID",
"state": "NONE",
"name": "No address provided",
"description": "No address provided",
"risk": "NONE",
"checkPackage": "Location"
},
{
"id": "LOCATION_ADDRESS_IS_BUSINESS",
"state": "UNKNOWN",
"name": "Unknown if Business Address",
"description": "The address is unknown if it is a business address or not.",
"risk": "LOW",
"checkPackage": "Location"
},
{
"id": "LOCATION_COUNTRY_RISK",
"state": "LOW",
"name": "Low risk country",
"description": "The identity is from a low risk country indicating a low risk of fraud.",
"risk": "LOW",
"checkPackage": "Location"
},
{
"id": "PHONE_DNO_TEXT",
"state": "NONE",
"name": "Do not text not available, no phone number provided",
"description": "Do not text information not available",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "PHONE_DNO_VOICE",
"state": "NONE",
"name": "Do not call not available, no phone number provided",
"description": "Do not text information not available",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "PHONE_FIRST_SEEN",
"state": "NONE",
"name": "No phone number data available",
"description": "No phone number provided, or we are not able to determine the first seen date.",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "PHONE_FORMAT_INVALID",
"state": "NONE",
"name": "No phone number provided",
"description": "No phone number provided",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "PHONE_LAST_SEEN",
"state": "NONE",
"name": "No phone number data available",
"description": "No phone number provided, or we are not able to determine the last seen date.",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "PHONE_LOCATION_MISMATCH",
"state": "UNKNOWN",
"name": "Phone location match unknown",
"description": "Unable to determine if the phone number's location matches with submitted or known locations due to incomplete information.",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "PHONE_PORT",
"state": "UNKNOWN",
"name": "Phone number porting information unavailable",
"description": "Phone number porting information not available",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "PHONE_PREV_TYPE",
"state": "NONE",
"name": "Previous phone type unavailable",
"description": "Previous phone number unavailable",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "PHONE_TYPE",
"state": "NONE",
"name": "Phone type unavailable",
"description": "Phone type unavailable",
"risk": "NONE",
"checkPackage": "Phone"
},
{
"id": "SYNTHETIC_AGE_MISMATCH",
"state": "UNKNOWN",
"name": "No age information or birthday available",
"description": "No age information or birthday available",
"risk": "NONE",
"checkPackage": "Synthetic Identity"
},
{
"id": "SYNTHETIC_EMAIL_MISMATCH",
"state": "MATCHED",
"name": "Email Matched",
"description": "The Email matched the person found",
"risk": "NONE",
"checkPackage": "Synthetic Identity"
},
{
"id": "SYNTHETIC_NAME_ADDRESS_NO_MATCH",
"state": "NONE",
"name": "No name or address provided",
"description": "No name or address provided",
"risk": "NONE",
"checkPackage": "Synthetic Identity"
}
],
"sessionId": "0197f665-92ef-713b-a7b2-30ce69eb4a87"
}
emails
oremail
- An email that can be the clear text value, or hashed in the form of MD5, SHA1 and SHA256phones
orphone
- An e.164 formatted phone number.- Non e.164 formatted numbers will be attempted to be converted to this structure which may result in incorrectly assigning the country. We assume US by default.
location
addressLine1
- The street level address with number and street informationaddressLine2
- The extended portion of an address for Suite, Unit, etc informationcity
- The cityregion
- The region, or state, by full nameregionCode
- The region, or state, by 2 character (ISO 3166-2) formatpostalCode
- The numerical 5 or 5 plus 4 extended postal, or zip, codecountry
- The country by full namecountryCode
- The country by 2 character (ISO 3166-2) format
name
given
- The given, or first, namemiddle
- The middle initial or namefamily
- The family, or last, name
ipAddress
- an IPV4 or IPV6 IP Address of the end user (not intermediary server)birthday
- The date of birth in ISO 8601 formatsessionId
- Used for stitching a previously submitted request together to represent a single Session for a user's experience, based on the Fideo generated ID.- It is an optionally provided input for advanced workflows. Learn more in Session.
Minimum Input Requirements
- One of
email
,phone
orname + address
are required to be a valid input - As long as one of the required fields are provided, any number of other fields are accepted as supporting evidence. Examples of valid inputs:
email
,city
,familyName
phone
,country
,ipAddress
givenName
,familyName
,addressLine1
,city
,regionCode
,birthday
- Or, everything supported as in input.
API Output
Each response will include a risk
score, a sessionId
and a list of checks
.
risk
- risk score will be between 0.0 and 1.0, where 1.0 is most risky and 0.0 is least.sessionId
- Fideo generated ID which uniquely represents the Session.checks
- the full set of checks that were run on the provided input. The most risk elements are returned first, sorting fromHIGH
,MED
,LOW
andNONE
.
{
"id": "IDENTITY_OFAC_LIST",
"state": "IDENTITY_NAME_LOC",
"name": "Identity name and location matches OFAC list",
"description": "The identity name and location matches the OFAC list, indicating a potential risk.",
"risk": "HIGH",
"checkPackage": "Identity"
}
Response Code
Code | Description |
---|---|
200 | Normal response for all requests |
401 | No account found |
403 | Access to the endpoint is not allowed |
410 | The person in question has requested their data be deleted. Only hashed tokens are retained to ensure data does not come back into the Fideo Systems. |
429 | Trial quota has been exceeded |
500 | An error that has happened in Fideo. Please reach out to [email protected] |
503 | A temporary error within Fideo. Please reach out to [email protected] if it persists |
Updated 18 days ago