{"_id":"5bac065ba0ab3e0003ead540","project":"59f79e3c584eb200345ceafc","version":{"_id":"5ba178b00a916500030c6a21","project":"59f79e3c584eb200345ceafc","__v":24,"forked_from":"59f79e3c584eb200345ceaff","createdAt":"2015-09-17T03:47:20.956Z","releaseDate":"2015-09-17T03:47:20.956Z","categories":["5ba178b00a916500030c69a2","5ba178b00a916500030c69a3","5ba178b00a916500030c69a4","5ba178b00a916500030c69a5","5ba178b00a916500030c69a6","5ba178b00a916500030c69a7","5ba178b00a916500030c69a8","5ba178b00a916500030c69a9","5ba178b00a916500030c69aa","5ba178b00a916500030c69ab","5ba178b00a916500030c69ac","5afb6888212c690003ae3d3b","5ba178b00a916500030c69ad","5ba178b00a916500030c69ae","5ba2dcbc99f53f0003b97e2c","5babd73fa0ab3e0003ead030","5bb4038be7222e000334dd97","5bb55954478c1300031a44c2","5bb665a1607307000327c81e","5bb6f90229a7fb0003a0650d","5bb7f9bc29a7fb0003a07ac1","5bba58bd7ba7710003bd901d","5bba6dac7ba7710003bd908d","5bba6e257ba7710003bd9090","5bbac87810189c0003e619ea","5bbb9d02b5862c00036266b2","5bbbadb6219c3e000376c2de","5bc417751d1b0000182bf7f6","5bc59e3b2a5b4f0044db5b97","5bc7bbce2262cc0041f6eff2","5bce6a3580a7250031199f34","5bcfac2c4082510019f2d91b","5bcfac3757bed90030e45d68","5bcfac45d305bc0049941539","5bd2a43548bb6f00289c8fad","5bd3a42a026ebe001f66259e","5bd9d5afffe003005b02f97b","5becb7ee85c6b300557662b6"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":false,"codename":"","version_clean":"3.2.0","version":"3.2"},"category":{"_id":"5babd73fa0ab3e0003ead030","project":"59f79e3c584eb200345ceafc","version":"5ba178b00a916500030c6a21","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2018-09-26T19:00:15.801Z","from_sync":false,"order":2,"slug":"userskyc","title":"Users/KYC"},"user":"5a68eb6970ea610012bfb924","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-09-26T22:21:15.471Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"Know Your Customer (KYC) is an important component of running a successful FinTech business. There is no one-size-fits-all, and when it comes to on-boarding customers (\"users\") there is a fine balance between maintaining compliance, reducing risk and simplifying the experience. \n\nTo properly perform KYC on your customers, our team will work with you to develop your Customer Identification Program (CIP). This program determines what your customers should submit to receive `SEND-AND-RECEIVE` permissions. We support up to 3,000 different CIPs to fit your needs.\n\nTo onboard a user and submit their KYC, use the following User Flow:\n1. [Create User](https://docs.synapsefi.com/v3.2/docs/create-a-user-1)\n2. [OAuth User](https://docs.synapsefi.com/v3.2/docs/oauth-the-user) to perform actions on behalf of the user\n3. [Submit KYC (this can also be done when creating the user)\n](https://docs.synapsefi.com/v3.2/docs/add-documents)\n\nThe following types of KYC can be uploaded to a user object:\n1. **[Base Document](#base-documents):**\nBasic information required for all users (ex: Name, DOB, Address, Email, Phone)\n\n2. **[Sub-Documents](#sub-documents):**\n[Virtual Document](#section-virtual-documents): Meta Data (ex: SSN, TIN, Passport Number) \n[Social Document](#section-social-documents): Authenticated Social Profiles (ex: Facebook, LinkedIn, Twitter tokens)\n[Physical Document:](#section-physical-documents) Images of Documentation (ex: Photo ID, Articles of Incorporation)\n\nAfter the user receives `SEND-AND-RECEIVE` permissions (or other appropriate permissions as noted on your Spec Sheet), they can add accounts (\"nodes\") and create transactions.\n\n##Standard User Object\n[block:html]\n{\n  \"html\": \"<div class=\\\"api-manager\\\"><div class=\\\"param-table\\\"><div class=\\\"table\\\"><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>_id<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Object ID of a user object</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">_links.self.</span>href<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>HAL style link for the user object</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">client.</span>id<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>ID of the client where the user was created</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">client.</span>name<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Name of the client that created the user</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">doc_status.</span>physical_doc<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>[DEPRECATED] Status of physical document verification</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">doc_status.</span>virtual_doc<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>[DEPRECATED] Status of virtual document verification</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents[</span>id<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>ID of the document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents[</span>name<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Name of the document owner</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents[</span>permission_scope<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Permission scope of the document. <a href=\\\"#section-user-permissions\\\">More Details</a>.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.physical_docs.[</span>id<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>ID of the physical document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.physical_docs.[</span>document_type<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Type of the physical document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.physical_docs.[</span>last_updated<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">integer</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Date when the document was last updated. The value is a unix timestamp in milliseconds.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.physical_docs.[</span>status<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Status of the physical document.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.social_docs.[</span>id<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>ID of the social document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.social_docs.[</span>document_type<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Type of the social document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.social_docs.[</span>last_updated<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">integer</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Date when the document was last updated. The value is a unix timestamp in milliseconds.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.social_docs.[</span>status<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Status of the social document.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.virtual_docs.[</span>id<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>ID of the virtual document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.virtual_docs.[</span>document_type<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Type of the virtual document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.virtual_docs.[</span>last_updated<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">integer</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Date when the document was last updated. The value is a unix timestamp in milliseconds</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">documents.virtual_docs.[</span>status<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Status of the virtual document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">extra.</span>date_joined<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Date when the user was created. The value is a unix timestamp in milliseconds</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">extra.</span>is_business<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">boolean</strong><span class=\\\"param-default text-muted\\\">false</span><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Boolean that denotes if the user object is a business account or personal</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">extra.</span>supp_id<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Any supplied ID given by the client that created the user</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">extra.</span>cip_tag<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">integer</strong><span class=\\\"param-default text-muted\\\">1</span><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>CIP tag assigned to the user profile</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>is_hidden<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">boolean</strong><span class=\\\"param-default text-muted\\\">false</span><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Value denotes if the user can be searched by email/name on Synapse services</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>legal_names<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">array of strings</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Legal names/Full names associated with the user object</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">logins[</span>email<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Email associated with the login</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">logins[</span>scope<span class=\\\"text-muted\\\">]</span><span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><span class=\\\"param-default text-muted\\\">READ_AND_WRITE</span><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Value denotes what permissions the login credentials has. Currently only two scopes are supported: <code>READ_AND_WRITE</code> &amp; <code>READ</code></p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>permission<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Denotes the account standing. Look at the user permissions section below to learn more</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>phone_numbers<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">array of strings</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Phone numbers/2FA devices associated with the user</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>photos<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">array of strings</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Public avatars associated with the account</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>refresh_token<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>The refresh token associated with the user and your platform</p>\\n</div></div></div></div></div></div>\"\n}\n[/block]\n##User Permissions\nEvery user in Synapse has a set of permissions. The permissions dictate what the user can and cannot do within the network. You can find the user permission associated with each user under the permissions key on the user JSON response.\n\nFollowing are the user permissions and what they mean.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"User Permission\",\n    \"h-1\": \"Description\",\n    \"0-1\": \"User has been created in the system but has not been verified yet. This means the user instance has been created, but no KYC information has been supplied to the user.\",\n    \"0-0\": \"UNVERIFIED\",\n    \"1-0\": \"RECEIVE\",\n    \"2-0\": \"SEND-AND-RECEIVE\",\n    \"3-0\": \"LOCKED\",\n    \"4-0\": \"MAKE-IT-GO-AWAY\",\n    \"4-1\": \"User is unindexed and will be removed from the platform dashboard.\",\n    \"3-1\": \"User account has been locked and all API actions associated with this user will be blocked. User account may be locked for various reasons \\n(i.e. fraud, suspicious activity, etc.) There may be additional documentation `OR` steps needed to unlock the user.\",\n    \"2-1\": \"User has been created in the platform and has permissions to send and receive funds.\",\n    \"1-1\": \"User has been created in the system and only has permissions to receive funds.\"\n  },\n  \"cols\": 2,\n  \"rows\": 5\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Base Documents Object\"\n}\n[/block]\nThe Base Document is basic user information, such as: name, DOB, address, email, and phone.\n[block:html]\n{\n  \"html\": \"<div class=\\\"api-manager\\\"><div class=\\\"param-table\\\"><div class=\\\"table\\\"><h4 class=\\\"paramGroupTitle\\\">Body Params</h4><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>name<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Name of the document owner</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>alias<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Alias of the document owner (this can be the name or in case of businesses it can be the DBA entry)</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>email<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Email associated with the document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>phone_number<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Phone number associated with the document</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>ip<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>IP of where the document is being submitted from</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>entity_type<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Entity type of the document owner, this can be gender in case of an individual or DBA in case of a business. <a href=\\\"#section-supported-entity-types\\\">See here </a></p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>entity_scope<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Industry in which the document owner operates. In case of an individual it can be their field of profession, in case of a corp this can be their line of business. <a href=\\\"#section-supported-entity-scope\\\">See here</a></p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>day<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">integer</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>In case of a person this is day of birth. In case of business entity, this is day of organization</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>month<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">integer</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>In case of a person this is month of birth. In case of business entity, this is month of organization</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>year<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">integer</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>In case of a person this is year of birth (must be over 18). In case of business entity, this is year of organization</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>address_street<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>address_city<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>address_subdivision<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp. <strong>This value needs to be in <a href=\\\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\\\">ISO Alpha-2</a></strong>.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>address_postal_code<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>address_country_code<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp. <strong>This value needs to be in <a href=\\\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\\\">ISO Alpha-2</a></strong>.</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>virtual_docs<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">array of objects</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>See Sub-Document Object <a href=\\\"#section-virtual-documents\\\">here</a></p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>physical_docs<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">array of objects</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>See Sub-Document Object <a href=\\\"#section-physical-documents\\\">here</a></p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>social_docs<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">array of objects</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>See Sub-Document Object <a href=\\\"#section-social-documents\\\">here</a></p>\\n</div></div></div></div></div></div>\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Base Document Considerations:\",\n  \"body\": \"* Users should submit their full legal name. Initials of names or non-legal names will result in failures.\\n* Users below 18 years of age will be auto rejected.\\n* Addresses are validated. Please include the full mailing address.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Address Verification\",\n  \"body\": \"We recommend using Google to auto-populate the correct address to reduce address verification issues, as we check for mailable addresses.\"\n}\n[/block]\n## Base Document Permission Scope\n\nPermission scope helps determine if the user is allowed to send funds, receive funds and up to what amount (i.e. daily, weekly or monthly).\n\nEach base document object is given a `permission_scope` based on the KYC program set on the platform’s Specification Sheet. This helps decide the overall user permission associated with the account. \n\nAdditionally, if multiple base document objects are submitted for one user, the document with the worst permission scope ends up being the permission associated with the user account (This ensures that the Specification Sheet KYC program is never invalidated, thus keeping you compliant). \n\nFollowing are the examples of different kinds of permission scopes:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Permission Scope\",\n    \"h-1\": \"Comment\",\n    \"0-0\": \"SEND|RECEIVE\",\n    \"0-1\": \"The user can send and receive funds\",\n    \"1-0\": \"SEND|RECEIVE|TIER|1\",\n    \"1-1\": \"The user can send and receive funds up to the limits governed by the tier on the Specification Sheet\",\n    \"2-0\": \"RECEIVE\",\n    \"2-1\": \"The user can only receive funds\",\n    \"3-0\": \"RECEIVE|TIER|1\",\n    \"3-1\": \"The user can receive funds up to the limits governed by the tier on the Specification Sheet\"\n  },\n  \"cols\": 2,\n  \"rows\": 4\n}\n[/block]\n##Supported Entity types\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Entity Types\",\n    \"h-1\": \"Comment\",\n    \"0-0\": \"M\",\n    \"1-0\": \"F\",\n    \"2-0\": \"O\",\n    \"3-0\": \"Minor\",\n    \"4-0\": \"NOT_KNOWN\",\n    \"5-0\": \"LLC\",\n    \"6-0\": \"CORP\",\n    \"7-0\": \"PARTNERSHIP\",\n    \"8-0\": \"SOLE-PROPRIETORSHIP\",\n    \"9-0\": \"TRUST\",\n    \"10-0\": \"ESTATE\",\n    \"11-0\": \"IRA\",\n    \"11-1\": \"Individual Retirement Account\",\n    \"10-1\": \"Estate\",\n    \"9-1\": \"Trust\",\n    \"8-1\": \"Sole Proprietorship\",\n    \"7-1\": \"Any type of partnership\",\n    \"6-1\": \"Corporation\",\n    \"5-1\": \"Limited Liability Company\",\n    \"4-1\": \"Do not wish to specify (acceptable in cases of individuals only)\",\n    \"3-1\": \"Individual under 18 years of age\",\n    \"2-1\": \"Other\",\n    \"1-1\": \"Female\",\n    \"0-1\": \"Male\"\n  },\n  \"cols\": 2,\n  \"rows\": 12\n}\n[/block]\n##Supported Entity Scope\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"Not Known\",\n    \"1-0\": \"Airport\",\n    \"2-0\": \"Arts & Entertainment\",\n    \"3-0\": \"Automotive\",\n    \"4-0\": \"Bank & Financial Services\",\n    \"5-0\": \"Bar\",\n    \"6-0\": \"Book Store\",\n    \"7-0\": \"Business Services\",\n    \"8-0\": \"Religious Organization\",\n    \"9-0\": \"Club\",\n    \"10-0\": \"Community/Government\",\n    \"11-0\": \"Concert Venue\",\n    \"12-0\": \"Doctor\",\n    \"13-0\": \"Event Planning/Event Services\",\n    \"14-0\": \"Food/Grocery\",\n    \"15-0\": \"Health/Medical/Pharmacy\",\n    \"16-0\": \"Home Improvement\",\n    \"17-0\": \"Hospital/Clinic\",\n    \"18-0\": \"Hotel\",\n    \"19-0\": \"Landmark\",\n    \"20-0\": \"Lawyer\",\n    \"21-0\": \"Library\",\n    \"22-0\": \"Licensed Financial Representative\",\n    \"23-0\": \"Local Business\",\n    \"24-0\": \"Middle School\",\n    \"25-0\": \"Movie Theater\",\n    \"26-0\": \"Museum/Art Gallery\",\n    \"27-0\": \"Outdoor Gear/Sporting Goods\",\n    \"28-0\": \"Pet Services\",\n    \"29-0\": \"Professional Services\",\n    \"30-0\": \"Public Places\",\n    \"31-0\": \"Real Estate\",\n    \"32-0\": \"Restaurant/Cafe\",\n    \"33-0\": \"School\",\n    \"34-0\": \"Shopping/Retail\",\n    \"35-0\": \"Spas/Beauty/Personal Care\",\n    \"36-0\": \"Sports Venue\",\n    \"37-0\": \"Sports/Recreation/Activities\",\n    \"38-0\": \"Tours/Sightseeing\",\n    \"39-0\": \"Train Station\",\n    \"40-0\": \"Transportation\",\n    \"41-0\": \"University\",\n    \"42-0\": \"Aerospace/Defense\",\n    \"43-0\": \"Automobiles and Parts\",\n    \"44-0\": \"Bank/Financial Institution\",\n    \"45-0\": \"Biotechnology\",\n    \"46-0\": \"Cause\",\n    \"47-0\": \"Chemicals\",\n    \"48-0\": \"Community Organization\",\n    \"49-0\": \"Company\",\n    \"50-0\": \"Computers/Technology\",\n    \"51-0\": \"Consulting/Business Services\",\n    \"52-0\": \"Education\",\n    \"53-0\": \"Elementary School\",\n    \"54-0\": \"Energy/Utility\",\n    \"55-0\": \"Engineering/Construction\",\n    \"56-0\": \"Farming/Agriculture\",\n    \"57-0\": \"Food/Beverages\",\n    \"58-0\": \"Government Organization\",\n    \"59-0\": \"Health/Beauty\",\n    \"60-0\": \"Health/Medical/Pharmaceuticals\",\n    \"61-0\": \"Industrials\",\n    \"62-0\": \"Insurance Company\",\n    \"63-0\": \"Internet/Software\",\n    \"64-0\": \"Legal/Law\",\n    \"65-0\": \"Media/News/Publishing\",\n    \"66-0\": \"Mining/Materials\",\n    \"67-0\": \"Non-Governmental Organization (NGO)\",\n    \"68-0\": \"Non-Profit Organization\",\n    \"69-0\": \"Organization\",\n    \"70-0\": \"Political Organization\",\n    \"71-0\": \"Political Party\",\n    \"72-0\": \"Preschool\",\n    \"73-0\": \"Retail and Consumer Merchandise\",\n    \"74-0\": \"Small Business\",\n    \"75-0\": \"Telecommunication\",\n    \"76-0\": \"Transport/Freight\",\n    \"77-0\": \"Travel/Leisure\"\n  },\n  \"cols\": 1,\n  \"rows\": 78\n}\n[/block]\n##Address Validation\nWe validate addresses to ensure an address is mailable. We encourage you to use a tool like Google to autocomplete addresses. This reduces the risk of submitting improperly formatted addresses.\n\nTo test address validation in sandbox, use the following values:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"address_street\",\n    \"h-1\": \"Result\",\n    \"0-0\": \"123 fail address\",\n    \"1-0\": \"Any other value\",\n    \"0-1\": \"Supplied address is invalid / Unable to verify address\",\n    \"1-1\": \"Validation is successful\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Sub-Documents\"\n}\n[/block]\nSub-Documents are supporting documents. They are classified as [Physical](#section-physical-documents), [Virtual](#section-virtual-documents) or [Social](#section-social-documents) documents.\n[block:html]\n{\n  \"html\": \"<div class=\\\"api-manager\\\"><div class=\\\"param-table\\\"><div class=\\\"table\\\"><h4 class=\\\"paramGroupTitle\\\">Body Params</h4><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>document_type<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Type of document (<a href=\\\"#section-physical-documents\\\">physical</a>, <a href=\\\"#section-virtual-documents\\\">virtual</a>, <a href=\\\"#section-social-documents\\\">social</a>)</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong>document_value<span class=\\\"colon\\\">:</span></strong><div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">string</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>Value of the document (in case of physical documents, submit the padded base64 value of the file you wish to upload)</p>\\n</div></div></div></div></div></div>\"\n}\n[/block]\n## SubDocument Status\n\nAlong with the user permissions, you can also view the status of a user's sub-documents.\nSame document status conversations are followed for all three sub document types ([Physical](#section-physical-documents), [Virtual](#section-virtual-documents) & [Social](#section-social-documents)).\n\nFollowing are different subdocument statues and what they mean:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Status\",\n    \"h-1\": \"Comment\",\n    \"0-0\": \"SUBMITTED\",\n    \"1-0\": \"SUBMITTED|REVIEWING\",\n    \"5-0\": \"\",\n    \"0-1\": \"Document was submitted but not validated. Resubmission is not needed.\",\n    \"1-1\": \"Document was uploaded and is being reviewed. Documents are reviewed asynchronously and may take a minute.\",\n    \"5-1\": \"\",\n    \"4-0\": \"SUBMITTED|VALID\",\n    \"4-1\": \"Document was submitted and determined to be invalid (resubmission dependent upon platform  Spec. Sheet and KYC)\",\n    \"3-0\": \"SUBMITTED|INVALID\",\n    \"3-1\": \"Document submitted was reviewed and validated\",\n    \"2-0\": \"SUBMITTED|MFA_PENDING\",\n    \"2-1\": \"Document uploaded, waiting for the user to verify the MFA code. Only applicable for EMAIL_2FA and PHONE_NUMBER 2FA.\"\n  },\n  \"cols\": 2,\n  \"rows\": 5\n}\n[/block]\n##Virtual Documents\nThese documents are uploaded in meta data form (i.e. SSN, TIN, etc.). Following is the complete list of virtual documents that we are capable of verifying:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"document_type\",\n    \"h-1\": \"Comments\",\n    \"0-0\": \"SSN\",\n    \"4-0\": \"TIN\",\n    \"0-1\": \"SSN number of the user\",\n    \"4-1\": \"TIN/EIN number of the business\",\n    \"5-1\": \"DUNS number of the business\",\n    \"5-0\": \"DUNS\",\n    \"6-0\": \"OTHER\",\n    \"6-1\": \"If you don't need us to validate the virtual document but still want to submit it for the record, you can use OTHER as the type as well\",\n    \"1-0\": \"PASSPORT\",\n    \"1-1\": \"Passport number of the user\",\n    \"2-0\": \"DRIVERS_LICENSE\",\n    \"2-1\": \"Driver's License number of the user\",\n    \"3-0\": \"PERSONAL_IDENTIFICATION\",\n    \"3-1\": \"Personal identification number of the user\"\n  },\n  \"cols\": 2,\n  \"rows\": 7\n}\n[/block]\n**Testing Virtual Document in Sandbox**\nFollowing are test values for Virtual Document verification in sandbox. The last 4 digits of your virtual document must be one of the following values (ex: SSN = 777772222).\n\nNote that you cannot verify real identities and document information in sandbox.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"document_value\",\n    \"h-1\": \"Result\",\n    \"0-0\": \"1111 or any other value\",\n    \"1-0\": \"2222\",\n    \"0-1\": \"Validation fails (i.e. identity related information is a complete fail)\",\n    \"1-1\": \"Validation is successful\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\n##Social Documents\nSocial documents are verified through tokens or validation pins (i.e. Facebook, LinkedIn, etc).\nFollowing is the complete list of social documents that we are capable of verifying:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"document_type\",\n    \"0-0\": \"FACEBOOK\",\n    \"1-0\": \"LINKEDIN\",\n    \"2-0\": \"TWITTER\",\n    \"5-0\": \"ADDRESS\",\n    \"h-1\": \"Comments\",\n    \"0-1\": \"Facebook [user access token](https://developers.facebook.com/docs/facebook-login/access-tokens#usertokens). Please include email, user_friends, user_photos, and user_posts permissions for your user's Facebook token\",\n    \"1-1\": \"LinkedIn [user access token](https://developer.linkedin.com/docs/oauth2#)\",\n    \"2-1\": \"Twitter URL of the user's profile\",\n    \"5-1\": \"User's address\",\n    \"3-0\": \"EMAIL_2FA\",\n    \"4-0\": \"PHONE_NUMBER_2FA\",\n    \"4-1\": \"Using [two-factor authentication](https://docs.synapsefi.com/v3.2/docs/verify-2fa) to verify phone number\",\n    \"3-1\": \"Using [two-factor authentication](https://docs.synapsefi.com/v3.2/docs/verify-2fa) to verify email\",\n    \"7-0\": \"OTHER\",\n    \"7-1\": \"If you don't need us to validate the social document but still want to submit for the record, you can use OTHER as the type as well\",\n    \"6-0\": \"DATE\",\n    \"6-1\": \"User's birthdate\"\n  },\n  \"cols\": 2,\n  \"rows\": 8\n}\n[/block]\n**Testing Social Documents in Sandbox**\nFollowing are test values for Social Document verification in sandbox:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"document_value\",\n    \"h-1\": \"Result\",\n    \"h-2\": \"Document Type\",\n    \"0-0\": \"https://www.facebook.com/invalid\",\n    \"1-0\": \"https://www.linkedin.com/invalid\",\n    \"2-0\": \"https://twitter.com/invalid\",\n    \"3-0\": \"invalid:::at:::gmail.com\",\n    \"4-0\": \"255.255.255.0\",\n    \"5-0\": \"541-754-3010\",\n    \"6-0\": \"123456\",\n    \"6-1\": \"Validation Succeeds during `SUBMITTED|MFA_PENDING`\",\n    \"5-1\": \"Validation Fails (i.e. identity related information is a complete fail)\",\n    \"4-1\": \"Validation Fails (i.e. identity related information is a complete fail)\",\n    \"3-1\": \"Validation Fails (i.e. identity related information is a complete fail)\",\n    \"2-1\": \"Validation Fails (i.e. identity related information is a complete fail)\",\n    \"1-1\": \"Validation Fails (i.e. identity related information is a complete fail)\",\n    \"0-1\": \"Validation Fails (i.e. identity related information is a complete fail)\",\n    \"0-2\": \"FACEBOOK\",\n    \"1-2\": \"LINKEDIN\",\n    \"2-2\": \"TWITTER\",\n    \"3-2\": \"EMAIL (supplied via base doc)\",\n    \"4-2\": \"IP (supplied via base doc)\",\n    \"5-2\": \"PHONE_NUMBER (supplied via base doc)\",\n    \"6-2\": \"EMAIL_2FA and PHONE_NUMBER_2FA\"\n  },\n  \"cols\": 3,\n  \"rows\": 7\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"No 2FAs will be sent in sandbox. Please see [Sandbox Test Values](doc:sandbox-test-values) to see which values would work in sandbox.\",\n  \"title\": \"EMAIL_2FA and PHONE_NUMBER_2FA on sandbox\"\n}\n[/block]\n##Physical Documents\n\nThese are images of physical documents uploaded to Synapse for verification (ex: Driver’s License, Proof of Address, Proof of Income, etc.). Physical docs must be converted to base64. Following is the complete list of physical documents that we are capable of verifying: \n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"document_type\",\n    \"h-1\": \"Allowed File Types\",\n    \"0-0\": \"GOVT_ID\",\n    \"3-0\": \"SELFIE\",\n    \"4-0\": \"PROOF_OF_ADDRESS\",\n    \"0-1\": \".png / .jpg / .jpeg\",\n    \"3-1\": \".png / .jpg / .jpeg\",\n    \"4-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"9-0\": \"SSN_CARD\",\n    \"9-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"7-0\": \"AUTHORIZATION\",\n    \"7-1\": \".png / .jpg / .jpeg\",\n    \"10-0\": \"EIN_DOC\",\n    \"15-0\": \"AOI\",\n    \"17-0\": \"LOE\",\n    \"19-0\": \"SUBSCRIPTION_AGREEMENT\",\n    \"20-0\": \"PROMISSORY_NOTE\",\n    \"21-0\": \"LEGAL_AGREEMENT\",\n    \"22-0\": \"REG_GG\",\n    \"10-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"15-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"17-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"19-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"20-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"21-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"22-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"11-0\": \"W9_DOC\",\n    \"14-0\": \"VOIDED_CHECK\",\n    \"11-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"14-1\": \".png / .jpg / .jpeg\",\n    \"5-0\": \"PROOF_OF_INCOME\",\n    \"5-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"6-0\": \"PROOF_OF_ACCOUNT\",\n    \"6-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"12-0\": \"W2_DOC\",\n    \"12-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"16-0\": \"BYLAWS_DOC\",\n    \"16-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"18-0\": \"CIP_DOC\",\n    \"18-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"2-0\": \"VIDEO_AUTHORIZATION\",\n    \"2-1\": \".mov / .mp4 / .webm\",\n    \"h-2\": \"Comments\",\n    \"0-2\": \"User's government-issued photo ID (Driver's License, State ID, or Passport)\",\n    \"2-2\": \"5 second authorization video of the user. Read more [here](https://blog.synapsefi.com/updates/video-auth)\",\n    \"3-2\": \"Picture of user's face. We are deprecating `SELFIE` for `VIDEO_AUTHORIZATION`\",\n    \"4-2\": \"User's proof of address (i.e. utility bill)\",\n    \"5-2\": \"User's proof of income (i.e. pay stub)\",\n    \"6-2\": \"User's proof of account ownership (i.e. bank statement)\",\n    \"7-2\": \"ACH authorization signed by the user\",\n    \"9-2\": \"SSN card of the user\",\n    \"10-2\": \"Form 147C issued to the business\",\n    \"11-2\": \"W-9 with EIN number\",\n    \"12-2\": \"W-2 document\",\n    \"14-2\": \"Voided check of the Individual/business\",\n    \"15-2\": \"Articles of Incorporation\",\n    \"16-2\": \"Bylaw document\",\n    \"17-2\": \"Letter of engagement\",\n    \"18-2\": \"CIP & business description document\",\n    \"19-2\": \"Subscription agreement\",\n    \"20-2\": \"Promissory note\",\n    \"21-2\": \"Any other legal agreement\",\n    \"22-2\": \"Reg GG form\",\n    \"13-0\": \"W8_DOC\",\n    \"13-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"13-2\": \"W-8 document\",\n    \"23-0\": \"DBA_DOC\",\n    \"25-0\": \"OTHER\",\n    \"23-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"25-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"23-2\": \"DBA or Fictitious Name Documentation\",\n    \"25-2\": \"If you don't need us to validate a physical document but still want to submit for the record, you can use OTHER as the type as well\",\n    \"24-0\": \"DEPOSIT_AGREEMENT\",\n    \"24-1\": \".png / .jpg / .jpeg / .pdf\",\n    \"24-2\": \"Deposit agreement\",\n    \"1-0\": \"GOVT_ID_INT\",\n    \"1-1\": \".png / .jpg / .jpeg\",\n    \"1-2\": \"User's government-issued photo ID (Driver's License, State ID, or Passport) that is not in English\",\n    \"8-0\": \"BG_CHECK\",\n    \"8-1\": \".png / .jpg / .jpeg /.pdf\",\n    \"8-2\": \"Background check of the user\"\n  },\n  \"cols\": 3,\n  \"rows\": 26\n}\n[/block]\n###Physical Document Format:\nThe base64 you send via this API call should be padded. See example below:\n\n`\"data:text/csv;base64,<actual_file_data>`\n\n**Testing Physical Document in Sandbox**\n\nTo be able to generate a sample base64, you can go to [Base64 Image](https://www.base64-image.de/). They make it easy to generate a padded base64 for any image. You can then use that base64 to test with our APIs.\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"data:image/invalid;base64,SUQs==\",\n    \"1-0\": \"Any Other\",\n    \"0-1\": \"Validation fails (i.e. identity related information is a complete fail)\",\n    \"1-1\": \"Validation is successful\",\n    \"h-0\": \"document_value\",\n    \"h-1\": \"Result\"\n  },\n  \"cols\": 2,\n  \"rows\": 2\n}\n[/block]\n### Photo ID Requirements\n\nUsers do not need to mail in their government ID. They will upload a photo OR copy of their ID.\nFollowing is a list of suggestions to improve accuracy for Photo ID uploads:\n\n* Steady image\n* ID occupies most of image\n* ID and text are aligned properly \n* Plain black background\n* Four visible edges of the ID\n* Min resolution ~1200 pixels, minor axis\n* Good natural lighting (average pixel intensity ~150)\n* No flash\n* Name, address & DOB matches those supplied to us in base doc\n* Should be in full color (no black and white images accepted)\n* We recommend maximum file size of 2 MB (most high-quality JPG are around 1 MB)\n*Make sure to check your Spec Sheet to confirm if users need an American government-issued ID or if they can use an international government-issued ID\n\nFollowing is an example of a high-quality Photo ID submission:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/81ae82a-vetdes.jpg\",\n        \"vetdes.jpg\",\n        526,\n        344,\n        \"#e2dddb\"\n      ]\n    }\n  ]\n}\n[/block]\n### Video Auth Requirements\n\nFollowing is a list of suggestions to improve accuracy for Video auth uploads:\n\n* Camera is positioned straight, in front of face, and not too far away\n* User is looking directly into camera while speaking\n* User is taking a steady video recording\n* No other people are present in video recording\n* Good natural lighting (average pixel intensity ~150)\n* Should be in full color (no black and white videos accepted)\n* We recommend a It maximum file size of 10 MB (most high quality JPG are around 5 MB)\n\nFollowing is an example of a high-quality Video Auth submission:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/c89bf87-1_2JIRL3Sf75pO8RPezpZFaw.gif\",\n        \"1_2JIRL3Sf75pO8RPezpZFaw.gif\",\n        480,\n        270,\n        \"#362d40\"\n      ]\n    }\n  ]\n}\n[/block]","excerpt":"Intro to Users and their documents","slug":"know-your-customer-kyc","type":"basic","title":"User Intro"}

User Intro

Intro to Users and their documents

Know Your Customer (KYC) is an important component of running a successful FinTech business. There is no one-size-fits-all, and when it comes to on-boarding customers ("users") there is a fine balance between maintaining compliance, reducing risk and simplifying the experience. To properly perform KYC on your customers, our team will work with you to develop your Customer Identification Program (CIP). This program determines what your customers should submit to receive `SEND-AND-RECEIVE` permissions. We support up to 3,000 different CIPs to fit your needs. To onboard a user and submit their KYC, use the following User Flow: 1. [Create User](https://docs.synapsefi.com/v3.2/docs/create-a-user-1) 2. [OAuth User](https://docs.synapsefi.com/v3.2/docs/oauth-the-user) to perform actions on behalf of the user 3. [Submit KYC (this can also be done when creating the user) ](https://docs.synapsefi.com/v3.2/docs/add-documents) The following types of KYC can be uploaded to a user object: 1. **[Base Document](#base-documents):** Basic information required for all users (ex: Name, DOB, Address, Email, Phone) 2. **[Sub-Documents](#sub-documents):** [Virtual Document](#section-virtual-documents): Meta Data (ex: SSN, TIN, Passport Number) [Social Document](#section-social-documents): Authenticated Social Profiles (ex: Facebook, LinkedIn, Twitter tokens) [Physical Document:](#section-physical-documents) Images of Documentation (ex: Photo ID, Articles of Incorporation) After the user receives `SEND-AND-RECEIVE` permissions (or other appropriate permissions as noted on your Spec Sheet), they can add accounts ("nodes") and create transactions. ##Standard User Object [block:html] { "html": "<div class=\"api-manager\"><div class=\"param-table\"><div class=\"table\"><div class=\"tr\"><div class=\"td param\"><strong>_id<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Object ID of a user object</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">_links.self.</span>href<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>HAL style link for the user object</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">client.</span>id<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>ID of the client where the user was created</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">client.</span>name<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Name of the client that created the user</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">doc_status.</span>physical_doc<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>[DEPRECATED] Status of physical document verification</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">doc_status.</span>virtual_doc<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>[DEPRECATED] Status of virtual document verification</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents[</span>id<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>ID of the document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents[</span>name<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Name of the document owner</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents[</span>permission_scope<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Permission scope of the document. <a href=\"#section-user-permissions\">More Details</a>.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.physical_docs.[</span>id<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>ID of the physical document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.physical_docs.[</span>document_type<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Type of the physical document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.physical_docs.[</span>last_updated<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">integer</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Date when the document was last updated. The value is a unix timestamp in milliseconds.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.physical_docs.[</span>status<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Status of the physical document.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.social_docs.[</span>id<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>ID of the social document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.social_docs.[</span>document_type<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Type of the social document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.social_docs.[</span>last_updated<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">integer</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Date when the document was last updated. The value is a unix timestamp in milliseconds.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.social_docs.[</span>status<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Status of the social document.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.virtual_docs.[</span>id<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>ID of the virtual document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.virtual_docs.[</span>document_type<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Type of the virtual document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.virtual_docs.[</span>last_updated<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">integer</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Date when the document was last updated. The value is a unix timestamp in milliseconds</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">documents.virtual_docs.[</span>status<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Status of the virtual document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">extra.</span>date_joined<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Date when the user was created. The value is a unix timestamp in milliseconds</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">extra.</span>is_business<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">boolean</strong><span class=\"param-default text-muted\">false</span><div marked=\"\" class=\"ng-isolate-scope\"><p>Boolean that denotes if the user object is a business account or personal</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">extra.</span>supp_id<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Any supplied ID given by the client that created the user</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">extra.</span>cip_tag<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">integer</strong><span class=\"param-default text-muted\">1</span><div marked=\"\" class=\"ng-isolate-scope\"><p>CIP tag assigned to the user profile</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>is_hidden<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">boolean</strong><span class=\"param-default text-muted\">false</span><div marked=\"\" class=\"ng-isolate-scope\"><p>Value denotes if the user can be searched by email/name on Synapse services</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>legal_names<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">array of strings</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Legal names/Full names associated with the user object</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">logins[</span>email<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Email associated with the login</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">logins[</span>scope<span class=\"text-muted\">]</span><span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><span class=\"param-default text-muted\">READ_AND_WRITE</span><div marked=\"\" class=\"ng-isolate-scope\"><p>Value denotes what permissions the login credentials has. Currently only two scopes are supported: <code>READ_AND_WRITE</code> &amp; <code>READ</code></p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>permission<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Denotes the account standing. Look at the user permissions section below to learn more</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>phone_numbers<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">array of strings</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Phone numbers/2FA devices associated with the user</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>photos<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">array of strings</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Public avatars associated with the account</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>refresh_token<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>The refresh token associated with the user and your platform</p>\n</div></div></div></div></div></div>" } [/block] ##User Permissions Every user in Synapse has a set of permissions. The permissions dictate what the user can and cannot do within the network. You can find the user permission associated with each user under the permissions key on the user JSON response. Following are the user permissions and what they mean. [block:parameters] { "data": { "h-0": "User Permission", "h-1": "Description", "0-1": "User has been created in the system but has not been verified yet. This means the user instance has been created, but no KYC information has been supplied to the user.", "0-0": "UNVERIFIED", "1-0": "RECEIVE", "2-0": "SEND-AND-RECEIVE", "3-0": "LOCKED", "4-0": "MAKE-IT-GO-AWAY", "4-1": "User is unindexed and will be removed from the platform dashboard.", "3-1": "User account has been locked and all API actions associated with this user will be blocked. User account may be locked for various reasons \n(i.e. fraud, suspicious activity, etc.) There may be additional documentation `OR` steps needed to unlock the user.", "2-1": "User has been created in the platform and has permissions to send and receive funds.", "1-1": "User has been created in the system and only has permissions to receive funds." }, "cols": 2, "rows": 5 } [/block] [block:api-header] { "title": "Base Documents Object" } [/block] The Base Document is basic user information, such as: name, DOB, address, email, and phone. [block:html] { "html": "<div class=\"api-manager\"><div class=\"param-table\"><div class=\"table\"><h4 class=\"paramGroupTitle\">Body Params</h4><div class=\"tr\"><div class=\"td param\"><strong>name<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Name of the document owner</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>alias<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Alias of the document owner (this can be the name or in case of businesses it can be the DBA entry)</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>email<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Email associated with the document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>phone_number<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Phone number associated with the document</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>ip<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>IP of where the document is being submitted from</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>entity_type<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Entity type of the document owner, this can be gender in case of an individual or DBA in case of a business. <a href=\"#section-supported-entity-types\">See here </a></p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>entity_scope<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Industry in which the document owner operates. In case of an individual it can be their field of profession, in case of a corp this can be their line of business. <a href=\"#section-supported-entity-scope\">See here</a></p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>day<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">integer</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>In case of a person this is day of birth. In case of business entity, this is day of organization</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>month<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">integer</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>In case of a person this is month of birth. In case of business entity, this is month of organization</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>year<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">integer</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>In case of a person this is year of birth (must be over 18). In case of business entity, this is year of organization</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>address_street<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>address_city<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>address_subdivision<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp. <strong>This value needs to be in <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">ISO Alpha-2</a></strong>.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>address_postal_code<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>address_country_code<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Address associated with the document owner, this can be home address of a person or business address of a corp. <strong>This value needs to be in <a href=\"https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\">ISO Alpha-2</a></strong>.</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>virtual_docs<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">array of objects</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>See Sub-Document Object <a href=\"#section-virtual-documents\">here</a></p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>physical_docs<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">array of objects</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>See Sub-Document Object <a href=\"#section-physical-documents\">here</a></p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>social_docs<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">array of objects</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>See Sub-Document Object <a href=\"#section-social-documents\">here</a></p>\n</div></div></div></div></div></div>" } [/block] [block:callout] { "type": "info", "title": "Base Document Considerations:", "body": "* Users should submit their full legal name. Initials of names or non-legal names will result in failures.\n* Users below 18 years of age will be auto rejected.\n* Addresses are validated. Please include the full mailing address." } [/block] [block:callout] { "type": "info", "title": "Address Verification", "body": "We recommend using Google to auto-populate the correct address to reduce address verification issues, as we check for mailable addresses." } [/block] ## Base Document Permission Scope Permission scope helps determine if the user is allowed to send funds, receive funds and up to what amount (i.e. daily, weekly or monthly). Each base document object is given a `permission_scope` based on the KYC program set on the platform’s Specification Sheet. This helps decide the overall user permission associated with the account. Additionally, if multiple base document objects are submitted for one user, the document with the worst permission scope ends up being the permission associated with the user account (This ensures that the Specification Sheet KYC program is never invalidated, thus keeping you compliant). Following are the examples of different kinds of permission scopes: [block:parameters] { "data": { "h-0": "Permission Scope", "h-1": "Comment", "0-0": "SEND|RECEIVE", "0-1": "The user can send and receive funds", "1-0": "SEND|RECEIVE|TIER|1", "1-1": "The user can send and receive funds up to the limits governed by the tier on the Specification Sheet", "2-0": "RECEIVE", "2-1": "The user can only receive funds", "3-0": "RECEIVE|TIER|1", "3-1": "The user can receive funds up to the limits governed by the tier on the Specification Sheet" }, "cols": 2, "rows": 4 } [/block] ##Supported Entity types [block:parameters] { "data": { "h-0": "Entity Types", "h-1": "Comment", "0-0": "M", "1-0": "F", "2-0": "O", "3-0": "Minor", "4-0": "NOT_KNOWN", "5-0": "LLC", "6-0": "CORP", "7-0": "PARTNERSHIP", "8-0": "SOLE-PROPRIETORSHIP", "9-0": "TRUST", "10-0": "ESTATE", "11-0": "IRA", "11-1": "Individual Retirement Account", "10-1": "Estate", "9-1": "Trust", "8-1": "Sole Proprietorship", "7-1": "Any type of partnership", "6-1": "Corporation", "5-1": "Limited Liability Company", "4-1": "Do not wish to specify (acceptable in cases of individuals only)", "3-1": "Individual under 18 years of age", "2-1": "Other", "1-1": "Female", "0-1": "Male" }, "cols": 2, "rows": 12 } [/block] ##Supported Entity Scope [block:parameters] { "data": { "0-0": "Not Known", "1-0": "Airport", "2-0": "Arts & Entertainment", "3-0": "Automotive", "4-0": "Bank & Financial Services", "5-0": "Bar", "6-0": "Book Store", "7-0": "Business Services", "8-0": "Religious Organization", "9-0": "Club", "10-0": "Community/Government", "11-0": "Concert Venue", "12-0": "Doctor", "13-0": "Event Planning/Event Services", "14-0": "Food/Grocery", "15-0": "Health/Medical/Pharmacy", "16-0": "Home Improvement", "17-0": "Hospital/Clinic", "18-0": "Hotel", "19-0": "Landmark", "20-0": "Lawyer", "21-0": "Library", "22-0": "Licensed Financial Representative", "23-0": "Local Business", "24-0": "Middle School", "25-0": "Movie Theater", "26-0": "Museum/Art Gallery", "27-0": "Outdoor Gear/Sporting Goods", "28-0": "Pet Services", "29-0": "Professional Services", "30-0": "Public Places", "31-0": "Real Estate", "32-0": "Restaurant/Cafe", "33-0": "School", "34-0": "Shopping/Retail", "35-0": "Spas/Beauty/Personal Care", "36-0": "Sports Venue", "37-0": "Sports/Recreation/Activities", "38-0": "Tours/Sightseeing", "39-0": "Train Station", "40-0": "Transportation", "41-0": "University", "42-0": "Aerospace/Defense", "43-0": "Automobiles and Parts", "44-0": "Bank/Financial Institution", "45-0": "Biotechnology", "46-0": "Cause", "47-0": "Chemicals", "48-0": "Community Organization", "49-0": "Company", "50-0": "Computers/Technology", "51-0": "Consulting/Business Services", "52-0": "Education", "53-0": "Elementary School", "54-0": "Energy/Utility", "55-0": "Engineering/Construction", "56-0": "Farming/Agriculture", "57-0": "Food/Beverages", "58-0": "Government Organization", "59-0": "Health/Beauty", "60-0": "Health/Medical/Pharmaceuticals", "61-0": "Industrials", "62-0": "Insurance Company", "63-0": "Internet/Software", "64-0": "Legal/Law", "65-0": "Media/News/Publishing", "66-0": "Mining/Materials", "67-0": "Non-Governmental Organization (NGO)", "68-0": "Non-Profit Organization", "69-0": "Organization", "70-0": "Political Organization", "71-0": "Political Party", "72-0": "Preschool", "73-0": "Retail and Consumer Merchandise", "74-0": "Small Business", "75-0": "Telecommunication", "76-0": "Transport/Freight", "77-0": "Travel/Leisure" }, "cols": 1, "rows": 78 } [/block] ##Address Validation We validate addresses to ensure an address is mailable. We encourage you to use a tool like Google to autocomplete addresses. This reduces the risk of submitting improperly formatted addresses. To test address validation in sandbox, use the following values: [block:parameters] { "data": { "h-0": "address_street", "h-1": "Result", "0-0": "123 fail address", "1-0": "Any other value", "0-1": "Supplied address is invalid / Unable to verify address", "1-1": "Validation is successful" }, "cols": 2, "rows": 2 } [/block] [block:api-header] { "title": "Sub-Documents" } [/block] Sub-Documents are supporting documents. They are classified as [Physical](#section-physical-documents), [Virtual](#section-virtual-documents) or [Social](#section-social-documents) documents. [block:html] { "html": "<div class=\"api-manager\"><div class=\"param-table\"><div class=\"table\"><h4 class=\"paramGroupTitle\">Body Params</h4><div class=\"tr\"><div class=\"td param\"><strong>document_type<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Type of document (<a href=\"#section-physical-documents\">physical</a>, <a href=\"#section-virtual-documents\">virtual</a>, <a href=\"#section-social-documents\">social</a>)</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong>document_value<span class=\"colon\">:</span></strong><div class=\"required\">required</div></div><div class=\"td\"><strong class=\"param-type\">string</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>Value of the document (in case of physical documents, submit the padded base64 value of the file you wish to upload)</p>\n</div></div></div></div></div></div>" } [/block] ## SubDocument Status Along with the user permissions, you can also view the status of a user's sub-documents. Same document status conversations are followed for all three sub document types ([Physical](#section-physical-documents), [Virtual](#section-virtual-documents) & [Social](#section-social-documents)). Following are different subdocument statues and what they mean: [block:parameters] { "data": { "h-0": "Status", "h-1": "Comment", "0-0": "SUBMITTED", "1-0": "SUBMITTED|REVIEWING", "5-0": "", "0-1": "Document was submitted but not validated. Resubmission is not needed.", "1-1": "Document was uploaded and is being reviewed. Documents are reviewed asynchronously and may take a minute.", "5-1": "", "4-0": "SUBMITTED|VALID", "4-1": "Document was submitted and determined to be invalid (resubmission dependent upon platform Spec. Sheet and KYC)", "3-0": "SUBMITTED|INVALID", "3-1": "Document submitted was reviewed and validated", "2-0": "SUBMITTED|MFA_PENDING", "2-1": "Document uploaded, waiting for the user to verify the MFA code. Only applicable for EMAIL_2FA and PHONE_NUMBER 2FA." }, "cols": 2, "rows": 5 } [/block] ##Virtual Documents These documents are uploaded in meta data form (i.e. SSN, TIN, etc.). Following is the complete list of virtual documents that we are capable of verifying: [block:parameters] { "data": { "h-0": "document_type", "h-1": "Comments", "0-0": "SSN", "4-0": "TIN", "0-1": "SSN number of the user", "4-1": "TIN/EIN number of the business", "5-1": "DUNS number of the business", "5-0": "DUNS", "6-0": "OTHER", "6-1": "If you don't need us to validate the virtual document but still want to submit it for the record, you can use OTHER as the type as well", "1-0": "PASSPORT", "1-1": "Passport number of the user", "2-0": "DRIVERS_LICENSE", "2-1": "Driver's License number of the user", "3-0": "PERSONAL_IDENTIFICATION", "3-1": "Personal identification number of the user" }, "cols": 2, "rows": 7 } [/block] **Testing Virtual Document in Sandbox** Following are test values for Virtual Document verification in sandbox. The last 4 digits of your virtual document must be one of the following values (ex: SSN = 777772222). Note that you cannot verify real identities and document information in sandbox. [block:parameters] { "data": { "h-0": "document_value", "h-1": "Result", "0-0": "1111 or any other value", "1-0": "2222", "0-1": "Validation fails (i.e. identity related information is a complete fail)", "1-1": "Validation is successful" }, "cols": 2, "rows": 2 } [/block] ##Social Documents Social documents are verified through tokens or validation pins (i.e. Facebook, LinkedIn, etc). Following is the complete list of social documents that we are capable of verifying: [block:parameters] { "data": { "h-0": "document_type", "0-0": "FACEBOOK", "1-0": "LINKEDIN", "2-0": "TWITTER", "5-0": "ADDRESS", "h-1": "Comments", "0-1": "Facebook [user access token](https://developers.facebook.com/docs/facebook-login/access-tokens#usertokens). Please include email, user_friends, user_photos, and user_posts permissions for your user's Facebook token", "1-1": "LinkedIn [user access token](https://developer.linkedin.com/docs/oauth2#)", "2-1": "Twitter URL of the user's profile", "5-1": "User's address", "3-0": "EMAIL_2FA", "4-0": "PHONE_NUMBER_2FA", "4-1": "Using [two-factor authentication](https://docs.synapsefi.com/v3.2/docs/verify-2fa) to verify phone number", "3-1": "Using [two-factor authentication](https://docs.synapsefi.com/v3.2/docs/verify-2fa) to verify email", "7-0": "OTHER", "7-1": "If you don't need us to validate the social document but still want to submit for the record, you can use OTHER as the type as well", "6-0": "DATE", "6-1": "User's birthdate" }, "cols": 2, "rows": 8 } [/block] **Testing Social Documents in Sandbox** Following are test values for Social Document verification in sandbox: [block:parameters] { "data": { "h-0": "document_value", "h-1": "Result", "h-2": "Document Type", "0-0": "https://www.facebook.com/invalid", "1-0": "https://www.linkedin.com/invalid", "2-0": "https://twitter.com/invalid", "3-0": "[email protected]", "4-0": "255.255.255.0", "5-0": "541-754-3010", "6-0": "123456", "6-1": "Validation Succeeds during `SUBMITTED|MFA_PENDING`", "5-1": "Validation Fails (i.e. identity related information is a complete fail)", "4-1": "Validation Fails (i.e. identity related information is a complete fail)", "3-1": "Validation Fails (i.e. identity related information is a complete fail)", "2-1": "Validation Fails (i.e. identity related information is a complete fail)", "1-1": "Validation Fails (i.e. identity related information is a complete fail)", "0-1": "Validation Fails (i.e. identity related information is a complete fail)", "0-2": "FACEBOOK", "1-2": "LINKEDIN", "2-2": "TWITTER", "3-2": "EMAIL (supplied via base doc)", "4-2": "IP (supplied via base doc)", "5-2": "PHONE_NUMBER (supplied via base doc)", "6-2": "EMAIL_2FA and PHONE_NUMBER_2FA" }, "cols": 3, "rows": 7 } [/block] [block:callout] { "type": "info", "body": "No 2FAs will be sent in sandbox. Please see [Sandbox Test Values](doc:sandbox-test-values) to see which values would work in sandbox.", "title": "EMAIL_2FA and PHONE_NUMBER_2FA on sandbox" } [/block] ##Physical Documents These are images of physical documents uploaded to Synapse for verification (ex: Driver’s License, Proof of Address, Proof of Income, etc.). Physical docs must be converted to base64. Following is the complete list of physical documents that we are capable of verifying: [block:parameters] { "data": { "h-0": "document_type", "h-1": "Allowed File Types", "0-0": "GOVT_ID", "3-0": "SELFIE", "4-0": "PROOF_OF_ADDRESS", "0-1": ".png / .jpg / .jpeg", "3-1": ".png / .jpg / .jpeg", "4-1": ".png / .jpg / .jpeg / .pdf", "9-0": "SSN_CARD", "9-1": ".png / .jpg / .jpeg / .pdf", "7-0": "AUTHORIZATION", "7-1": ".png / .jpg / .jpeg", "10-0": "EIN_DOC", "15-0": "AOI", "17-0": "LOE", "19-0": "SUBSCRIPTION_AGREEMENT", "20-0": "PROMISSORY_NOTE", "21-0": "LEGAL_AGREEMENT", "22-0": "REG_GG", "10-1": ".png / .jpg / .jpeg / .pdf", "15-1": ".png / .jpg / .jpeg / .pdf", "17-1": ".png / .jpg / .jpeg / .pdf", "19-1": ".png / .jpg / .jpeg / .pdf", "20-1": ".png / .jpg / .jpeg / .pdf", "21-1": ".png / .jpg / .jpeg / .pdf", "22-1": ".png / .jpg / .jpeg / .pdf", "11-0": "W9_DOC", "14-0": "VOIDED_CHECK", "11-1": ".png / .jpg / .jpeg / .pdf", "14-1": ".png / .jpg / .jpeg", "5-0": "PROOF_OF_INCOME", "5-1": ".png / .jpg / .jpeg / .pdf", "6-0": "PROOF_OF_ACCOUNT", "6-1": ".png / .jpg / .jpeg / .pdf", "12-0": "W2_DOC", "12-1": ".png / .jpg / .jpeg / .pdf", "16-0": "BYLAWS_DOC", "16-1": ".png / .jpg / .jpeg / .pdf", "18-0": "CIP_DOC", "18-1": ".png / .jpg / .jpeg / .pdf", "2-0": "VIDEO_AUTHORIZATION", "2-1": ".mov / .mp4 / .webm", "h-2": "Comments", "0-2": "User's government-issued photo ID (Driver's License, State ID, or Passport)", "2-2": "5 second authorization video of the user. Read more [here](https://blog.synapsefi.com/updates/video-auth)", "3-2": "Picture of user's face. We are deprecating `SELFIE` for `VIDEO_AUTHORIZATION`", "4-2": "User's proof of address (i.e. utility bill)", "5-2": "User's proof of income (i.e. pay stub)", "6-2": "User's proof of account ownership (i.e. bank statement)", "7-2": "ACH authorization signed by the user", "9-2": "SSN card of the user", "10-2": "Form 147C issued to the business", "11-2": "W-9 with EIN number", "12-2": "W-2 document", "14-2": "Voided check of the Individual/business", "15-2": "Articles of Incorporation", "16-2": "Bylaw document", "17-2": "Letter of engagement", "18-2": "CIP & business description document", "19-2": "Subscription agreement", "20-2": "Promissory note", "21-2": "Any other legal agreement", "22-2": "Reg GG form", "13-0": "W8_DOC", "13-1": ".png / .jpg / .jpeg / .pdf", "13-2": "W-8 document", "23-0": "DBA_DOC", "25-0": "OTHER", "23-1": ".png / .jpg / .jpeg / .pdf", "25-1": ".png / .jpg / .jpeg / .pdf", "23-2": "DBA or Fictitious Name Documentation", "25-2": "If you don't need us to validate a physical document but still want to submit for the record, you can use OTHER as the type as well", "24-0": "DEPOSIT_AGREEMENT", "24-1": ".png / .jpg / .jpeg / .pdf", "24-2": "Deposit agreement", "1-0": "GOVT_ID_INT", "1-1": ".png / .jpg / .jpeg", "1-2": "User's government-issued photo ID (Driver's License, State ID, or Passport) that is not in English", "8-0": "BG_CHECK", "8-1": ".png / .jpg / .jpeg /.pdf", "8-2": "Background check of the user" }, "cols": 3, "rows": 26 } [/block] ###Physical Document Format: The base64 you send via this API call should be padded. See example below: `"data:text/csv;base64,<actual_file_data>` **Testing Physical Document in Sandbox** To be able to generate a sample base64, you can go to [Base64 Image](https://www.base64-image.de/). They make it easy to generate a padded base64 for any image. You can then use that base64 to test with our APIs. [block:parameters] { "data": { "0-0": "data:image/invalid;base64,SUQs==", "1-0": "Any Other", "0-1": "Validation fails (i.e. identity related information is a complete fail)", "1-1": "Validation is successful", "h-0": "document_value", "h-1": "Result" }, "cols": 2, "rows": 2 } [/block] ### Photo ID Requirements Users do not need to mail in their government ID. They will upload a photo OR copy of their ID. Following is a list of suggestions to improve accuracy for Photo ID uploads: * Steady image * ID occupies most of image * ID and text are aligned properly * Plain black background * Four visible edges of the ID * Min resolution ~1200 pixels, minor axis * Good natural lighting (average pixel intensity ~150) * No flash * Name, address & DOB matches those supplied to us in base doc * Should be in full color (no black and white images accepted) * We recommend maximum file size of 2 MB (most high-quality JPG are around 1 MB) *Make sure to check your Spec Sheet to confirm if users need an American government-issued ID or if they can use an international government-issued ID Following is an example of a high-quality Photo ID submission: [block:image] { "images": [ { "image": [ "https://files.readme.io/81ae82a-vetdes.jpg", "vetdes.jpg", 526, 344, "#e2dddb" ] } ] } [/block] ### Video Auth Requirements Following is a list of suggestions to improve accuracy for Video auth uploads: * Camera is positioned straight, in front of face, and not too far away * User is looking directly into camera while speaking * User is taking a steady video recording * No other people are present in video recording * Good natural lighting (average pixel intensity ~150) * Should be in full color (no black and white videos accepted) * We recommend a It maximum file size of 10 MB (most high quality JPG are around 5 MB) Following is an example of a high-quality Video Auth submission: [block:image] { "images": [ { "image": [ "https://files.readme.io/c89bf87-1_2JIRL3Sf75pO8RPezpZFaw.gif", "1_2JIRL3Sf75pO8RPezpZFaw.gif", 480, 270, "#362d40" ] } ] } [/block]