Pain points

  • Distinguishing between genuine user interactions and those from bots or malicious actors: Digital platforms struggle with this, leading to fraud, compromised user experiences, and higher costs.
  • Lack of precision in identifying and blocking sophisticated bot attacks: Current solutions often fail to block advanced bot attacks, especially at the top of the funnel. SMS pumping, etc.
  • Segmenting users to determine what level of verification is required: Businesses need to segment users for various levels of verification and authentication to manage risk and user experience.

Value drivers

  1. Human user segmentation: Accurately distinguishes between human and non-human traffic, enabling tailored user journeys.
  2. Reduced fraud: Minimizes fraud rates by preventing bot-driven attacks and identifying high-risk activity.
  3. Enhanced user experience: Improves the experience for genuine users by reducing friction and unnecessary verification steps.

Input parameters

FieldField TypeBot DetectionDescription
phoneNumberstringRequiredThe number of the mobile phone. Acceptable characters are: alphanumeric with symbols ’+’.
phoneNumber (date last verified)stringThe last date that a possession check was completed for a phone number. The format is YYYY-MM-DD. Acceptable characters are: numeric with symbol ’-‘
verificationTypestringbotProve offers different verification methods based on your use case and authorization level required. Available verification methods are: bot verifiedUsers prefill prefillForBusiness accountOpening identityResolution
firstNamestringThe verified first name of the user.
lastNamestringThe verified last name of the user.
emailAddressstringThe email address associated with the phone number.
email (date last verified)stringThe date the email address was last verified (e.g., 2023-01-01 ).
addresslist of objects
addressstringThe street address of the individual.
extendedAddressstringThe apartment number or other extended address information.
citystringThe city of the individual.
regionstringThe state or locality of the individual.
postalCodestringThe zip code of the individual. It can be either 5 digits (XXXXX) or ZIP+4 (XXXXX-XXXX).
dateOfbirthstringThe date of birth associated with the phone number.
nationalIdstringThe user’s national ID, such as the full or last four digits of their SSN.
ipAddressstringThe IP address of the user.
userAgentstringThe user agent of the session of the individual.
avsResultlist of objects
identityIDstring
provePhoneAliasstring
correlationIdstringA unique ID that links all calls for the same flow. This is a crucial field to save for subsequent calls.
clientRequestIdstringYour unique request identifier.
clientCustomerIdstringA client-generated unique ID for a specific customer. This can be used by clients to link calls related to the same customer, across different requests or sessions.
clientHumanIDstringA client-generated unique ID for a specific customer that has been identity proofed. This can be used by clients to link calls related to the same customer, across different requests or sessions. The format of this ID is defined by the client - Prove recommends using a GUID, but any format can be accepted. Do not include personally identifiable information (PII) in this field.
businessNamestringThe legal business name of the business attempting a verification.
authTokenstringA bearer token for use by the Prove client SDK.

Output parameters

FieldField TypeDescriptionBot Detection
successbooleanTrue if the API call was successful.
phoneNumberstringThe number of the mobile phone.
verifyResultstringThe result of the verification according to the Global Fraud Policy.
assuranceLevelstringProve’s tiered confidence metric, ranging from -1 to 3, that dynamically adapts to user behavior and various authentication keys. It allows for adaptive security policies, meaning you can require different levels of verification for different types of transactions. This is a key attribute of the Prove Key. Possible values are: “AL-1”, “AL0”, “AL1”, “AL2”, “AL3”.
correlationIdstringThe unique ID that Prove generates for the flow. To continue the flow, the field will also be used for each of the subsequent API calls in the same flow - it cannot be reused outside of a single flow.
proveIdstringA globally unique identifier in Prove language that represents a user (or business). If provided to a customer, this ID is “salted” to make it specific to that customer before being shared. It links a user’s keys to their National ID and is the center of our universe linking identity data and events throughout our fabric.
proveKeystring
identityIdstring
clientRequestIDstring
clientHumanIDstringA client-generated unique ID for a specific customer that has been identity proofed. This can be used by clients to link calls related to the same customer, across different requests or sessions. The format of this ID is defined by the client - Prove recommends using a GUID, but any format can be accepted. Do not include personally identifiable information (PII) in this field.
clientCustomerIdstringA client-generated unique ID for a specific customer. This can be used by clients to link calls related to the same customer, across different requests or sessions.
identitylist of objects
firstNamestringThe first name of the individual.
lastNamestringThe last name of the individual.
nationalIdstringThe national identity number of the individual.
dateOfBirthstringThe date of birth of the individual in one of these formats: YYYY-MM-DD, YYYY-MM, or MM-DD. Acceptable characters are: numeric with symbol ’-’.
email(s)list of objects
email1stringThe email address of the customer. Acceptable characters are: alphanumeric with symbols ’@.+’.
email2stringThe email address of the customer. Acceptable characters are: alphanumeric with symbols ’@.+’.
addresslist of objects
addressstringThe street address of the individual.
extendedAddressstringThe apartment number or other extended address information.
citystringThe city of the individual.
regionstringThe state or locality of the individual.
zipCodestringThe zip code of the individual. It can be either 5 digits (XXXXX) or ZIP+4 (XXXXX-XXXX).
business(es)list of objects
businessNamestringThe legal business name.
businessAddresslist of objects
addressstringThe street address of the individual.
extendedAddressstringThe apartment number or other extended address information.
citystringThe city of the individual.
regionstringThe state or locality of the individual.
zipCodestringThe zip code of the individual. It can be either 5 digits (XXXXX) or ZIP+4 (XXXXX-XXXX).
tradeNamestringThe doing business as (DBA) name of the legal business entity.
taxIdstringThe Employee identification Number or Tax Identification Number of the business.
relatedPersonslist of objects
firstNamestringThe first name of the individual.
middlesNamestringThe middle name of the individual.
lastNamestringThe last name of the individual.
titlestringThe title of the related person.
registrationFilingstring
datestringThe date of the registration filing.
registrationTypestringThe type of registration.
regionstringThe state or locality of the business registration.
identityIdstringA unique ID that Prove generates to refer to a specific identity.
verifyResultstringThe result of the Verify process. Possible values are success, pending, and failed. If the Verify result is pending, clients will need to call the Verify Status API to get a result.
possessionResultstringThe result of the possession check. Possible values are pending and not_applicable, based on the possessionType passed in the input. Clients will have to call the Verify Status API to get a result if possessionResult=pending.
successstringThe result of the combination of verifyResult and possessionResult. Possible values are true, pending, and false. The value will be pending until the results of both Verify and Possession are returned or one of them fails, blocking the other.
allowOTPRetrybooleanIf true, the customer can re-enter the OTP up to three times. Code must also be implemented. See client-side SDK guide for more details.