{"_id":"5bae7f4a8d23fa00036455e4","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-28T19:21:46.319Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"Before you do anything else, create a User. The user object can be created with minimal parameters (such as login, password and scope), or you can create the user object with more information (including the KYC documents outlined in your Spec Sheet).\n\n##API Endpoint\nhttps://uat-api.synapsefi.com/v3.1/users\n\n##PATH PARAMETER##\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>logins <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">array of objects</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>User emails used for logins.</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong>phone_numbers <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">array of strings</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>All the phone numbers you wish to register with this account</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong>legal_names <span class=\\\"colon\\\">:</span> </strong> <div class=\\\"required\\\">required</div></div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">array of strings</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>All the legal names you wish to register with this account</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong>documents <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">array of objects</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>User KYC documents. <a href=\\\"https://docs.synapsefi.com/v3.2/docs/know-your-customer-kyc#base-documents\\\">See Documents Object</a> </p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>note <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Any note that you wish to supply to Synapse about the user (not returned with user object)</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>public_note <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Any note that you wish to attach to the user (returned with user object)</p></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 ID you wish to register to the user</p></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> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>If the user is a business user, send us True. False by default</p></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> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>CIP tag associated with the account.</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong> <span class=\\\"text-muted\\\">extra.</span>extra_security <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>If you wish for the user to get a 2FA code every time they OAuth or Login themselves, set this to <code>true</code> </p></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></div></div></div></div></div></div>\"\n}\n[/block]\n##EXAMPLE REQUEST\nCreate a user with or without a base document. We recommend with the base document because you can supply KYC all at once.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /v3.1/users HTTP/1.1\\nHost: uat-api.synapsefi.com\\nX-SP-GATEWAY: client_id_2bb1e412edd311e6bd04e285d6015267|client_secret_2bb1e714edd311e6bd04e285d6015267\\nX-SP-USER-IP: 127.0.0.1\\nX-SP-USER: |e83cf6ddcf778e37bfe3d48fc78a6502062fc\\nContent-Type: application/json\\n\\n{\\n  \\\"logins\\\": [\\n    {\\n      \\\"email\\\": \\\"test:::at:::synapsefi.com\\\"\\n    }\\n  ],\\n  \\\"phone_numbers\\\": [\\n    \\\"901.111.1111\\\",\\n    \\\"[email protected]\\\"\\n  ],\\n  \\\"legal_names\\\": [\\n    \\\"Test User\\\"\\n  ],\\n  \\\"documents\\\":[{\\n        \\\"email\\\":\\\"[email protected]\\\",\\n        \\\"phone_number\\\":\\\"901.111.1111\\\",\\n        \\\"ip\\\":\\\"::1\\\",\\n        \\\"name\\\":\\\"Test User\\\",\\n        \\\"alias\\\":\\\"Test\\\",\\n        \\\"entity_type\\\":\\\"M\\\",\\n        \\\"entity_scope\\\":\\\"Arts & Entertainment\\\",\\n        \\\"day\\\":2,\\n        \\\"month\\\":5,\\n        \\\"year\\\":1989,\\n        \\\"address_street\\\":\\\"1 Market St.\\\",\\n        \\\"address_city\\\":\\\"SF\\\",\\n        \\\"address_subdivision\\\":\\\"CA\\\",\\n        \\\"address_postal_code\\\":\\\"94114\\\",\\n        \\\"address_country_code\\\":\\\"US\\\",\\n        \\\"virtual_docs\\\":[{\\n            \\\"document_value\\\":\\\"2222\\\",\\n            \\\"document_type\\\":\\\"SSN\\\"\\n        }],\\n        \\\"physical_docs\\\":[{\\n            \\\"document_value\\\": \\\"data:image/gif;base64,SUQs==\\\",\\n            \\\"document_type\\\": \\\"GOVT_ID\\\"\\n        }],\\n        \\\"social_docs\\\":[{\\n            \\\"document_value\\\":\\\"https://www.facebook.com/valid\\\",\\n            \\\"document_type\\\":\\\"FACEBOOK\\\"\\n        }]\\n    }],\\n  \\\"extra\\\": {\\n    \\\"supp_id\\\": \\\"122eddfgbeafrfvbbb\\\",\\n    \\\"cip_tag\\\":1,\\n    \\\"is_business\\\": false\\n  }\\n}\",\n      \"language\": \"http\",\n      \"name\": \"With Base Docs\"\n    },\n    {\n      \"code\": \"POST /v3.1/users HTTP/1.1\\nHost: uat-api.synapsefi.com\\nX-SP-GATEWAY: client_id_2bb1e412edd311e6bd04e285d6015267|client_secret_2bb1e714edd311e6bd04e285d6015267\\nX-SP-USER-IP: 127.0.0.1\\nX-SP-USER: |e83cf6ddcf778e37bfe3d48fc78a6502062fc\\nContent-Type: application/json\\n\\n{\\n  \\\"logins\\\": [\\n    {\\n      \\\"email\\\": \\\"[email protected]\\\"\\n    }\\n  ],\\n  \\\"phone_numbers\\\": [\\n    \\\"901.111.1111\\\",\\n    \\\"[email protected]\\\"\\n  ],\\n  \\\"legal_names\\\": [\\n    \\\"Test User\\\"\\n  ],\\n  \\\"extra\\\": {\\n    \\\"supp_id\\\": \\\"122eddfgbeafrfvbbb\\\",\\n    \\\"cip_tag\\\":1,\\n    \\\"is_business\\\": false\\n  }\\n}\",\n      \"language\": \"http\",\n      \"name\": \"Without Base Docs\"\n    }\n  ]\n}\n[/block]\n**Fingerprints**\nYou can either submit unique device fingerprints for each user or static fingerprints. [Read more about Fingerprints](https://docs.synapsefi.com/v3.2/docs/register-new-fingerprint) before creating your first user.\n\n**CIP Tags**\nRefer to your Spec Sheet to determine the appropriate `cip_tag` for each user.\n\n##EXAMPLE SUCCESSFUL 200 RESPONSE\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n    \\\"_id\\\": \\\"594e0fa2838454002ea317a0\\\",\\n    \\\"_links\\\": {\\n        \\\"self\\\": {\\n            \\\"href\\\": \\\"https://uat-api.synapsefi.com/v3.1/users/594e0fa2838454002ea317a0\\\"\\n        }\\n    },\\n    \\\"client\\\": {\\n        \\\"id\\\": \\\"589acd9ecb3cd400fa75ac06\\\",\\n        \\\"name\\\": \\\"SynapseFI\\\"\\n    },\\n    \\\"doc_status\\\": {\\n        \\\"physical_doc\\\": \\\"MISSING|INVALID\\\",\\n        \\\"virtual_doc\\\": \\\"MISSING|INVALID\\\"\\n    },\\n    \\\"documents\\\": [\\n        {\\n            \\\"id\\\": \\\"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8\\\",\\n            \\\"name\\\": \\\"Test User\\\",\\n            \\\"permission_scope\\\": \\\"UNVERIFIED\\\",\\n            \\\"physical_docs\\\": [\\n                {\\n                    \\\"document_type\\\": \\\"GOVT_ID\\\",\\n                    \\\"id\\\": \\\"c486c2cb8c1bce695fcfae3197e14aa5b8ddec184c2779d00d581abee5d9a04c\\\",\\n                    \\\"last_updated\\\": 1498288031319,\\n                    \\\"status\\\": \\\"SUBMITTED|REVIEWING\\\"\\n                }\\n            ],\\n            \\\"social_docs\\\": [\\n                {\\n                    \\\"document_type\\\": \\\"EMAIL\\\",\\n                    \\\"id\\\": \\\"2c45158f6431ca874bbe82f63d5905567854dde4d8b81539944e5779e5eee741\\\",\\n                    \\\"last_updated\\\": 1498288032328,\\n                    \\\"status\\\": \\\"SUBMITTED|REVIEWING\\\"\\n                },\\n                {\\n                    \\\"document_type\\\": \\\"FACEBOOK\\\",\\n                    \\\"id\\\": \\\"8f314a6a53f36ee569455761e49a2a7fe790d251c5611c65255befdb303602b7\\\",\\n                    \\\"last_updated\\\": 1498288031824,\\n                    \\\"status\\\": \\\"SUBMITTED|REVIEWING\\\"\\n                },\\n                {\\n                    \\\"document_type\\\": \\\"PHONE_NUMBER\\\",\\n                    \\\"id\\\": \\\"fda60784d6375bc44edafaaeae149626c4c13dcb92e85a2a7a00eec2cdfd2b6f\\\",\\n                    \\\"last_updated\\\": 1498288032830,\\n                    \\\"status\\\": \\\"SUBMITTED|REVIEWING\\\"\\n                },\\n                {\\n                    \\\"document_type\\\": \\\"IP\\\",\\n                    \\\"id\\\": \\\"28d9177b22c127d9a51d8903893864accf6e553ac326704a4c0d585eaad2516a\\\",\\n                    \\\"last_updated\\\": 1498288033333,\\n                    \\\"status\\\": \\\"SUBMITTED|REVIEWING\\\"\\n                }\\n            ],\\n            \\\"virtual_docs\\\": [\\n                {\\n                    \\\"document_type\\\": \\\"SSN\\\",\\n                    \\\"id\\\": \\\"ee596c2896dddc19b76c07a184fe7d3cf5a04b8e94b9108190cac7890739017f\\\",\\n                    \\\"last_updated\\\": 1498288030812,\\n                    \\\"status\\\": \\\"SUBMITTED|REVIEWING\\\"\\n                }\\n            ]\\n        }\\n    ],\\n    \\\"emails\\\": [],\\n    \\\"extra\\\": {\\n        \\\"cip_tag\\\": 1,\\n        \\\"date_joined\\\": 1498288029784,\\n        \\\"extra_security\\\": false,\\n        \\\"is_business\\\": false,\\n        \\\"last_updated\\\": 1498288029784,\\n        \\\"public_note\\\": null,\\n        \\\"supp_id\\\": \\\"122eddfgbeafrfvbbb\\\"\\n    },\\n    \\\"is_hidden\\\": false,\\n    \\\"legal_names\\\": [\\n        \\\"Test User\\\"\\n    ],\\n    \\\"logins\\\": [\\n        {\\n            \\\"email\\\": \\\"[email protected]\\\",\\n            \\\"scope\\\": \\\"READ_AND_WRITE\\\"\\n        }\\n    ],\\n    \\\"permission\\\": \\\"UNVERIFIED\\\",\\n    \\\"phone_numbers\\\": [\\n        \\\"901.111.1111\\\",\\n        \\\"[email protected]\\\"\\n    ],\\n    \\\"photos\\\": [],\\n    \\\"refresh_token\\\": \\\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"With Base Docs\"\n    },\n    {\n      \"code\": \"{\\n    \\\"_id\\\": \\\"594e0f151acea2002e6665bb\\\",\\n    \\\"_links\\\": {\\n        \\\"self\\\": {\\n            \\\"href\\\": \\\"https://uat-api.synapsefi.com/v3.1/users/594e0f151acea2002e6665bb\\\"\\n        }\\n    },\\n    \\\"client\\\": {\\n        \\\"id\\\": \\\"589acd9ecb3cd400fa75ac06\\\",\\n        \\\"name\\\": \\\"SynapseFI\\\"\\n    },\\n    \\\"doc_status\\\": {\\n        \\\"physical_doc\\\": \\\"MISSING|INVALID\\\",\\n        \\\"virtual_doc\\\": \\\"MISSING|INVALID\\\"\\n    },\\n    \\\"documents\\\": [],\\n    \\\"emails\\\": [],\\n    \\\"extra\\\": {\\n        \\\"cip_tag\\\": 1,\\n        \\\"date_joined\\\": 1498287892583,\\n        \\\"extra_security\\\": false,\\n        \\\"is_business\\\": false,\\n        \\\"last_updated\\\": 1498287892583,\\n        \\\"public_note\\\": null,\\n        \\\"supp_id\\\": \\\"122eddfgbeafrfvbbb\\\"\\n    },\\n    \\\"is_hidden\\\": false,\\n    \\\"legal_names\\\": [\\n        \\\"Test User\\\"\\n    ],\\n    \\\"logins\\\": [\\n        {\\n            \\\"email\\\": \\\"[email protected]\\\",\\n            \\\"scope\\\": \\\"READ_AND_WRITE\\\"\\n        }\\n    ],\\n    \\\"permission\\\": \\\"UNVERIFIED\\\",\\n    \\\"phone_numbers\\\": [\\n        \\\"901.111.1111\\\",\\n        \\\"[email protected]\\\"\\n    ],\\n    \\\"photos\\\": [],\\n    \\\"refresh_token\\\": \\\"refresh_bI0gEY4hv5jZsteonkcrD6qyO3fz2KTd8HFCW9mp\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Without Base Docs\"\n    }\n  ]\n}\n[/block]\n**Important Values to Store**\nUpon successful creation of a user, the user is assigned a unique object ID (`_id`) and a refresh token (`refresh_token`). Please store these to reference the user and [generate an OAuth token](https://docs.synapsefi.com/v3.2/docs/oauth-the-user).\n\n**Asynchronous User Verification:**\nUser verification is asynchronous. If multiple documents are submitted, it will take longer to verify all of them. Check the appropriate document `status` to determine whether the required sub-documents are accepted. Check the user's overall `permission` to show whether all KYC requirements were met.\n\nView all [user permissions](https://docs.synapsefi.com/v3.2/docs/know-your-customer-kyc#section-user-permissions), [base document permissions](https://docs.synapsefi.com/v3.2/docs/know-your-customer-kyc#section-base-document-permission-scope) and [sub-document statuses](https://docs.synapsefi.com/v3.2/docs/know-your-customer-kyc#section-subdocument-status).\n\n**Testing in Sandbox**\nRefer to our [Sandbox Test Values](https://docs.synapsefi.com/v3.2/docs/sandbox-test-values#section-address-validation) to test different responses, including address validation and virtual/physical/social document verification.\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Idempotent Requests\",\n  \"body\": \"**Indempotent Requests:**\\nIdempotency allows you to safely retry requests without accidentally performing the same operation twice. For example, if a request to create a user fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a user object is created.\\n\\nTo perform an idempotent request, attach a unique key to any POST request made to the API via the X-SP-IDEMPOTENCY-KEY: <key> header.\\n\\nIdempotency keys expire after 24 hours.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Subscribe to Webhooks\",\n  \"body\": \"Please subscribe to [user webhooks](https://docs.synapsefi.com/v3.2/docs/subscribe-to-user-webhooks) to monitor permissions and statuses of users and their documents.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"The `doc_status` object is deprecated and scheduled to be removed.\",\n  \"title\": \"Deprecated Field: doc_status\"\n}\n[/block]\n\n**Next Step:** [OAuth User](https://docs.synapsefi.com/v3.2/docs/oauth-the-user) to perform actions on the user.","excerpt":"POST User to Create a User","slug":"create-a-user-1","type":"basic","title":"Create User"}

Create User

POST User to Create a User

Before you do anything else, create a User. The user object can be created with minimal parameters (such as login, password and scope), or you can create the user object with more information (including the KYC documents outlined in your Spec Sheet). ##API Endpoint https://uat-api.synapsefi.com/v3.1/users ##PATH PARAMETER## [block:html] { "html": "<div class=\"api-manager\"> <div class=\"param-table\"> <div class=\"table\"> <div class=\"tr\"> <div class=\"td param\"> <strong>logins <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">array of objects</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>User emails used for logins.</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong>phone_numbers <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">array of strings</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>All the phone numbers you wish to register with this account</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong>legal_names <span class=\"colon\">:</span> </strong> <div class=\"required\">required</div></div><div class=\"td\"> <strong class=\"param-type\">array of strings</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>All the legal names you wish to register with this account</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong>documents <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">array of objects</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>User KYC documents. <a href=\"https://docs.synapsefi.com/v3.2/docs/know-your-customer-kyc#base-documents\">See Documents Object</a> </p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>note <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Any note that you wish to supply to Synapse about the user (not returned with user object)</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>public_note <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Any note that you wish to attach to the user (returned with user object)</p></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 ID you wish to register to the user</p></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> <div marked=\"\" class=\"ng-isolate-scope\"> <p>If the user is a business user, send us True. False by default</p></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> <div marked=\"\" class=\"ng-isolate-scope\"> <p>CIP tag associated with the account.</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong> <span class=\"text-muted\">extra.</span>extra_security <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>If you wish for the user to get a 2FA code every time they OAuth or Login themselves, set this to <code>true</code> </p></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></div></div></div></div></div></div>" } [/block] ##EXAMPLE REQUEST Create a user with or without a base document. We recommend with the base document because you can supply KYC all at once. [block:code] { "codes": [ { "code": "POST /v3.1/users HTTP/1.1\nHost: uat-api.synapsefi.com\nX-SP-GATEWAY: client_id_2bb1e412edd311e6bd04e285d6015267|client_secret_2bb1e714edd311e6bd04e285d6015267\nX-SP-USER-IP: 127.0.0.1\nX-SP-USER: |e83cf6ddcf778e37bfe3d48fc78a6502062fc\nContent-Type: application/json\n\n{\n \"logins\": [\n {\n \"email\": \"[email protected]\"\n }\n ],\n \"phone_numbers\": [\n \"901.111.1111\",\n \"[email protected]\"\n ],\n \"legal_names\": [\n \"Test User\"\n ],\n \"documents\":[{\n \"email\":\"[email protected]\",\n \"phone_number\":\"901.111.1111\",\n \"ip\":\"::1\",\n \"name\":\"Test User\",\n \"alias\":\"Test\",\n \"entity_type\":\"M\",\n \"entity_scope\":\"Arts & Entertainment\",\n \"day\":2,\n \"month\":5,\n \"year\":1989,\n \"address_street\":\"1 Market St.\",\n \"address_city\":\"SF\",\n \"address_subdivision\":\"CA\",\n \"address_postal_code\":\"94114\",\n \"address_country_code\":\"US\",\n \"virtual_docs\":[{\n \"document_value\":\"2222\",\n \"document_type\":\"SSN\"\n }],\n \"physical_docs\":[{\n \"document_value\": \"data:image/gif;base64,SUQs==\",\n \"document_type\": \"GOVT_ID\"\n }],\n \"social_docs\":[{\n \"document_value\":\"https://www.facebook.com/valid\",\n \"document_type\":\"FACEBOOK\"\n }]\n }],\n \"extra\": {\n \"supp_id\": \"122eddfgbeafrfvbbb\",\n \"cip_tag\":1,\n \"is_business\": false\n }\n}", "language": "http", "name": "With Base Docs" }, { "code": "POST /v3.1/users HTTP/1.1\nHost: uat-api.synapsefi.com\nX-SP-GATEWAY: client_id_2bb1e412edd311e6bd04e285d6015267|client_secret_2bb1e714edd311e6bd04e285d6015267\nX-SP-USER-IP: 127.0.0.1\nX-SP-USER: |e83cf6ddcf778e37bfe3d48fc78a6502062fc\nContent-Type: application/json\n\n{\n \"logins\": [\n {\n \"email\": \"[email protected]\"\n }\n ],\n \"phone_numbers\": [\n \"901.111.1111\",\n \"[email protected]\"\n ],\n \"legal_names\": [\n \"Test User\"\n ],\n \"extra\": {\n \"supp_id\": \"122eddfgbeafrfvbbb\",\n \"cip_tag\":1,\n \"is_business\": false\n }\n}", "language": "http", "name": "Without Base Docs" } ] } [/block] **Fingerprints** You can either submit unique device fingerprints for each user or static fingerprints. [Read more about Fingerprints](https://docs.synapsefi.com/v3.2/docs/register-new-fingerprint) before creating your first user. **CIP Tags** Refer to your Spec Sheet to determine the appropriate `cip_tag` for each user. ##EXAMPLE SUCCESSFUL 200 RESPONSE [block:code] { "codes": [ { "code": "{\n \"_id\": \"594e0fa2838454002ea317a0\",\n \"_links\": {\n \"self\": {\n \"href\": \"https://uat-api.synapsefi.com/v3.1/users/594e0fa2838454002ea317a0\"\n }\n },\n \"client\": {\n \"id\": \"589acd9ecb3cd400fa75ac06\",\n \"name\": \"SynapseFI\"\n },\n \"doc_status\": {\n \"physical_doc\": \"MISSING|INVALID\",\n \"virtual_doc\": \"MISSING|INVALID\"\n },\n \"documents\": [\n {\n \"id\": \"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8\",\n \"name\": \"Test User\",\n \"permission_scope\": \"UNVERIFIED\",\n \"physical_docs\": [\n {\n \"document_type\": \"GOVT_ID\",\n \"id\": \"c486c2cb8c1bce695fcfae3197e14aa5b8ddec184c2779d00d581abee5d9a04c\",\n \"last_updated\": 1498288031319,\n \"status\": \"SUBMITTED|REVIEWING\"\n }\n ],\n \"social_docs\": [\n {\n \"document_type\": \"EMAIL\",\n \"id\": \"2c45158f6431ca874bbe82f63d5905567854dde4d8b81539944e5779e5eee741\",\n \"last_updated\": 1498288032328,\n \"status\": \"SUBMITTED|REVIEWING\"\n },\n {\n \"document_type\": \"FACEBOOK\",\n \"id\": \"8f314a6a53f36ee569455761e49a2a7fe790d251c5611c65255befdb303602b7\",\n \"last_updated\": 1498288031824,\n \"status\": \"SUBMITTED|REVIEWING\"\n },\n {\n \"document_type\": \"PHONE_NUMBER\",\n \"id\": \"fda60784d6375bc44edafaaeae149626c4c13dcb92e85a2a7a00eec2cdfd2b6f\",\n \"last_updated\": 1498288032830,\n \"status\": \"SUBMITTED|REVIEWING\"\n },\n {\n \"document_type\": \"IP\",\n \"id\": \"28d9177b22c127d9a51d8903893864accf6e553ac326704a4c0d585eaad2516a\",\n \"last_updated\": 1498288033333,\n \"status\": \"SUBMITTED|REVIEWING\"\n }\n ],\n \"virtual_docs\": [\n {\n \"document_type\": \"SSN\",\n \"id\": \"ee596c2896dddc19b76c07a184fe7d3cf5a04b8e94b9108190cac7890739017f\",\n \"last_updated\": 1498288030812,\n \"status\": \"SUBMITTED|REVIEWING\"\n }\n ]\n }\n ],\n \"emails\": [],\n \"extra\": {\n \"cip_tag\": 1,\n \"date_joined\": 1498288029784,\n \"extra_security\": false,\n \"is_business\": false,\n \"last_updated\": 1498288029784,\n \"public_note\": null,\n \"supp_id\": \"122eddfgbeafrfvbbb\"\n },\n \"is_hidden\": false,\n \"legal_names\": [\n \"Test User\"\n ],\n \"logins\": [\n {\n \"email\": \"[email protected]\",\n \"scope\": \"READ_AND_WRITE\"\n }\n ],\n \"permission\": \"UNVERIFIED\",\n \"phone_numbers\": [\n \"901.111.1111\",\n \"[email protected]\"\n ],\n \"photos\": [],\n \"refresh_token\": \"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\"\n}", "language": "json", "name": "With Base Docs" }, { "code": "{\n \"_id\": \"594e0f151acea2002e6665bb\",\n \"_links\": {\n \"self\": {\n \"href\": \"https://uat-api.synapsefi.com/v3.1/users/594e0f151acea2002e6665bb\"\n }\n },\n \"client\": {\n \"id\": \"589acd9ecb3cd400fa75ac06\",\n \"name\": \"SynapseFI\"\n },\n \"doc_status\": {\n \"physical_doc\": \"MISSING|INVALID\",\n \"virtual_doc\": \"MISSING|INVALID\"\n },\n \"documents\": [],\n \"emails\": [],\n \"extra\": {\n \"cip_tag\": 1,\n \"date_joined\": 1498287892583,\n \"extra_security\": false,\n \"is_business\": false,\n \"last_updated\": 1498287892583,\n \"public_note\": null,\n \"supp_id\": \"122eddfgbeafrfvbbb\"\n },\n \"is_hidden\": false,\n \"legal_names\": [\n \"Test User\"\n ],\n \"logins\": [\n {\n \"email\": \"[email protected]\",\n \"scope\": \"READ_AND_WRITE\"\n }\n ],\n \"permission\": \"UNVERIFIED\",\n \"phone_numbers\": [\n \"901.111.1111\",\n \"[email protected]\"\n ],\n \"photos\": [],\n \"refresh_token\": \"refresh_bI0gEY4hv5jZsteonkcrD6qyO3fz2KTd8HFCW9mp\"\n}", "language": "json", "name": "Without Base Docs" } ] } [/block] **Important Values to Store** Upon successful creation of a user, the user is assigned a unique object ID (`_id`) and a refresh token (`refresh_token`). Please store these to reference the user and [generate an OAuth token](https://docs.synapsefi.com/v3.2/docs/oauth-the-user). **Asynchronous User Verification:** User verification is asynchronous. If multiple documents are submitted, it will take longer to verify all of them. Check the appropriate document `status` to determine whether the required sub-documents are accepted. Check the user's overall `permission` to show whether all KYC requirements were met. View all [user permissions](https://docs.synapsefi.com/v3.2/docs/know-your-customer-kyc#section-user-permissions), [base document permissions](https://docs.synapsefi.com/v3.2/docs/know-your-customer-kyc#section-base-document-permission-scope) and [sub-document statuses](https://docs.synapsefi.com/v3.2/docs/know-your-customer-kyc#section-subdocument-status). **Testing in Sandbox** Refer to our [Sandbox Test Values](https://docs.synapsefi.com/v3.2/docs/sandbox-test-values#section-address-validation) to test different responses, including address validation and virtual/physical/social document verification. [block:callout] { "type": "info", "title": "Idempotent Requests", "body": "**Indempotent Requests:**\nIdempotency allows you to safely retry requests without accidentally performing the same operation twice. For example, if a request to create a user fails due to a network connection error, you can retry the request with the same idempotency key to guarantee that only a user object is created.\n\nTo perform an idempotent request, attach a unique key to any POST request made to the API via the X-SP-IDEMPOTENCY-KEY: <key> header.\n\nIdempotency keys expire after 24 hours." } [/block] [block:callout] { "type": "info", "title": "Subscribe to Webhooks", "body": "Please subscribe to [user webhooks](https://docs.synapsefi.com/v3.2/docs/subscribe-to-user-webhooks) to monitor permissions and statuses of users and their documents." } [/block] [block:callout] { "type": "warning", "body": "The `doc_status` object is deprecated and scheduled to be removed.", "title": "Deprecated Field: doc_status" } [/block] **Next Step:** [OAuth User](https://docs.synapsefi.com/v3.2/docs/oauth-the-user) to perform actions on the user.