Create Node

Node

POST https://api.synapsefi.com/v3.1/users/:user_id/nodes

This endpoint allows you to create a node.

Path Parameters

NameTypeDescription

user_id

string

ID of the user.

Headers

NameTypeDescription

X-SP-USER

string

User's OAuth key and device fingerprint, separated by a pipe.

X-SP-USER-IP

string

IP address of user's device.

X-SP-GATEWAY

string

Your Client ID and Secret, separated by a pipe.

{
    "error_code": "0",
    "http_code": "200",
    "limit": 20,
    "node_count": 1,
    "nodes": [
        {
            "_id": "5fd7e43fe079bc3cc9c304fb",
            "_links": {
                "self": {
                    "href": "https://uat-api.synapsefi.com/v3.1/users/5fd7acfd8677040053ad486d/nodes/5fd7e43fe079bc3cc9c304fb"
                }
            },
            "allowed": "CREDIT-AND-DEBIT",
            "allowed_status_code": null,
            "client": {
                "id": "589acd9ecb3cd400fa75ac06",
                "name": "SynapseFi"
            },
            "extra": {
                "note": null,
                "other": {},
                "supp_id": ""
            },
            "info": {
                "agreements": [
                    {
                        "type": "NODE_AGREEMENT",
                        "url": "https://cdn.synapsepay.com/uploads/2020/12/14/n9o0LrdMmBITYQRKXgWFUS76k24eDZ8EGz5yP0jfHtC1hqaxup.pdf"
                    }
                ],
                "balance": {
                    "amount": 0.0,
                    "currency": "USD"
                },
                "bank_code": "EBT",
                "document_id": "2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8",
                "name_on_account": " ",
                "nickname": "My Deposit Account"
            },
            "is_active": true,
            "timeline": [
                {
                    "date": 1607984180124,
                    "note": "Node created."
                }
            ],
            "type": "DEPOSIT-US",
            "user_id": "5fd7acfd8677040053ad486d"
        }
    ],
    "page_count": 1,
    "success": true
}

Go to Node Object Details to see all the required and optional body parameters allowed during node creation. Following are a few examples of various nodes and how to create them:

Create Deposit Account

We require that you first generate a preview of the node agreement, display it to the user to get their consent and then create the account. To generate a preview, add "preview_only":true to the payload.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_WFecuSPqxGgU027IRAjtOf35vrNCpQZE1DYohX9y|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
  "type": "DEPOSIT-US",
  "info": {
    "nickname":"My Deposit Account",
    "document_id":"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8"
  }
}

Create Cash Management Account

We require that you first generate a preview of the node agreement, display it to the user to get their consent and then create the account. To generate a preview, add "preview_only":true to the payload.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_WFecuSPqxGgU027IRAjtOf35vrNCpQZE1DYohX9y|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
  "type": "CMA",
  "info": {
    "nickname":"My Cash Management Account",
    "document_id":"2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8",
    "custody" : "FDIC",
    "risk" : "MODERATE"
  }
}

Create Credit Account

There are four types of credit accounts -- Repay, One-Time, Open and Revolving. Following are examples of opening all four:

Create Repay Account

We require that you first generate a preview of the node agreement, display it to the user to get their consent and then create the account. To generate a preview, add "preview_only":true to the payload.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
    "type": "REPAY-US",
    "info": {
        "loan_type": "ONE-TIME",
        "nickname": "My Loan",
        "credit_limit": {
            "amount": 5.2,
            "currency": "USD"
        },
        "interest": {
            "apr": 10,
            "cap": 5
        },
        "payment_node_id": "5fd7e2b0039b95223d5f4fd3",
        "disbursement_node_id": "5fd7e2b0039b95223d5f4fd3",
        "auto_pay": true,
        "document_id": "2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8",
        "schedule": "MONTHLY",
        "next_payment": 30,
        "num_payments": 1,
        "reserve_node_id": "5fd901bb20b3aa0bc7caee85"
    },
    "extra": {
        "supp_id": "xx123c"
    }
}

Create One-Time Credit Account

We require that you first generate a preview of the node agreement, display it to the user to get their consent and then create the account. To generate a preview, add "preview_only":true to the payload.

If disbursement_node_id = reserve_node_id, no liquidity is needed in reserve_node_id to issue the loan. The enables you to build installment based credit building loans without needing an upfront capital commitment from the end-user.

You may also charge an initial fee for a one-time credit account by including a fee field within the interest object and ensuring payment_node_id is valid. However, the fee must not cause the calculated apr to exceed the state limits.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json
Cookie: __cfduid=de9ca185b34253012e30046d93e73cef91605826497
Content-Length: 730

{
    "type": "LOAN-US",
    "info": {
        "loan_type": "ONE-TIME",
        "nickname": "My Loan",
        "credit_limit": {
            "amount": 5.2,
            "currency": "USD"
        },
        "interest": {
            "apr": 10,
            "cap": 5
        },
        "payment_node_id": "5fd7e2b0039b95223d5f4fd3",
        "disbursement_node_id": "5fd7e2b0039b95223d5f4fd3",
        "auto_pay": true,
        "document_id": "2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8",
        "schedule": "MONTHLY",
        "next_payment": 30,
        "num_payments": 10,
        "reserve_node_id": "5fd901bb20b3aa0bc7caee85"
    },
    "extra": {
        "supp_id": "xx123c"
    }
}

Create Open Credit Account

We require that you first generate a preview of the node agreement, display it to the user to get their consent and then create the account. To generate a preview, add "preview_only":true to the payload.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
    "type": "LOAN-US",
    "info": {
        "loan_type": "OPEN",
        "nickname": "My Loan",
        "interest": {
            "apr": 10,
            "cap": 5
        },
        "document_id": "2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8",
        "reserve_node_id": "5fd901bb20b3aa0bc7caee85",
        "schedule":"MONTHLY"
    },
    "extra": {
        "supp_id": "xx123c"
    }
}

Create Revolving Credit Account

We require that you first generate a preview of the node agreement, display it to the user to get their consent and then create the account. To generate a preview, add "preview_only":true to the payload.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
    "type": "LOAN-US",
    "info": {
        "loan_type": "REVOLVING",
        "nickname": "My Loan",
        "credit_limit": {
            "amount": 50.2,
            "currency": "USD"
        },
        "interest": {
            "apr": 10,
            "cap": 5
        },
        "document_id": "2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8",
        "schedule": "MONTHLY",
        "reserve_node_id": "5fd901bb20b3aa0bc7caee85"
    },
    "extra": {
        "supp_id": "xx123c"
    }
}

Booking an Adverse Action

In some instances, you will need to book Adverse Actions in our system. Here is an example of how to do that:

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
    "type": "LOAN-US",
    "info": {
        "loan_type": "REVOLVING",
        "nickname": "My Loan",
        "credit_limit": {
            "amount": 500.2,
            "currency": "USD"
        },
        "interest": {
            "apr": 10,
            "cap": 5
        },
        "payment_node_id": "5fd7e2b0039b95223d5f4fd3",
        "document_id": "2a4a5957a3a62aaac1a0dd0edcae96ea2cdee688ec6337b20745eed8869e3ac8",
        "schedule": "MONTHLY",
        "next_payment": 30,
        "num_payments": 10,
        "reserve_node_id": "5fd901bb20b3aa0bc7caee85"
    },
    "extra": {
        "supp_id": "xx123c",
        "note": "ACCOUNT|TOOSHORT"
    },
    "allowed": "REJECTED"
}

Create ACH Account

There are two ways to link an ACH account with us:

Method #1: Link via Account/Routing Number May require micro-deposit verification if indicated in your spec sheet.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
  "type": "ACH-US",
  "info": {
    "nickname": "Fake Account",
    "account_num": "12322134",
    "routing_num": "051000017",
    "type": "PERSONAL",
    "class": "CHECKING"
  }
}

Method #2: Link via Account Aggregation (with a 3rd Party Vendor) To link an ACH account using a 3rd party vendor, supply data from the 3rd party vendor in the following format. Please note that you will require 3 months minimum of the user's transaction data in order to skip micro-deposits. Please designate negative values with "debit" : true/false (boolean).

POST /v3.1/users/61281718f8db933279d02c3a/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_1rmOEzWCiwXG09Z7tefxY3AhKRQTaqDUMBpJPIV4|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json
Content-Length: 1831

{
  "type": "ACH-US",
  "info": {
    "nickname": "Fake Account",
    "account_num": "1232225674134",
    "routing_num": "051000017",
    "type": "PERSONAL",
    "class": "CHECKING"
  },
  "extra": {
    "supp_id": "pJPM4LMBNQFrOwp0jqEyTwyxJQrQbgU6kq37k",
    "other": {
      "info": {
        "phone_numbers": [
          "1112223456",
          "1234567891"
        ],
        "addresses": [
          {
            "street": "1 Hobbit Way",
            "city": "The Shire",
            "state": "CA",
            "zipcode": "94108"
          }
        ],
        "names": [
          "Frodo Baggins",
          "Samwise Gamgee"
        ],
        "emails": [
          "frodo.baggins@hobbit.com"
        ]
      },
      "transactions": [
        {
          "current_balance": 2275.58,
          "description": "Apple Store",
          "amount": 2307.15,
          "date": 1403506800,
          "pending": false,
          "debit": true
        },
        {
          "current_balance": 2275.58,
          "description": "Golden Crepes",
          "amount": 12.74,
          "date": 1399878000,
          "pending": false,
          "debit": true
        },
        {
          "current_balance": 2275.58,
          "description": "Banana Republic",
          "amount": 118.23,
          "date": 1398495600,
          "pending": false,
          "debit": true
        },
        {
          "current_balance": 2275.58,
          "description": "Octane Coffee Bar and Lounge",
          "amount": 5.32,
          "date": 1397718000,
          "pending": false,
          "debit": true
        },
        {
          "current_balance": 2275.58,
          "description": "Papa Johns Pizza",
          "amount": 28.57,
          "date": 1397199600,
          "pending": false,
          "debit": true
        }
      ]
    }
  }
}

Create Interchange Account

In the following example the card number and expiration date are encrypted. Go to Encryption Keys for Interchange to learn more.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
  "type": "INTERCHANGE-US",
  "info": {
    "nickname": "My BofA Card",
    "card_number": "UvW1n0FaSDjS/4h/u79hf7QF1pG6VuRMlSvoro5SDEt28YMkPaUJIVSBvIPSilFKYRX+jUw+nE0X7QxR/ZWAiLnkJHPo1R1KlolVBCvWefandgyBqc+8nmUw2gDqNV5XoOmUbraHIhhp3YxpBtlqljIcQvLyY6lnZij/UknLwU+QWltLkb4ppvOA1njwWHJWl795VoCsVHCab9gcU6dALH4xwIvezY9JXImQOsNQusT6OeagjDhjbTy/jfuu5aVOB+WqheW2r7TLR3Z0SAZsCm5vL0NjgP0Bi8dY9aZDsydEcqTQSn8+hLmdwnIoIw58xWHoIPFa3NfhCMPiPWyXzw==",
    "exp_date": "btnU+/L6NxZyd5dyl4BXK6raVMAp4ATGxST9KYN6KSOvY5IyfeKXfbwK5qCGk5071Tt0jst1yJShQNbSi4I+gUABmSTEZoBit13CT8C1uiRyT4sj8RhkMnyw/88eHIS5BKUXWib3wsfCxYac1Uq7lSdhReU1DHh8CoknDJt0GCFO1duxS0qLgrvB6WqkTgLQfYsRAZUDUO8O7sTUgGyoWdbu4CHoK1w+NJOQi3hWF5D90X60vaZaOxyEo4OljBZ6oAPiMf+L9IG58ADjsRm81TTwfhfzMObNRed+MEiDVzn7keR+0vniRzp1BPHO2aTxKKauhmZsRaWViIDah/tIbw==",
    "document_id": "6753aae40deb54eadee3d8272e6e1777337d34d52f71655c774a894fe3f6a1e0"
  }
}

Address Validation (AVS)

To enable additional address validation, please make a request via support or your growth manager, for an update to your platform configuration. AVS is configured per CIP tag. To fully utilize this service, you will need to provide:

KeyTypeRequiredDescription

info.security_code

String

Yes

Used to complete AVS validation. This is the card CVV. NOTE: Use same encoding method as with card number and expiration date.

info.strict_avs_validation

Boolean

No

If AVS check fails, with this set to True, the node will not be created.

The results of AVS validation include:

KeyTypeRequiredDescription

extra.other.avs.avs_match

Boolean

No

Address validated, or not.

extra.other.avs.result

String

No

When present, results will be DECLINED or NOT_DECLINED. NOTE: Results are filtered to avoid fraud. Reach out to support if additional detail is needed.

Create Wire Account

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
  "type": "WIRE-US",
  "info":{
      "nickname": "Some Account",
      "account_num": "1235674342",
      "routing_num": "026009593"
    }
}

Create SWIFT Account

Below is the minimum request body to create a WIRE-INT node, some countries will require additional information. Please refer to Node Object Details for other country specific required attributes.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
    "type": "WIRE-INT",
    "info": {
        "nickname": "Some Account",
        "account_num": "1235674342",
        "swift": "CCBPFRPPXXX"
    }
}

Create RPPS Account

In the following example the account number is encrypted. Go to Encryption Keys for RPPS to learn more.

Also go to View Billers to learn how to get biller_id.

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
    "type": "RPPS-US",
    "info": {
        "nickname": "Fake Account",
        "account_num": "ihvwKkb0RrsRSqlOJo3xXCTX7hADg2eA+dN3nSVoFsulhypfDlFLoVrdM0I4T/7rX0ZPj7IdlHDUmkGFm/PwQ9Of/FDzg74h/hdIpS48KNAJR31ZZaGecTpL8AOYDM0oCWS2bnowOG+2pPNP7aa63d4DK5I+uzK9y95eIvWrcnM6GM9dYUFm2pIvW1WrXr2qVr+WpjRUSbfLAky0cNzvg3CQsjusLZfA3W2c7QKJjL4ICBRvzwLhb90m2U3uFGiS3xCdYy+tcXtEK1KZfvAq6Ic+Gxe//jDIOl/vQSW/aVxFA5Lz/wCf4zmFCB2HYKvg4wYAeXgyufaZZDwb6r/duQ==",
        "biller_id": "0311001621"
    }
}

Create Check Account

POST /v3.1/users/5fd7acfd8677040053ad486d/nodes HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-USER-IP: 255.127.79.76
X-SP-USER: oauth_Bno93GavyeDfbzt0kpwmjZrQdS8IMUVH65AC21Og|e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

{
  "type": "CHECK-US",
  "info":{
      "nickname":"Rent",
      "payee_name":"Some Name",
      "payee_address":{
      	"address_street":"1 Market St",
      	"address_city":"San Francisco",
      	"address_subdivision":"CA",
      	"address_country_code":"US",
      	"address_postal_code":"94105"
      }
  }
}