{"_id":"5bb122f50c6d86000351dfd6","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":30,"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2018-09-30T19:24:37.878Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"method":"post","examples":{"codes":[{"language":"http","code":"POST /v3.1/oauth/594e0fa2838454002ea317a0 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    \"refresh_token\":\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\"\n}","name":"w/o scope"},{"code":"POST /v3.1/oauth/594e0fa2838454002ea317a0 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    \"refresh_token\":\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\",\n    \"scope\":[\n        \"NODES|POST\",\n        \"NODES|GET\",\n        \"NODE|GET\",\n        \"TRANS|POST\"\n    ]\n}","language":"http","name":"with scope"}]},"settings":"","results":{"codes":[{"status":200,"language":"json","code":"{\n    \"client_id\": \"589acd9ecb3cd400fa75ac06\",\n    \"client_name\": \"SynapseFI\",\n    \"expires_at\": \"1498297390\",\n    \"expires_in\": \"7200\",\n    \"oauth_key\": \"oauth_bo4WXMIT5V0zKSRLYcqNwGtHZEDaA1k3pBv7r20s\",\n    \"refresh_expires_in\": 8,\n    \"refresh_token\": \"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\",\n    \"scope\": [\n        \"USER|PATCH\",\n        \"USER|GET\",\n        \"NODES|POST\",\n        \"NODES|GET\",\n        \"NODE|GET\",\n        \"NODE|PATCH\",\n        \"NODE|DELETE\",\n        \"TRANS|POST\",\n        \"TRANS|GET\",\n        \"TRAN|GET\",\n        \"TRAN|PATCH\",\n        \"TRAN|DELETE\"\n    ],\n    \"user_id\": \"594e0fa2838454002ea317a0\"\n}","name":"w/o scope"},{"code":"{\n    \"client_id\": \"589acd9ecb3cd400fa75ac06\",\n    \"client_name\": \"SynapseFI\",\n    \"expires_at\": \"1498297511\",\n    \"expires_in\": \"7200\",\n    \"oauth_key\": \"oauth_YRiB3K1opexAkltDZvc4QOEMnLSCJ8m0UN6Gasyq\",\n    \"refresh_expires_in\": 7,\n    \"refresh_token\": \"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\",\n    \"scope\": [\n        \"NODES|POST\",\n        \"NODES|GET\",\n        \"NODE|GET\",\n        \"TRANS|POST\"\n    ],\n    \"user_id\": \"594e0fa2838454002ea317a0\"\n}","language":"json","status":200,"name":"with scope"}]},"auth":"required","params":[{"_id":"5573b11e91ce6e190023b76a","ref":"","in":"body","required":true,"desc":"The current refresh token associated with the user","default":"","type":"string","name":"refresh_token"},{"_id":"589b627bd23c4d1b00855fdc","ref":"","in":"body","required":false,"desc":"OAuth key scope","default":"","type":"array_string","name":"scope"},{"_id":"589b6143d23c4d1b00855fda","ref":"","in":"body","required":false,"desc":"Phone number for 2FA","default":"","type":"string","name":"phone_number"},{"_id":"589b6143d23c4d1b00855fd9","ref":"","in":"body","required":false,"desc":"Validation Pin for 2FA","default":"","type":"string","name":"validation_pin"},{"_id":"594e74a338ae590033bfd447","ref":"","in":"path","required":true,"desc":"ID of user","default":"","type":"string","name":"user_id"}],"url":"/v3.1/oauth/:user_id"},"isReference":false,"order":2,"body":"*Previous Step: [Create User](https://docs.synapsefi.com/v3.2/docs/create-a-user-1) to get the `oauth_key` and `refresh_token`.*\n\nWe use a variation of OAuth 2.0 for authentication. This means, to perform an action for a user, you need to supply a valid OAuth Key in the header field of the API request. Read more about what to include in our headers on our [API initialization page](https://docs.synapsefi.com/v3.2/docs/api-initialization).\n\n**OAuth Key ** currently expires in two hours. After OAuth Key expires, you can use the refresh token to generate a new OAuth Key. When the OAuth Key is refreshed, a new refresh token might be issued as well.\n\n**Refresh tokens** expire after ten uses and update periodically. We manage this complexity for you. To get the most recent Refresh token, [View the User](https://docs.synapsefi.com/v3.2/docs/retrieve-individual-user-information).\n\n## API ENDPOINT\nhttps://uat-api.synapsefi.com/v3.1/oauth/:user_id\n\n##PATH PARAMETERS\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>ID of user</p></div></div></div></div></div></div>\"\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>refresh_token <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>The current refresh token associated with the user</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong>scope <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">array of strings</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>OAuth key scope</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong>phone_number <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Phone number for 2FA</p></div></div></div><div class=\\\"tr\\\"> <div class=\\\"td param\\\"> <strong>validation_pin <span class=\\\"colon\\\">:</span> </strong> </div><div class=\\\"td\\\"> <strong class=\\\"param-type\\\">string</strong> <div marked=\\\"\\\" class=\\\"ng-isolate-scope\\\"> <p>Validation Pin for 2FA</p></div></div></div></div></div></div>\"\n}\n[/block]\n\n##Additional Tips\n* Refresh tokens expire after ten uses and update periodically. We manage this complexity for you. To get the most recent Refresh token, do a `GET` on user.\n*  OAuth Key currently expires in ten hours. After OAuth Key expires, you can use the refresh token to generate a new OAuth Key. When the OAuth Key is refreshed, a new refresh token might be issued as well.\n* If you OAuth with a new device, you may need to [register a new device fingerprint](https://docs.synapsefi.com/v3.2/docs/register-new-fingerprint).\n\n##EXAMPLE REQUEST\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"POST /v3.1/oauth/594e0fa2838454002ea317a0 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    \\\"refresh_token\\\":\\\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\\\"\\n}\",\n      \"language\": \"http\",\n      \"name\": \"without scope\"\n    },\n    {\n      \"code\": \"POST /v3.1/oauth/594e0fa2838454002ea317a0 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    \\\"refresh_token\\\":\\\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\\\",\\n    \\\"scope\\\":[\\n        \\\"NODES|POST\\\",\\n        \\\"NODES|GET\\\",\\n        \\\"NODE|GET\\\",\\n        \\\"TRANS|POST\\\"\\n    ]\\n}\",\n      \"language\": \"http\",\n      \"name\": \"with scope\"\n    }\n  ]\n}\n[/block]\n##EXAMPLE SUCCESSFUL 200 RESPONSE\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n    \\\"client_id\\\": \\\"589acd9ecb3cd400fa75ac06\\\",\\n    \\\"client_name\\\": \\\"SynapseFI\\\",\\n    \\\"expires_at\\\": \\\"1498297390\\\",\\n    \\\"expires_in\\\": \\\"7200\\\",\\n    \\\"oauth_key\\\": \\\"oauth_bo4WXMIT5V0zKSRLYcqNwGtHZEDaA1k3pBv7r20s\\\",\\n    \\\"refresh_expires_in\\\": 8,\\n    \\\"refresh_token\\\": \\\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\\\",\\n    \\\"scope\\\": [\\n        \\\"USER|PATCH\\\",\\n        \\\"USER|GET\\\",\\n        \\\"NODES|POST\\\",\\n        \\\"NODES|GET\\\",\\n        \\\"NODE|GET\\\",\\n        \\\"NODE|PATCH\\\",\\n        \\\"NODE|DELETE\\\",\\n        \\\"TRANS|POST\\\",\\n        \\\"TRANS|GET\\\",\\n        \\\"TRAN|GET\\\",\\n        \\\"TRAN|PATCH\\\",\\n        \\\"TRAN|DELETE\\\"\\n    ],\\n    \\\"user_id\\\": \\\"594e0fa2838454002ea317a0\\\"\\n}\",\n      \"language\": \"json\",\n      \"name\": \"without scope\"\n    },\n    {\n      \"code\": \"{\\n    \\\"client_id\\\": \\\"589acd9ecb3cd400fa75ac06\\\",\\n    \\\"client_name\\\": \\\"SynapseFI\\\",\\n    \\\"expires_at\\\": \\\"1498297511\\\",\\n    \\\"expires_in\\\": \\\"7200\\\",\\n    \\\"oauth_key\\\": \\\"oauth_YRiB3K1opexAkltDZvc4QOEMnLSCJ8m0UN6Gasyq\\\",\\n    \\\"refresh_expires_in\\\": 7,\\n    \\\"refresh_token\\\": \\\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\\\",\\n    \\\"scope\\\": [\\n        \\\"NODES|POST\\\",\\n        \\\"NODES|GET\\\",\\n        \\\"NODE|GET\\\",\\n        \\\"TRANS|POST\\\"\\n    ],\\n    \\\"user_id\\\": \\\"594e0fa2838454002ea317a0\\\"\\n}\",\n      \"language\": \"text\",\n      \"name\": \"with scope\"\n    }\n  ]\n}\n[/block]\n#OAuth Scopes\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Scope\",\n    \"h-1\": \"Comment\",\n    \"0-0\": \"USER|PATCH\",\n    \"1-0\": \"USER|GET\",\n    \"2-0\": \"NODES|POST\",\n    \"3-0\": \"NODES|GET\",\n    \"4-0\": \"NODE|GET\",\n    \"5-0\": \"NODE|PATCH\",\n    \"6-0\": \"NODE|DELETE\",\n    \"7-0\": \"TRANS|POST\",\n    \"8-0\": \"TRANS|GET\",\n    \"9-0\": \"TRAN|GET\",\n    \"10-0\": \"TRAN|PATCH\",\n    \"11-0\": \"TRAN|DELETE\",\n    \"12-0\": \"SUBNETS|POST\",\n    \"13-0\": \"SUBNETS|GET\",\n    \"14-0\": \"SUBNET|GET\",\n    \"15-0\": \"SUBNET|PATCH\",\n    \"16-0\": \"STATEMENTS|GET\",\n    \"17-0\": \"STATEMENT|GET\",\n    \"0-1\": \"OAuth can be used to update User document\",\n    \"1-1\": \"OAuth can be used to get User\",\n    \"2-1\": \"OAuth can be used to add Nodes\",\n    \"3-1\": \"OAuth can be used to get Nodes\",\n    \"4-1\": \"OAuth can be used to get Node\",\n    \"5-1\": \"OAuth can be used to update Node\",\n    \"6-1\": \"OAuth can be used to delete Node\",\n    \"7-1\": \"OAuth can be used to add Transaction\",\n    \"8-1\": \"OAuth can be used to get Transaction\",\n    \"9-1\": \"OAuth can be used to get Transaction\",\n    \"10-1\": \"OAuth can be used to update Transaction\",\n    \"11-1\": \"OAuth can be used to cancel Transaction\",\n    \"12-1\": \"OAuth can be used to create Subnets\",\n    \"13-1\": \"OAuth can be used to get Subnets\",\n    \"14-1\": \"OAuth can be used to get a Subnet\",\n    \"15-1\": \"OAuth can be used to update a Subnet\",\n    \"16-1\": \"OAuth can be used to get Statements\",\n    \"17-1\": \"OAuth can be used to get a Statement\"\n  },\n  \"cols\": 2,\n  \"rows\": 18\n}\n[/block]","excerpt":"OAuth User to authenticate a user","slug":"oauth-the-user","type":"basic","title":"OAuth User"}

OAuth User

OAuth User to authenticate a user

*Previous Step: [Create User](https://docs.synapsefi.com/v3.2/docs/create-a-user-1) to get the `oauth_key` and `refresh_token`.* We use a variation of OAuth 2.0 for authentication. This means, to perform an action for a user, you need to supply a valid OAuth Key in the header field of the API request. Read more about what to include in our headers on our [API initialization page](https://docs.synapsefi.com/v3.2/docs/api-initialization). **OAuth Key ** currently expires in two hours. After OAuth Key expires, you can use the refresh token to generate a new OAuth Key. When the OAuth Key is refreshed, a new refresh token might be issued as well. **Refresh tokens** expire after ten uses and update periodically. We manage this complexity for you. To get the most recent Refresh token, [View the User](https://docs.synapsefi.com/v3.2/docs/retrieve-individual-user-information). ## API ENDPOINT https://uat-api.synapsefi.com/v3.1/oauth/:user_id ##PATH PARAMETERS [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>ID of user</p></div></div></div></div></div></div>" } [/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>refresh_token <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>The current refresh token associated with the user</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong>scope <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">array of strings</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>OAuth key scope</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong>phone_number <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Phone number for 2FA</p></div></div></div><div class=\"tr\"> <div class=\"td param\"> <strong>validation_pin <span class=\"colon\">:</span> </strong> </div><div class=\"td\"> <strong class=\"param-type\">string</strong> <div marked=\"\" class=\"ng-isolate-scope\"> <p>Validation Pin for 2FA</p></div></div></div></div></div></div>" } [/block] ##Additional Tips * Refresh tokens expire after ten uses and update periodically. We manage this complexity for you. To get the most recent Refresh token, do a `GET` on user. * OAuth Key currently expires in ten hours. After OAuth Key expires, you can use the refresh token to generate a new OAuth Key. When the OAuth Key is refreshed, a new refresh token might be issued as well. * If you OAuth with a new device, you may need to [register a new device fingerprint](https://docs.synapsefi.com/v3.2/docs/register-new-fingerprint). ##EXAMPLE REQUEST [block:code] { "codes": [ { "code": "POST /v3.1/oauth/594e0fa2838454002ea317a0 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 \"refresh_token\":\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\"\n}", "language": "http", "name": "without scope" }, { "code": "POST /v3.1/oauth/594e0fa2838454002ea317a0 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 \"refresh_token\":\"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\",\n \"scope\":[\n \"NODES|POST\",\n \"NODES|GET\",\n \"NODE|GET\",\n \"TRANS|POST\"\n ]\n}", "language": "http", "name": "with scope" } ] } [/block] ##EXAMPLE SUCCESSFUL 200 RESPONSE [block:code] { "codes": [ { "code": "{\n \"client_id\": \"589acd9ecb3cd400fa75ac06\",\n \"client_name\": \"SynapseFI\",\n \"expires_at\": \"1498297390\",\n \"expires_in\": \"7200\",\n \"oauth_key\": \"oauth_bo4WXMIT5V0zKSRLYcqNwGtHZEDaA1k3pBv7r20s\",\n \"refresh_expires_in\": 8,\n \"refresh_token\": \"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\",\n \"scope\": [\n \"USER|PATCH\",\n \"USER|GET\",\n \"NODES|POST\",\n \"NODES|GET\",\n \"NODE|GET\",\n \"NODE|PATCH\",\n \"NODE|DELETE\",\n \"TRANS|POST\",\n \"TRANS|GET\",\n \"TRAN|GET\",\n \"TRAN|PATCH\",\n \"TRAN|DELETE\"\n ],\n \"user_id\": \"594e0fa2838454002ea317a0\"\n}", "language": "json", "name": "without scope" }, { "code": "{\n \"client_id\": \"589acd9ecb3cd400fa75ac06\",\n \"client_name\": \"SynapseFI\",\n \"expires_at\": \"1498297511\",\n \"expires_in\": \"7200\",\n \"oauth_key\": \"oauth_YRiB3K1opexAkltDZvc4QOEMnLSCJ8m0UN6Gasyq\",\n \"refresh_expires_in\": 7,\n \"refresh_token\": \"refresh_ehG7YBS8ZiD0sLa6PQHMUxryovVkJzElC5gWROXq\",\n \"scope\": [\n \"NODES|POST\",\n \"NODES|GET\",\n \"NODE|GET\",\n \"TRANS|POST\"\n ],\n \"user_id\": \"594e0fa2838454002ea317a0\"\n}", "language": "text", "name": "with scope" } ] } [/block] #OAuth Scopes [block:parameters] { "data": { "h-0": "Scope", "h-1": "Comment", "0-0": "USER|PATCH", "1-0": "USER|GET", "2-0": "NODES|POST", "3-0": "NODES|GET", "4-0": "NODE|GET", "5-0": "NODE|PATCH", "6-0": "NODE|DELETE", "7-0": "TRANS|POST", "8-0": "TRANS|GET", "9-0": "TRAN|GET", "10-0": "TRAN|PATCH", "11-0": "TRAN|DELETE", "12-0": "SUBNETS|POST", "13-0": "SUBNETS|GET", "14-0": "SUBNET|GET", "15-0": "SUBNET|PATCH", "16-0": "STATEMENTS|GET", "17-0": "STATEMENT|GET", "0-1": "OAuth can be used to update User document", "1-1": "OAuth can be used to get User", "2-1": "OAuth can be used to add Nodes", "3-1": "OAuth can be used to get Nodes", "4-1": "OAuth can be used to get Node", "5-1": "OAuth can be used to update Node", "6-1": "OAuth can be used to delete Node", "7-1": "OAuth can be used to add Transaction", "8-1": "OAuth can be used to get Transaction", "9-1": "OAuth can be used to get Transaction", "10-1": "OAuth can be used to update Transaction", "11-1": "OAuth can be used to cancel Transaction", "12-1": "OAuth can be used to create Subnets", "13-1": "OAuth can be used to get Subnets", "14-1": "OAuth can be used to get a Subnet", "15-1": "OAuth can be used to update a Subnet", "16-1": "OAuth can be used to get Statements", "17-1": "OAuth can be used to get a Statement" }, "cols": 2, "rows": 18 } [/block]