Skip to content

ACH Transfers

Requests authenticate with the Authorization: Bearer {clientID}:{apiKey} header. The examples below read the host and credentials from $TAPI_HOST, $TAPI_CLIENT_ID and $TAPI_API_KEY — see Running the Examples.

Sandbox base URL: https://api-sandboxdash.norcapsecurities.com — the examples read it from $TAPI_HOST.

Endpoints


POST /v3/createExternalAccount

Note: To connect an investor's bank account through Plaid, use linkExternalAccount; see ACH. Use this method when you already have verified bank details, for example from your own Plaid integration.

This method is used to add information to an Account (createAccount) for an external bank account which an ACH transfer can be initiated from. Only one external account can be created for an account. External accounts can have funds debited from them (externalFundMove).

Parameters

Parameter Type Required Description
types string Yes External Bank Account Type: Account / Issuer
accountId string Yes Account ID that is generated by the API when an Account is created (createAccount). Required when types is Account
issuerId string Yes Issuer ID that is generated by the API when an Issuer is created (createIssuer). Required when types is Issuer
ExtAccountfullname string Yes Account Holder Full Name or Issuer Account Holder Full Name
Extnickname string Yes Nickname for the External Account. Letters, digits, spaces, hyphens, underscores and slashes are accepted; other punctuation (. , ' " & ( ) @ # $ % ^ ! \| \ = + ? < > : ; ~ { } [ ]) and the backtick (`) are rejected, as are characters outside the Latin-1 range. In Sandbox, certain reserved values simulate ACH outcomes — see Simulating ACH outcomes in Sandbox
ExtRoutingnumber integer Yes External Bank Account - Routing Number
ExtAccountnumber integer Yes External Bank Account - Account Number
ExtBankname string No External Bank Account - Bank Name
updatedIpAddress string No IP Address associated with the createExternalAccount method call
accountType string No Account type Checking / Savings. By default Checking

Example Request

curl -X POST "$TAPI_HOST/v3/createExternalAccount" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d types=Account \
  -d accountId=A20168 \
  -d "ExtAccountfullname=John Abraham" \
  -d "Extnickname=John Nick" \
  -d "ExtBankname=Union Bank" \
  -d ExtRoutingnumber=34543534 \
  -d ExtAccountnumber=1234567890 \
  -d updatedIpAddress=10.0.0.115

Response

The details are returned under the key External Account Details when types is Account, or Issuer External Account Details when types is Issuer.

Field Type Description
accountId string Account ID (issuerId is returned instead when types is Issuer)
ExtAccountfullname string External account full name
Extnickname string External account nickname
ExtRoutingnumber string External account bank routing number (base64-encoded)
ExtAccountnumber string External account bank account number (base64-encoded)
types string Type Account/Issuer
accountType string Account type: Checking / Savings. (Default - Checking)

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "External Account Details": [
    true,
    [
      {
        "accountId": "A78129645",
        "ExtAccountfullname": "Lauren Test",
        "Extnickname": "Testing",
        "ExtRoutingnumber": "MDUzMDAwMTk2",
        "ExtAccountnumber": "MTAwMDAwMDA=",
        "types": "Account",
        "accountType": "Checking"
      }
    ]
  ]
}

POST /v3/deleteExternalAccount

This method is used to delete a particular external bank account (createExternalAccount) that was created for an account (createAccount). The Account ID must be specified as a request parameter to delete the external account.

Parameters

Parameter Type Required Description
types string Yes Account
accountId string Yes Account ID or Issuer ID that is generated by the API when an Account is created (createAccount).

Example Request

curl -X POST "$TAPI_HOST/v3/deleteExternalAccount" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  --header 'content-type: application/json' \
  --data '
{
  "accountId": "A123456",
  "types": "Account"
}
'

Response

Field Type Description
accountId string Account ID
Ext\_Status string External account status deleted or not

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "Account External Account Details": [
    true,
    [
      {
        "accountId": "A123456",
        "Ext_status": "Deleted"
      }
    ]
  ]
}

POST /v3/externalFundMove

This method is used to initiate an ACH debit that moves funds from an investor's external bank account into the escrow account for the offering. A trade must already exist (createTrade) with a transactionType of ACH, and the account must have an external bank account on file, added through createExternalAccount or linkExternalAccount. A trade may only be funded once — a fund move that reached Pending, Submitted or Settled blocks any further attempt on the same trade.

The response returns a reference number (RefNum) identifying the fund move, which starts in a Pending status. Pending transactions are submitted for processing at 6:00 PM Eastern Time every business day; until then the debit can be cancelled with requestForVoidACH. Settlement is not immediate — track progress with getExternalFundMoveInfo or getExternalFundMove, or subscribe to the externalFundMove webhook, which fires on initiation with the trade ID and reference number.

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API once an account (createAccount) or Issuer (createIssuer) is created. Determines which external bank account is debited — see Account selection
offeringId integer Yes Offering ID that is generated by the API once an offering is created (createOffering)
tradeId integer Yes Trade ID that is generated by the API once a trade is created (createTrade). The trade must already exist and its transactionType must be ACH
amount decimal Yes The amount to be debited from the external account. Maximum two decimal places; scientific notation is rejected. May exceed the trade total by up to 7% to allow for fees
description string Yes Description of the fund move (Investment in [offering]). Stored with the transaction and passed to the payment provider
checkNumber integer Yes Must be present, but the submitted value is discarded — it is neither stored nor sent to the payment processor. Pass the trade ID
NickName string No Deprecated. Still accepted so that existing integrations continue to work, but ignored: it is not compared against the stored Extnickname and has no bearing on which account is debited (see Account selection). New integrations should omit it
createdIpAddress string No IP address associated with the externalFundMove method call

Account selection

externalFundMove does not accept bank account details, and the NickName parameter does not select one. It debits the single external account on file for accountId, exactly as returned by getExternalAccount. That stored account must have a nickname, routing number, account number and account holder name populated, or the request fails with 149. Because an account may only ever have one external account, no parameter is needed to select between accounts.

Preconditions and limits

  • The account must be authorized for ACH; a blocked account returns 773.
  • The trade must exist (188) and be an ACH trade (194).
  • The trade must not already have a fund move in a Pending, Submitted or Settled status (150, or 210). Only a fund move that was Returned or Voided may be retried — a settled trade cannot be funded again.
  • The stored routing number must be a valid nine-digit ABA number (207, 215).
  • The trade total must not exceed the maximum single ACH transaction amount configured for your client (234). Contact support to review your limit.
  • amount may exceed the trade total by up to 7%; beyond that returns 721.
  • Your client must be configured with a supported payment provider (211).

Example Request

curl -X POST "$TAPI_HOST/v3/externalFundMove" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d accountId=985742 \
  -d offeringId=97421 \
  -d tradeId=7766362363632 \
  -d "NickName=Tester Jones" \
  -d amount=10000.50 \
  -d checkNumber=7766362363632 \
  -d "description=Example Transaction" \
  -d createdIpAddress=10.0.0.9

Response

Field Type Description
TradeFinancialDetails array Single-element array containing the details of the fund move that was created

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "TradeFinancialDetails": [
    {
      "accountId": "A49501",
      "tradeId": "257528259",
      "offeringId": "81272",
      "totalAmount": "1000.000000",
      "RefNum": "464266069",
      "fundStatus": "Pending"
    }
  ]
}

Errors

Code Meaning
106 A required parameter is missing or malformed
110 Your API key lacks a field permission that this method requires
111 Your API key is not authorized for this method
135 The account has no active primary party
138 Offering does not exist
148 Account does not exist
149 No usable external account on file for this account
150 A fund move already exists for this trade in a Pending, Submitted or Settled status
188 Trade does not exist
194 The trade is not an ACH trade
207 / 215 Stored routing number is not a valid nine-digit ABA number
210 An ACH request has already been sent for this trade
211 No supported payment provider is configured for your client
234 Trade total exceeds your maximum single ACH transaction amount
721 Amount exceeds the trade total by more than 7%
732 Amount is not in a valid format
773 This account is blocked for ACH transactions

Note: the 149 response text reads "Investor External Account does not exist / Nickname mismatch." No nickname comparison is performed; the condition is only that a complete external account exists for the given accountId.

Simulating ACH outcomes in Sandbox

Outside Production, a fund move can be driven to a final status immediately, without waiting for a real ACH cycle. The trigger is the nickname stored on the external account: when Extnickname matches one of the reserved values below, the fund move is advanced through Submitted and then to the outcome shown, and the trade status is updated to match. Nothing is sent to the bank.

Extnickname Fund status Trade status Error
Test ACH Settled Settled FUNDED empty
Test ACH R01 Returned CREATED R01 - Insufficient funds

Test ACH Settled and Test ACH R01 are available in every non-Production environment. Further return codes can be configured per environment; contact support if you need a specific NACHA return code for your testing.

The simulation runs synchronously. The fundStatus in the externalFundMove response is already the final status, and getExternalFundMoveInfo reflects it straight away — it reports the return code in error, while getExternalFundMove reports the same value in errors. Each transition also fires the updateExternalFundMoveStatus webhook — first Submitted, then the final status — so webhook handling can be tested end to end.

Any other nickname leaves the fund move Pending for normal processing. The facility is disabled in Production.

The reserved value must be the nickname stored on the external account, not the NickName parameter passed to externalFundMove. Set it as Extnickname when calling createExternalAccount. For an account already linked through linkExternalAccount, which assigns a Plaid-generated nickname, change it with updateExternalAccount — that method replaces the whole external account record, so resend the account holder name, routing number, account number and types along with the new nickname or those fields will be cleared.

POST /v3/getAchPendingId

This method returns the pending Tristate ACH fund-move transactions for an account. It returns only records whose fundStatus is Pending — i.e. ACH debits that have been initiated (externalFundMove) but not yet settled or voided. If the account has no pending Tristate ACH records, the response returns statusCode 212 with no transaction array.

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API once an Account (createAccount) or Issuer (createIssuer) is created

Example Request

curl -X POST "$TAPI_HOST/v3/getAchPendingId" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  --header 'content-type: application/json' \
  --data '
{
  "accountId": "A12345"
}
'

Response

Returns the matching pending Tristate ACH transactions in the investorExternalAccountDetails array. Each element contains the following fields:

Field Type Description
accountId string Account ID the transaction belongs to
tradeId string Trade ID associated with the fund move
offeringId string Offering ID the trade is invested in
Bankname string Name of the external bank the funds are debited from
totalAmount decimal Amount of the ACH debit
Accountnumber string External bank account number (base64-encoded)
Routingnumber string External bank ABA routing number (base64-encoded)
Accountfullname string Account holder's full name on the external bank account
transactionstatus string Tristate transaction approval state. Values: Pending, Approved
routingNumberStatus string Routing number verification state. Value: Verified
fundStatus string Settlement status of the fund move. Always Pending for records returned by this method
createdDate string Timestamp the transaction was created

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "investorExternalAccountDetails": [
    {
      "accountId": "A1543842",
      "tradeId": "257528259",
      "offeringId": "81272",
      "Bankname": "America First Credit Union",
      "totalAmount": "1000.000000",
      "Accountnumber": "MTExMTIyMjIzMzMzMTExMQ==",
      "Routingnumber": "MDIxNTMxMzIz",
      "Accountfullname": "Test Account Name",
      "transactionstatus": "Pending",
      "routingNumberStatus": "Verified",
      "fundStatus": "Pending",
      "createdDate": "2024-05-01 10:15:00"
    }
  ]
}

POST /v3/getExternalAccount

This method retrieves the external bank account (createExternalAccount) linked to an account or issuer.

Parameters

Parameter Type Required Description
types string Yes Account / Issuer
accountId string Yes Account Id that is generated by the API when an Account is created (createAccount). Required when types is Account
issuerId string Yes Issuer Id that is generated by the API when an Issuer is created (createIssuer). Required when types is Issuer

Example Request

curl -X POST "$TAPI_HOST/v3/getExternalAccount" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  --header 'content-type: application/json' \
  --data '
{
  "accountId": "A12345",
  "types": "Account"
}
'

Response

Field Type Description
accountId string Account ID generated by the API (issuerId is returned instead when types is Issuer)
statusDesc object External account details
statusDesc.AccountName string Account holder's full name on the external bank account
statusDesc.AccountNickName string Nickname for the external account
statusDesc.AccountRoutingNumber string External bank ABA routing number (decoded, plaintext)
statusDesc.AccountNumber string External bank account number (decoded, plaintext)
statusDesc.accountType string Account type: Checking / Savings
statusDesc.updatedDate string Timestamp the external account was last updated
statusDesc.createdDate string Timestamp the external account was created. Not returned when types is Issuer

Example Response

{
  "statusCode": "101",
  "accountId": "A1543842",
  "statusDesc": {
    "AccountName": "Test Account Name",
    "AccountNickName": "Plaid Saving - America First Credit Union",
    "AccountRoutingNumber": "021531323",
    "AccountNumber": "1111222233331111",
    "accountType": "Savings",
    "updatedDate": "0000-00-00 00:00:00",
    "createdDate": "2022-10-26 23:10:39"
  }
}

POST /v3/getExternalFundMove

This method is used to get the details and current status for an external fund move. The Account ID and Reference Number must be specified as a request parameter to get the external fund move details and current status.

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created
RefNum integer Yes Reference Number that is generated by the API once an external fund move is initiated (externalFundMove)

Example Request

curl -X POST "$TAPI_HOST/v3/getExternalFundMove" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d accountId=A85742 \
  -d RefNum=685427152

Response

Field Type Description
investorExternalAccountDetails array Returns the fund move details as an array

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "investorExternalAccountDetails": [
    {
      "accountId": "A49501",
      "tradeId": "529293396",
      "offeringId": "81272",
      "Bankname": "Testing",
      "totalAmount": "1000.000000",
      "Accountnumber": "MTIzNDU2Nzg5MDAwMA==",
      "Routingnumber": "MTIxMDAwMzU4",
      "RefNum": "367253829",
      "Accountfullname": "John Smith",
      "transactionstatus": "Approved",
      "routingNumberStatus": "Verified",
      "fundStatus": "Submitted",
      "errors": null,
      "createdDate": "2018-09-19 08:57:04"
    }
  ]
}

POST /v3/getExternalFundMoveHistory

This method is used to retrieve all the external fund move details for all ACH transactions that have been processed for a particular Account (createAccount)

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created.

Example Request

curl -X POST "$TAPI_HOST/v3/getExternalFundMoveHistory" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d accountId=A77952

Response

Field Type Description
accountDetails array Array of external fund move details for an account that includes all information for the fund moves created for the matched account

Each element contains the fields shown in the example below.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": [
    {
      "accountId": "A49501",
      "tradeId": "880696248",
      "offeringId": "81272",
      "Bankname": "Testing",
      "totalAmount": "1000.000000",
      "Accountnumber": "MTIzNDU2Nzg5MDAwMA==",
      "Routingnumber": "MTIzNDU2Nzg5",
      "RefNum": null,
      "Accountfullname": "Testing",
      "transactionstatus": "Approved",
      "routingNumberStatus": "Verified",
      "fundStatus": "Submitted",
      "errors": null,
      "createdDate": "2018-06-16 05:49:10"
    },
    {
      "accountId": "A49501",
      "tradeId": "623303227",
      "offeringId": "44238",
      "Bankname": "Testing",
      "totalAmount": "5.000000",
      "Accountnumber": "MTIzNDU2Nzg5MDAwMA==",
      "Routingnumber": "MTIzNDU2Nzg5",
      "RefNum": null,
      "Accountfullname": "Testing",
      "transactionstatus": "Pending",
      "routingNumberStatus": "Verified",
      "fundStatus": "Pending",
      "errors": null,
      "createdDate": "2018-07-06 11:35:45"
    },
    {
      "accountId": "A49501",
      "tradeId": "385938050",
      "offeringId": "44238",
      "Bankname": "Testing",
      "totalAmount": "1.000000",
      "Accountnumber": "MTIzNDU2Nzg5MDAwMA==",
      "Routingnumber": "MTIzNDU2Nzg5",
      "RefNum": null,
      "Accountfullname": "Testing",
      "transactionstatus": "Pending",
      "routingNumberStatus": "Verified",
      "fundStatus": "Pending",
      "errors": null,
      "createdDate": "2018-07-06 11:59:16"
    }
  ]
}

POST /v3/getExternalFundMoveInfo

This method is used to get all information for an external fund move. The Account ID (createAccount) and Reference Number (included in the externalFundMove response) must be specified as a request parameter to get all external fund move information.

Parameters

Parameter Type Required Description
accountId string Yes Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created
RefNum string Yes Reference Number that is generated by the API once an external fund move is initiated (externalFundMove)

Example Request

curl -X POST "$TAPI_HOST/v3/getExternalFundMoveInfo" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d RefNum=685427152 \
  -d accountId=A12345

Response

Field Type Description
investorExternalAccountDetails object Returns the fund move status, containing fundStatus and error
ACHDetails object Returns the ACH details for the fund move

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "investorExternalAccountDetails": {
    "fundStatus": "Returned",
    "error": "101 - Settled Trade"
  },
  "ACHDetails": {
    "accountId": "A3040386",
    "fundStatus": "Returned",
    "tradeId": "1001577983",
    "createdDate": "2024-07-31 17:18:59",
    "developerAPIKey": "somedeveloperkey",
    "accountName": "John Smith's Account",
    "clientName": "example client",
    "clientId": "someclientid",
    "issueName": "example offering"
  }
}

POST /v3/linkExternalAccount

Billed in production

This method is billed in production. Sandbox calls are not billed. See the Fee Schedule.

This method is used to add an external account using Plaid. Only one external account can be created for an account. STEP ONE: Invoke the "LinkExternalAccount" API method from a web form using cURL. Failures will see the response with corresponding error codes. STEP TWO: Successful calls will provide the response as below : { "statusCode": "101", "statusDesc": "Ok", "AccountDetails":" https://api-sandboxdash.norcapsecurities.com/apiscript/plaid-link.php?params=[param_value] " } . STEP THREE: Get the content of the response and run it. You should see the Login widget on the webpage. Example PHP snippet : $res = json_decode($result); print_r(file_get_contents($res->accountDetails));

Parameters

Parameter Type Required Description
accountId string Yes Account ID generated by the API

Example Request

curl -X POST "$TAPI_HOST/v3/linkExternalAccount" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d accountId=A12345

Response

Field Type Description
accountDetails string Response URL

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": " https://api-sandboxdash.norcapsecurities.com/apiscript/plaid-link.php?params=[param_value] "
}

POST /v3/requestForVoidACH

This method is used to update the pending ACH transaction to void. This can only be used on a transaction that is in a "Pending" status. "Pending" transactions are submitted for processing at 6:00 PM Eastern Time every business day.

A successful void sends the requestForVoidACH webhook, not updateExternalFundMoveStatus. Subscribe to both methods to see every status change on a transfer — see Webhooks.

Parameters

Parameter Type Required Description
RefNum integer Yes Reference Number that is generated by the API once an external fund move is initiated (externalFundMove)

Example Request

curl -X POST "$TAPI_HOST/v3/requestForVoidACH" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d RefNum=313889266

Response

Field Type Description
investorExternalAccountDetails string Status Updated Successfully

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "investorExternalAccountDetails": "Status Updated Successfully"
}

POST /v3/updateExternalAccount

This method is used to update fields related to a particular external account for an Account (createAccount). The Account ID must be specified as a request parameter to update the record.

Parameters

Parameter Type Required Description
ExtAccountfullname string Yes Account Holder Full Name or Issuer Account Holder Full Name
Extnickname string Yes Nickname for the external account
types string Yes Is this for an account or issuer account?
accountId / issuerId string Yes Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created.
ExtRoutingnumber integer Yes External Bank Account - Routing Number
ExtAccountnumber integer Yes External Bank Account - Account Number
updatedIpAddress string No IP Address of the updateExternalAccount method call
accountType string No Account type Checking / Savings. By default Checking

Example Request

curl -X POST "$TAPI_HOST/v3/updateExternalAccount" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d types=Account \
  -d accountid=A12345 \
  -d "ExtAccountfullname=John Abraham" \
  -d "Extnickname=John Nick" \
  -d ExtRoutingnumber=34543534 \
  -d ExtAccountnumber=1234567890 \
  -d accountType=Checking \
  -d updatedIpAddress=10.0.0.115

Response

The details are returned under the key Account External Account Details when types is Account, or Issuer External Account Details when types is Issuer.

Field Type Description
accountId / issuerId string Account ID or Issuer ID that is generated by the API when an Account(createAccount) or Issuer(createIssuer) is created.
ExtAccountfullname string Account Holder Full Name or Issuer Account Holder Full Name
Extnickname string Nickname for the External Account
ExtRoutingnumber string External Bank Account - Routing Number (base64-encoded)
ExtAccountnumber string External Bank Account - Account Number (base64-encoded)
types string Is this for an Account or Issuer Account?
accountType string Account type Checking / Savings. By default Checking

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "Account External Account Details": [
    true,
    [
      {
        "accountId": "5705166",
        "ExtAccountfullname": "John",
        "Extnickname": "John account",
        "ExtRoutingnumber": "MzQ1NDM1MzQ=",
        "ExtAccountnumber": "MTIzNDU2Nzg5MA==",
        "accountType": "Checking",
        "types": "Account"
      }
    ]
  ]
}

POST /v3/updateLinkExternalAccount

Billed in production

This method is billed in production. Sandbox calls are not billed. See the Fee Schedule.

This method is used to update an external account using Plaid. Only one external account can be created for an account

Parameters

Parameter Type Required Description
accountId string Yes Account ID generated by the API

Example Request

curl -X POST "$TAPI_HOST/v3/updateLinkExternalAccount" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d accountId=A12345

Response

Field Type Description
accountDetails string Response URL

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": "https://api-sandboxdash.norcapsecurities.com/apiscript/plaid-link.php?params=[param_value]"
}

POST /v3/validateABARoutingNumber

This method is used to validate the routing number for an external account (createExternalAccount)

Parameters

Parameter Type Required Description
routingNumber integer Yes The Bank ABA routing number to be validated

Example Request

curl -X POST "$TAPI_HOST/v3/validateABARoutingNumber" \
  -H "Authorization: Bearer $TAPI_CLIENT_ID:$TAPI_API_KEY" \
  -d routingNumber=123456789

Response

Field Type Description
accountDetails string Routing number valid / invalid

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "accountDetails": "Valid routing number"
}