{"_id":"59f79e3c584eb200345cec7d","__v":42,"version":{"_id":"59f79e3c584eb200345ceaff","project":"59f79e3c584eb200345ceafc","__v":6,"createdAt":"2015-09-17T03:47:20.956Z","releaseDate":"2015-09-17T03:47:20.956Z","categories":["59f79e3c584eb200345ceb3a","59f79e3c584eb200345ceb3b","59f79e3c584eb200345ceb3c","59f79e3c584eb200345ceb3d","59f79e3c584eb200345ceb3e","59f79e3c584eb200345ceb3f","59f79e3c584eb200345ceb45","59f79e3c584eb200345ceb46","59f79e3c584eb200345ceb48","59f79e3c584eb200345ceb49","5aa21b60c0bda0002d1568b6","5afb6888212c690003ae3d3b","5b4bdcd3737d1800031d2293","5b9ed89212362100036b5a1c","5bb29bec77c22500034757ea","5bb29bfe77c22500034757ec"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"3.1.0","version":"3.1"},"category":{"_id":"59f79e3c584eb200345ceb3c","version":"59f79e3c584eb200345ceaff","project":"59f79e3c584eb200345ceafc","__v":0,"sync":{"url":"","isSync":false},"reference":true,"createdAt":"2015-09-19T00:05:19.904Z","from_sync":false,"order":5,"slug":"nodes","title":"Nodes"},"user":"58d1abdd704af00f0062d849","project":"59f79e3c584eb200345ceafc","parentDoc":null,"githubsync":"","updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-05-22T20:21:12.416Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[{"name":"","code":"{\n    \"_id\": \"594e606212e17a002f2e3251\",\n    \"_links\": {\n        \"self\": {\n            \"href\": \"https://uat-api.synapsefi.com/v3.1/users/594e0fa2838454002ea317a0/nodes/594e606212e17a002f2e3251\"\n        }\n    },\n    \"allowed\": \"CREDIT-AND-DEBIT\",\n    \"client\": {\n        \"id\": \"589acd9ecb3cd400fa75ac06\",\n        \"name\": \"SynapseFI\"\n    },\n    \"extra\": {\n        \"other\": {},\n        \"supp_id\": \"new_supp_id_1234\"\n    },\n    \"info\": {\n        \"account_num\": \"8902\",\n        \"address\": \"PO BOX 85139, RICHMOND, VA, US\",\n        \"balance\": {\n            \"amount\": \"750.00\",\n            \"currency\": \"USD\"\n        },\n        \"bank_long_name\": \"CAPITAL ONE N.A.\",\n        \"bank_name\": \"CAPITAL ONE N.A.\",\n        \"class\": \"SAVINGS\",\n        \"match_info\": {\n            \"email_match\": \"match\",\n            \"name_match\": \"match\",\n            \"phonenumber_match\": \"no_match\"\n        },\n        \"name_on_account\": \" \",\n        \"nickname\": \"New Nickname\",\n        \"routing_num\": \"6110\",\n        \"type\": \"BUSINESS\"\n    },\n    \"is_active\": true,\n    \"timeline\": [\n        {\n            \"date\": 1498308706084,\n            \"note\": \"Node created.\"\n        },\n        {\n            \"date\": 1498308707233,\n            \"note\": \"Unable to send micro deposits as node allowed is not CREDIT.\"\n        },\n        {\n            \"date\": 1498311290792,\n            \"note\": \"Node's 'supp_id' updated to new_supp_id_1234.\"\n        }\n    ],\n    \"type\": \"ACH-US\",\n    \"user_id\": \"594e0fa2838454002ea317a0\"\n}","language":"json","status":200}]},"method":"patch","examples":{"codes":[{"name":"","language":"http","code":"PATCH /v3.1/users/594e0fa2838454002ea317a0/nodes/594e606212e17a002f2e3251 HTTP/1.1\nHost: uat-api.synapsefi.com\nX-SP-USER-IP: 127.0.0.1\nX-SP-USER: oauth_auVIbQ8WXC0pnLU9ivEs4tcHDejqFJlwoNrZ3fO1|e83cf6ddcf778e37bfe3d48fc78a6502062fc\nContent-Type: application/json\n\n{\n  \"supp_id\":\"new_supp_id_1234\"\n}"}]},"settings":"","auth":"required","params":[{"_id":"594e6a660c8d130015c5c9e7","ref":"","in":"path","required":false,"desc":"The user ID of the user","default":"","type":"string","name":"user_id"},{"_id":"594e6a660c8d130015c5c9e6","ref":"","in":"path","required":false,"desc":"The node ID of the node","default":"","type":"string","name":"node_id"},{"_id":"5573b11e91ce6e190023b76a","ref":"","in":"body","required":false,"desc":"Supplemental ID","default":"","type":"string","name":"supp_id"},{"_id":"5941aabca9204a000f9ded74","ref":"","in":"body","required":false,"desc":"Node Nickname","default":"","type":"string","name":"nickname"},{"_id":"5b13509816c485000315608f","ref":"","in":"body","required":false,"desc":"Node's allowed status. It can be turned to `INACTIVE` or `LOCKED` or in case of debit cards, `CREDIT-AND-DEBIT`","default":"","type":"string","name":"allowed"},{"_id":"5b13509816c485000315608e","ref":"","in":"body","required":false,"desc":"Allow foreign transaction on card","default":"","type":"boolean","name":"preferences.allow_foreign_transactions"},{"_id":"5bad76a360c8eb000333010b","ref":"","in":"body","required":false,"desc":"Point of sale withdraw limit for debit card","default":"","type":"int","name":"preferences.pos_withdrawal_limit"},{"_id":"5bad76a360c8eb000333010a","ref":"","in":"body","required":false,"desc":"ATM withdraw limit for debit card","default":"","type":"int","name":"preferences.atm_withdrawal_limit"},{"_id":"5b13509816c4850003156089","ref":"","in":"body","required":false,"desc":"Encrypted 4 digit PIN for the card","default":"","type":"string","name":"preferences.card_pin"}],"url":"/v3.1/users/:user_id/nodes/:node_id"},"isReference":true,"order":34,"body":"[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Debit Card Testing\",\n  \"body\": \"How to test card:\\n1. Fund the card (https://docs.synapsefi.com/docs/create-transaction)\\n2. Attempt a transaction online with an international processor\\n3. Patch the card’s `preferences.allow_foreign_transactions` to `true`\\n4. Attempt an NSF transaction (transact at an amount higher than the available balance of the card)\\n5. Patch the card’s body parameter `allowed` to `INACTIVE` and attempt a transaction\\n6. Patch the card’s body parameter `allowed` back to `CREDIT-AND-DEBIT` and attempt a transaction\\n7. Un-fund the card (https://docs.synapsefi.com/docs/create-transaction)\\n\\nHow to test physical cards:\\n1. Fund the card (https://docs.synapsefi.com/docs/create-transaction)\\n2. Attempt a transaction online with an international processor\\n3. Patch the card’s `preferences.allow_foreign_transactions` to `true`\\n4. Attempt an ATM transaction with random PIN numbers\\n5. Patch the card’s `preferences.card_pin` to a card pin of your choice\\n6. Try an ATM transaction and a POS transaction (at a store and online, both pinless and with a pin)\\n7. Patch the card’s `preferences.max_pin_attempts` to 1 and try a terminal POS or ATM transaction using the pin twice\\n8. Un-fund the card (https://docs.synapsefi.com/docs/create-transaction)\\n\\n**Replicate any use cases that an end user might have. The goal is to prevent all possible error outcomes for a smooth user experience.**\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"allowed: INACTIVE\",\n  \"body\": \"If you wish to disable credits and debits on a node, then turn it `INACTIVE`.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"allowed: LOCKED\",\n  \"body\": \"If you wish to disable all transactions and flag the card as lost or stolen, then turn it to `LOCKED`. Once a card is locked, it will be flagged in our networks and a new card will have to be created.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Preferences\",\n  \"body\": \"Only update `preferences` for [Debit Cards](doc:debit-cards). They do not apply for other node types.\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Foreign Transactions\",\n  \"body\": \"If you anticipate cards being used outside of US, please make sure `preferences.allow_foreign_transactions` is set to `true`. You would need to [PATCH Node](doc:update-info) for that.\"\n}\n[/block]\n## Encrypting Data\n\nMake sure you encrypt the `card_pin` on the client's device using our public key provided below.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzxVLeRTf77kmG/42SdjjtRfaI/7GN4UoUBfxzN80gCyrjK+tHYJR7DKefC47fNyA2dGU7x3tu1wQRKOkjschbC3ZWF1mCqccUiHRPiGhH9VBsxLbAUCFAKOPZcBDCT7IhUdd6S23e99ewkb0c6pRk28u+kz+7ZB7d6Z/S+Em316zs0HqEnEaoUNFXtdTyW3EPuaqo0+p9daICRC44VbrTlzc+Y1A/CsiOcCCl4ske8scu/fWg0K3nybfn7IdO2smkzRwwGOc4uexBMnAkAyl0eQrqXZO4vis6ktmLFV4NpYsd0U2vvmuXFoA9XBcJHdbAww/TGwHq5RJ3505QSEK8QIDAQAB\\n-----END PUBLIC KEY-----\",\n      \"language\": \"text\"\n    }\n  ]\n}\n[/block]\n[JSencrypt](https://github.com/travist/jsencrypt) is an easy to use library to use for this purpose, the implementation would look something like this\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"// Encrypt with the public key...\\nvar encrypt = new JSEncrypt();\\nencrypt.setPublicKey($('#pubkey').val());\\nvar encryptedCardPin = encrypt.encrypt($('#card_pin').val());\",\n      \"language\": \"javascript\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Padding\",\n  \"body\": \"Please make sure you are using PKCS1_v1_5 padding for encryption.\"\n}\n[/block]","excerpt":"Update supp_id, nickname, etc. for a node","slug":"update-info","type":"endpoint","title":"Update Node"}

patchUpdate Node

Update supp_id, nickname, etc. for a node

Definition

{{ api_url }}{{ page_api_url }}

Parameters

Path Params

user_id:
string
The user ID of the user
node_id:
string
The node ID of the node

Body Params

supp_id:
string
Supplemental ID
nickname:
string
Node Nickname
allowed:
string
Node's allowed status. It can be turned to `INACTIVE` or `LOCKED` or in case of debit cards, `CREDIT-AND-DEBIT`
preferences.allow_foreign_transactions:
boolean
Allow foreign transaction on card
preferences.pos_withdrawal_limit:
integer
Point of sale withdraw limit for debit card
preferences.atm_withdrawal_limit:
integer
ATM withdraw limit for debit card
preferences.card_pin:
string
Encrypted 4 digit PIN for the card

Examples


Result Format


Documentation

[block:callout] { "type": "info", "title": "Debit Card Testing", "body": "How to test card:\n1. Fund the card (https://docs.synapsefi.com/docs/create-transaction)\n2. Attempt a transaction online with an international processor\n3. Patch the card’s `preferences.allow_foreign_transactions` to `true`\n4. Attempt an NSF transaction (transact at an amount higher than the available balance of the card)\n5. Patch the card’s body parameter `allowed` to `INACTIVE` and attempt a transaction\n6. Patch the card’s body parameter `allowed` back to `CREDIT-AND-DEBIT` and attempt a transaction\n7. Un-fund the card (https://docs.synapsefi.com/docs/create-transaction)\n\nHow to test physical cards:\n1. Fund the card (https://docs.synapsefi.com/docs/create-transaction)\n2. Attempt a transaction online with an international processor\n3. Patch the card’s `preferences.allow_foreign_transactions` to `true`\n4. Attempt an ATM transaction with random PIN numbers\n5. Patch the card’s `preferences.card_pin` to a card pin of your choice\n6. Try an ATM transaction and a POS transaction (at a store and online, both pinless and with a pin)\n7. Patch the card’s `preferences.max_pin_attempts` to 1 and try a terminal POS or ATM transaction using the pin twice\n8. Un-fund the card (https://docs.synapsefi.com/docs/create-transaction)\n\n**Replicate any use cases that an end user might have. The goal is to prevent all possible error outcomes for a smooth user experience.**" } [/block] [block:callout] { "type": "info", "title": "allowed: INACTIVE", "body": "If you wish to disable credits and debits on a node, then turn it `INACTIVE`." } [/block] [block:callout] { "type": "info", "title": "allowed: LOCKED", "body": "If you wish to disable all transactions and flag the card as lost or stolen, then turn it to `LOCKED`. Once a card is locked, it will be flagged in our networks and a new card will have to be created." } [/block] [block:callout] { "type": "info", "title": "Preferences", "body": "Only update `preferences` for [Debit Cards](doc:debit-cards). They do not apply for other node types." } [/block] [block:callout] { "type": "info", "title": "Foreign Transactions", "body": "If you anticipate cards being used outside of US, please make sure `preferences.allow_foreign_transactions` is set to `true`. You would need to [PATCH Node](doc:update-info) for that." } [/block] ## Encrypting Data Make sure you encrypt the `card_pin` on the client's device using our public key provided below. [block:code] { "codes": [ { "code": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzxVLeRTf77kmG/42SdjjtRfaI/7GN4UoUBfxzN80gCyrjK+tHYJR7DKefC47fNyA2dGU7x3tu1wQRKOkjschbC3ZWF1mCqccUiHRPiGhH9VBsxLbAUCFAKOPZcBDCT7IhUdd6S23e99ewkb0c6pRk28u+kz+7ZB7d6Z/S+Em316zs0HqEnEaoUNFXtdTyW3EPuaqo0+p9daICRC44VbrTlzc+Y1A/CsiOcCCl4ske8scu/fWg0K3nybfn7IdO2smkzRwwGOc4uexBMnAkAyl0eQrqXZO4vis6ktmLFV4NpYsd0U2vvmuXFoA9XBcJHdbAww/TGwHq5RJ3505QSEK8QIDAQAB\n-----END PUBLIC KEY-----", "language": "text" } ] } [/block] [JSencrypt](https://github.com/travist/jsencrypt) is an easy to use library to use for this purpose, the implementation would look something like this [block:code] { "codes": [ { "code": "// Encrypt with the public key...\nvar encrypt = new JSEncrypt();\nencrypt.setPublicKey($('#pubkey').val());\nvar encryptedCardPin = encrypt.encrypt($('#card_pin').val());", "language": "javascript" } ] } [/block] [block:callout] { "type": "info", "title": "Padding", "body": "Please make sure you are using PKCS1_v1_5 padding for encryption." } [/block]