{"_id":"5bd9d63806d96a0029d3758f","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":false,"is_stable":true,"codename":"","version_clean":"3.1.0","version":"3.1"},"category":{"_id":"5bd9d5afffe003005b02f97b","project":"59f79e3c584eb200345ceafc","version":"5ba178b00a916500030c6a21","__v":0,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2018-10-31T16:17:51.788Z","from_sync":false,"order":9,"slug":"fbo-accounts","title":"FBO Accounts"},"user":"5557e76e512c300d007730d1","__v":0,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-10-31T16:20:08.347Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","examples":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"Previous Step: [Create User](https://docs.synapsefi.com/docs/create-a-user-1) and [OAuth User](https://docs.synapsefi.com/docs/oauth-the-user).\n\n##API Endpoint\nhttps://uat-api.synapsefi.com/v3.1/users/:user_id/nodes\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>user_id<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>Object ID of the user an account is being created for</p>\"\n}\n[/block]\n##BODY 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>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 node. This should be SUBACCOUNT-US</p>\\n</div></div></div>\\n  \\n  <div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">info.</span>nickname<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>Nickname associated with the node</p>\\n</div></div></div>\\n  \\n  <div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\">info.</span>document_id<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>Base document id of the user.</p>\\n    \\n    \\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 Id you wish to register to the node</p>\\n</div></div></div><div class=\\\"tr\\\"><div class=\\\"td param\\\"><strong><span class=\\\"text-muted\\\"></span>is_active<span class=\\\"colon\\\">:</span></strong></div><div class=\\\"td\\\"><strong class=\\\"param-type\\\">boolean</strong><div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"><p>If the node is indexed or marked deleted</p>\\n</div></div></div>\"\n}\n[/block]\n**TIP:** After the account is created, save the node ID `_id`, as it will be referenced when creating transactions.\n\n## Example Request\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /v3.1/users/5ba52ec00abfb200a8a93e90/nodes HTTP/1.1\\nHost: uat-api.synapsefi.com\\nX-SP-USER-IP: 127.0.0.1\\nX-SP-USER: oauth_wBvo8QzEDZVkTWtG2yX6rn0dgRfJN1P0UjILxq4K|123456789\\nContent-Type: application/json\\n\\n{\\n  \\\"type\\\": \\\"SUBACCOUNT-US\\\",\\n  \\\"info\\\": {\\n    \\\"nickname\\\":\\\"My Sub-Account\\\",\\n   \\n \\\"document_id\\\":\\\"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8\\\"\\n  }\\n}\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\n## Example Successful 200 Response\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n    \\\"error_code\\\": \\\"0\\\",\\n    \\\"http_code\\\": \\\"200\\\",\\n    \\\"limit\\\": 20,\\n    \\\"node_count\\\": 1,\\n    \\\"nodes\\\": [\\n        {\\n            \\\"_id\\\": \\\"5ba98a1c4d1d6200a4736e25\\\",\\n            \\\"_links\\\": {\\n                \\\"self\\\": {\\n                    \\\"href\\\": \\\"https://uat-api.synapsefi.com/v3.1/users/5ba52ec00abfb200a8a93e90/nodes/5ba98a1c4d1d6200a4736e25\\\"\\n                }\\n            },\\n            \\\"allowed\\\": \\\"CREDIT-AND-DEBIT\\\",\\n            \\\"client\\\": {\\n                \\\"id\\\": \\\"5ade26b4567a900029e2afd2\\\",\\n                \\\"name\\\": \\\"YY Test Account\\\"\\n            },\\n            \\\"extra\\\": {\\n                \\\"note\\\": null,\\n                \\\"other\\\": {},\\n                \\\"supp_id\\\": \\\"\\\"\\n            },\\n            \\\"info\\\": {\\n                \\\"balance\\\": {\\n                    \\\"amount\\\": 0,\\n                    \\\"currency\\\": \\\"USD\\\"\\n                },\\n                \\\"document_id\\\": \\\"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8\\\",\\n                \\\"monthly_withdrawals_remaining\\\": null,\\n                \\\"name_on_account\\\": \\\" \\\",\\n                \\\"nickname\\\": \\\"My Sub-Account\\\"\\n            },\\n            \\\"is_active\\\": true,\\n            \\\"timeline\\\": [\\n                {\\n                    \\\"date\\\": 1537837596112,\\n                    \\\"note\\\": \\\"Node created.\\\"\\n                }\\n            ],\\n            \\\"type\\\": \\\"SUBACCOUNT-US\\\",\\n            \\\"user_id\\\": \\\"5ba52ec00abfb200a8a93e90\\\"\\n        }\\n    ],\\n    \\\"page_count\\\": 1,\\n    \\\"success\\\": true\\n}\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n\n**Note: Close a Sub-Account**\nTo close an account, please return funds to the user and set is_active to false and change the permissions to INACTIVE\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Subscribe to Webhooks\",\n  \"body\": \"We recommend that you [subscribe to webhooks](https://docs.synapsefi.com/docs/subscribe-to-webhooks) to stay updated on the status of nodes.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"warning\",\n  \"body\": \"We reconcile negative balances when accounts have been negative for 30 days with no successful activity. These reconciliations occur throughout the month, and funds will be debited from your reserve account to reconcile these balances. After an account has been reconciled, the user will be locked.\\n\\n**For example:**\\nIf a user has a negative balance of -$500 and they pay +$400 toward that negative balance before the 30 day period is up, we will reset the 30 day countdown. If another 30 days passes and there is no successful activity, we will reconcile the remaining negative balance of -$100 from your reserve funds.\\n\\nWe recommend setting up webhooks to monitor your reserve account balance. This will help you automatically fund your reserve when it falls below your required minimum balance.\",\n  \"title\": \"Negative Balance Reconciliation\"\n}\n[/block]","excerpt":"POST Node to open a subaccount (SUBACCOUNT-US) within the platform's FBO account","slug":"open-sub-account-account","type":"basic","title":"Open Sub-Account Account"}

Open Sub-Account Account

POST Node to open a subaccount (SUBACCOUNT-US) within the platform's FBO account

Previous Step: [Create User](https://docs.synapsefi.com/docs/create-a-user-1) and [OAuth User](https://docs.synapsefi.com/docs/oauth-the-user). ##API Endpoint https://uat-api.synapsefi.com/v3.1/users/:user_id/nodes ##PATH PARAMETER## [block:html] { "html": "<div class=\"api-manager\"><div class=\"param-table\"><div class=\"table\"><div class=\"tr\"><div class=\"td param\"><strong>user_id<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>Object ID of the user an account is being created for</p>" } [/block] ##BODY PARAMETER## [block:html] { "html": "<div class=\"api-manager\"><div class=\"param-table\"><div class=\"table\"><div class=\"tr\"><div class=\"td param\"><strong>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 node. This should be SUBACCOUNT-US</p>\n</div></div></div>\n \n <div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">info.</span>nickname<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>Nickname associated with the node</p>\n</div></div></div>\n \n <div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\">info.</span>document_id<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>Base document id of the user.</p>\n \n \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 Id you wish to register to the node</p>\n</div></div></div><div class=\"tr\"><div class=\"td param\"><strong><span class=\"text-muted\"></span>is_active<span class=\"colon\">:</span></strong></div><div class=\"td\"><strong class=\"param-type\">boolean</strong><div marked=\"\" class=\"ng-isolate-scope\"><p>If the node is indexed or marked deleted</p>\n</div></div></div>" } [/block] **TIP:** After the account is created, save the node ID `_id`, as it will be referenced when creating transactions. ## Example Request [block:code] { "codes": [ { "code": "POST /v3.1/users/5ba52ec00abfb200a8a93e90/nodes HTTP/1.1\nHost: uat-api.synapsefi.com\nX-SP-USER-IP: 127.0.0.1\nX-SP-USER: oauth_wBvo8QzEDZVkTWtG2yX6rn0dgRfJN1P0UjILxq4K|123456789\nContent-Type: application/json\n\n{\n \"type\": \"SUBACCOUNT-US\",\n \"info\": {\n \"nickname\":\"My Sub-Account\",\n \n \"document_id\":\"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8\"\n }\n}", "language": "http" } ] } [/block] ## Example Successful 200 Response [block:code] { "codes": [ { "code": "{\n \"error_code\": \"0\",\n \"http_code\": \"200\",\n \"limit\": 20,\n \"node_count\": 1,\n \"nodes\": [\n {\n \"_id\": \"5ba98a1c4d1d6200a4736e25\",\n \"_links\": {\n \"self\": {\n \"href\": \"https://uat-api.synapsefi.com/v3.1/users/5ba52ec00abfb200a8a93e90/nodes/5ba98a1c4d1d6200a4736e25\"\n }\n },\n \"allowed\": \"CREDIT-AND-DEBIT\",\n \"client\": {\n \"id\": \"5ade26b4567a900029e2afd2\",\n \"name\": \"YY Test Account\"\n },\n \"extra\": {\n \"note\": null,\n \"other\": {},\n \"supp_id\": \"\"\n },\n \"info\": {\n \"balance\": {\n \"amount\": 0,\n \"currency\": \"USD\"\n },\n \"document_id\": \"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8\",\n \"monthly_withdrawals_remaining\": null,\n \"name_on_account\": \" \",\n \"nickname\": \"My Sub-Account\"\n },\n \"is_active\": true,\n \"timeline\": [\n {\n \"date\": 1537837596112,\n \"note\": \"Node created.\"\n }\n ],\n \"type\": \"SUBACCOUNT-US\",\n \"user_id\": \"5ba52ec00abfb200a8a93e90\"\n }\n ],\n \"page_count\": 1,\n \"success\": true\n}", "language": "json" } ] } [/block] **Note: Close a Sub-Account** To close an account, please return funds to the user and set is_active to false and change the permissions to INACTIVE [block:callout] { "type": "info", "title": "Subscribe to Webhooks", "body": "We recommend that you [subscribe to webhooks](https://docs.synapsefi.com/docs/subscribe-to-webhooks) to stay updated on the status of nodes." } [/block] [block:callout] { "type": "warning", "body": "We reconcile negative balances when accounts have been negative for 30 days with no successful activity. These reconciliations occur throughout the month, and funds will be debited from your reserve account to reconcile these balances. After an account has been reconciled, the user will be locked.\n\n**For example:**\nIf a user has a negative balance of -$500 and they pay +$400 toward that negative balance before the 30 day period is up, we will reset the 30 day countdown. If another 30 days passes and there is no successful activity, we will reconcile the remaining negative balance of -$100 from your reserve funds.\n\nWe recommend setting up webhooks to monitor your reserve account balance. This will help you automatically fund your reserve when it falls below your required minimum balance.", "title": "Negative Balance Reconciliation" } [/block]