Social security number

Yoti offers the additional method of using a social security number to verify a users age. This check is only available to individuals from the USA that have a social security number.

The Social security number method checks that the basic identity details of a user can be matched to an known social security number in order to verify a user’s age. Yoti will send the user’s details including their social security number to one of our data providers. Once the check is complete, the provider confirms the social security number can be linked to the validation identity which is then used to determine if the user is over the age threshold.

We never store or share the user’s details with anyone other than the provider.

Important: Please contact Yoti before enabling this method.

Info

The social security number check requires provisioning through Yoti. Please get in touch through support.yoti.com if interested in using this solution

Endpoint

The API endpoint to request the SSN check for age:

POST https://age.yoti.com/api/v1/social-security-number/check

Authentication & Headers

The HTTP headers for the API request:

Header

Description

Authorization

API Key to call the Yoti Age API. Should be sent as a 'Bearer {{API_TOKEN}}'.

Content-Type

application/json

Yoti-Sdk-Id

Your unique Yoti-Sdk-Id (uuid)

Request Payload

Info

You should inform the user of this check in advance

The Social Security number can either be the full SSN or the last four digits. Both examples are shown below.

Scope: A scope of address is required to use this check. This can be enabled through the Yoti Hub in the services section under your API key.

The JSON structure for the API request (payload):

{
"type": "OVER", // optional
"threshold": 18, // optional -> defaults to 18
"first_name": "John",
"last_name": "Doe",
"zip_code": "123456",
"social_security_number": "333-33-3333",
"date_of_birth": "05/25/1984",
"phone_number": "phone number",
"street": "street name"
}
{
"type": "OVER", // optional
"threshold": 18, // optional -> defaults to 18
"first_name": "John",
"last_name": "Doe",
"zip_code": "123456",
"social_security_number": "3333",
"date_of_birth": "05/25/1984",
"phone_number": "phone number",
"street": "street name"
}

Field

Value

Description

type

OVER

Only 'OVER' is supported

threshold

number

Defaults to 18

first_name

string

The first name of the user

last_name

string

The last name of the user

zip_code

string

User zip code

social_security_number

string

User SSN

date_of_birth

string (dob)

User DOB

phone_number

string

The user phone number

street

string

The user street name

Example Response

The JSON structure for the API response:

{
"transaction_id": "<some uuid>",
"status": "<COMPLETE|ERROR|INSUFFICIENT_DATA>",
"result": false|true, // <- deprecated
"age": 0|18,
"method": "SOCIAL_SECURITY_NUMBER",
"type": "OVER"
}

Field

Description

transaction_id

Unique ID related to the request check being performed.

type

The condition for the age check (Over threshold)

status

COMPLETE - The SSN was verified to be over the threshold

ERROR - No match found for the check

INSUFFICIENT_DATA - No match found for the check (this will eventually replace the ERROR state)

result

Returns true if the threshold (18) has been met. Returns false if not met, or on error. The result flag will eventually be deprecated so we recommend looking at the Status to determine the outcome.

age

The threshold of the check (18)

method

The method used. This should return as Social Security Number