Unverified Users with Missing KYC

Overview

KYC or know your customer data ensures that the person opening an account is who they say they are. The types of data that Synapse collects depends on what has been defined in your specification sheet. In this guide, we will walk you through checking your specification sheet, uploading KYC documents, and verifying KYC for your users.

View the User

In order to check or update the user, you will need to know how to find them in the Synapse Dashboard. Details on how to do this can be found here.

How to identify the KYC required for the user

Check via Synapse Dashboard

Required Permissions :

POST | OAuth - Create Client OAuth (Developer/Manager and Above)

GET| USER - Get User (Read-Only and Above)

Check How To Set Permissions Here If You Don’t Have These Enabled.

 

1. Log in to the Dashboard, click on the ‘Users’ tab, and search the missing KYC user.

1-5.png

2. On the top right, click on “Sign In as User” and Authenticate yourself by supplying the user’s fingerprint or performing the 2FA flow. (Click here to add additional MFA devices to 2FA if your email/phone isn’t listed)

2-5.png

3. Once you are logged in as the user, Click on the three vertical lines next to the document you wish to review and click on “Edit Document.”

3-5.png

4. Click on “Desired Scope” and select the Tier for the user. (Please note, higher Tiers may require additional KYC).

4-5.png

5. This will take you to “Document Title”. Select the type of account for that document; Personal or Business. 

5-5.png

6. This will show you all options that document type (Personal or Business) has to verify themselves with.

You can now exit the form and check what is missing in the user screen.

6-5.png
7. In this case, we can see the user needs their Photo ID to be verified as it is missing in their document. Click here to see how to upload missing KYC via the Dashboard.
7-5.png
Check via Synapse API

Endpoint: https://api.synapsefi.com/v3.1/client/controls

Method: GET

 

Headers

 

Value

 

X-SP-GATEWAY

{{client_id}}|{{client_secret}}

Content-Type

application/json

The endpoint above will give you the client controls in JSON. We will use this to determine what KYC the user is missing.

Before you begin, ensure you have the user’s CIP tag, Tier, and their account type (Personal or Business)

     1. Run the client/controls endpoint above and copy the response in a JSON editor.

     2. Copy the value for the "rules" key into a separate editor. This key is the parent for all rules within a CIP tag.

 
"rules" : {...} #Copy everything in the brackets

 

     1. Expand the CIP tag of the user in the response.

“1” : {…}, # = CIP 1 
“2” : {…} = # = CIP 2, etc.
 

     2. If the user is personal, expand the personal key. If the user is a business, expand the business key.

"BUSINESS" : {...}, #Key for Business account types within a CIP tag.
"PERSONAL" : {...}, #Key for Personal account types within a CIP tag.
 

 

     3. Expand the correct Tier key relative to the user’s Tier level.

 
"SEND|RECEIVE" : {...} #Key for SEND-AND-RECEIVE users. (If Tier is not used)
"RECEIVE" : {...} #Key for RECEIVE users. (If Tier is not used)
"SEND|RECEIVE|TIER|1" : {...} #Key for SEND-AND-RECEIVE Tier 1 Users
"SEND|RECEIVE|TIER|2" : {...} #Key for SEND-AND-RECEIVE Tier 2 Users

 

     4. You should be in the "docs" key. This key can have multiple values "1" for personal "2" for business users. Both of these contain the required KYC needed to verify a user. Nested in these are the "doc_options" array. Each object {...} is a different option the user can be verified with. (See the examples below for more information)

     6. Once you've determined what KYC is required. You can hit the View User API endpoint to see what they are missing.

 

Personal User Example

In this example, we can determine the personal user ("docs_key": "PERSONAL_DOCS") has two options to be verified.

Option 1:

Physical Documents: GOVT_ID

Social Documents: Date of Birth & Address

Virtual Documents: SSN

Option 2:

Physical Documents: GOVT_ID & SSN_CARD

Social Documents: Date of Birth & Address

Virtual Documents: None

 

"1": {
"doc_options": [
{
"doc_option_key": "1",
"min_id_score": 0,
"physical_docs": [
"GOVT_ID"
],
"social_docs": [
"DATE",
"ADDRESS"
],
"virtual_docs": [
"SSN"
]
},
{
"doc_option_key": "2",
"physical_docs": [
"GOVT_ID",
"SSN_CARD"
],
"social_docs": [
"DATE",
"ADDRESS"
],
"virtual_docs": []
}
],
"docs_description": "Documents needed to verify a personal user",
"docs_key": "PERSONAL_DOCS",
"docs_title": "Personal Documents",
"label": "Personal Account KYC"
}

 

 

 

Business User Example

Beneficial Owner, UBO, or Key shareholder Requirement

In this example, we can determine the Beneficial Owner, UBO, or Key shareholder user ("docs_key": "OWNER_DOCS"") has two options to be verified.

Option 1:

Physical Documents: GOVT_ID

Social Documents: Nonde

Virtual Documents: SSN

Option 2:

Physical Documents: GOVT_ID & SSN_CARD

Social Documents: None

Virtual Documents: None

 

{
"1": {
"doc_options": [
{
"physical_docs": [
"GOVT_ID"
],
"social_docs": [],
"virtual_docs": [
"SSN"
]
},
{
"physical_docs": [
"GOVT_ID",
"SSN_CARD"
],
"social_docs": [],
"virtual_docs": []
}
],
"docs_description": "Documents needed to verify a Business Owner",
"docs_key": "OWNER_DOCS",
"docs_title": "Personal Documents",
"label": "Key Shareholder KYC (over 10% ownership)"
},
}

Business Entity Requirement

We can determine the business entity ("docs_key": "BUSINESS_DOCS") has two options to be verified.

Option 1:

Physical Documents: None

Social Documents: None

Virtual Documents: TIN

Option 2:

Physical Documents: EIN_DOC

Social Documents: None

Virtual Documents: None

 

{
"2": {
"doc_options": [
{
"physical_docs": [],
"social_docs": [],
"virtual_docs": [
"TIN"
]
},
{
"physical_docs": [
"EIN_DOC"
],
"social_docs": [],
"virtual_docs": []
}
],
"docs_description": "Documents needed to verify a Business",
"docs_key": "BUSINESS_DOCS",
"docs_title": "Business Documents",
"label": "Business Entity KYC"
}
}

 

Upload missing KYC

Upload via Synapse Dashboard

Required Permissions :

PATCH | USER - Update User (Developer/Manager and Above)

POST | OAuth - Create Client Oauth (Developer/Manager and Above)

GET| USER - Get User (Read-Only and Above)

Check How To Set Permissions Here If You Don’t Have These Enabled.

 

1. Log in to the Dashboard, click on the ‘Users’ tab, and search the missing KYC user.

1-1-1.png

 

2. On the top right, click on “Sign In as User” and Authenticate yourself by supplying the user’s fingerprint or performing the 2FA flow. (Click here to add additional MFA devices to 2FA if your email/phone isn’t listed)

1-1-2.png

3. Once you are logged in as the user, click on “Add More Documents” on the document for the user that is missing their KYC.

1-1-3.png

4. Check the KYC you wish to upload on the left side and enter the values on the right side and submit the form.1-1-4.png

5. The documents should be uploaded, and the user should be verified if all KYC requirements are met. You can also see the earlier section on this page to check what KYC is missing via Dashboard.

 

 

Upload via Synapse API

Endpoint: https://api.synapsefi.com/v3.1/users/:user_id

Method: PATCH

 

Headers

 

Value

 

X-SP-USER

OAuth key and device fingerprint, separated by a pipe.

{{OAuth_key}}|{{fingerprint}}

X-SP-USER-IP

IP address of your device

{{ip}}

X-SP-GATEWAY

Your Client ID and Secret, separated by a pipe.

{{client_id}}|{{client_secret}}

 

 

     1. Identify the document.id of the user that you need to upload the missing KYC. This can be done with the GET|USER endpoint. The document key is an array of all users within a Synapse UID. If there are multiple users ensure you get the correct id. (Joint Accounts, Business Accounts - UBOs or Business Entities)

     2. Determine the doctype that needs to be uploaded (Physical, Social, or Virtual). For Physical Docs; the values must be converted to base 64. This can be done here. Virtual and social docs do not need this conversion.

     3. Prepare the body for the API call to upload the missing KYC based on what you need to upload. The body should contain the documents key as the parent and everything else should go in this array.

     4. Once you have your body filled out submit the request to the endpoint to make the changes.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.

Articles in this section

See more