sFOX API
Sign InOpen Account
Connect API
Connect API
  • Introduction
    • Welcome
    • Getting Started
    • Resources
      • Terminology
      • Systems & Operations
      • Integration Options
    • Guides
      • End User Onboarding & KYC
        • Individuals
        • Businesses
        • Enhanced Due Diligence
  • REST API
    • REST Endpoints
    • Authentication
    • End Users
      • Create End User Account
      • Request Verification Code
      • Confirm Verification Code
      • Create User Auth Token(s)
      • Get End User(s)
      • Get EDD Requests
      • Get EDD Prompts
      • Create EDD Responses
        • Uploading Files as Responses
      • Submit Documents
      • Deactivate User
    • Payments
      • Create Bank Account (Plaid)
      • Create Bank Account
      • Get Bank Account
      • Get Plaid Processors
      • Amend Plaid Processors
      • Verify Bank Account
      • Delete Bank Account
      • Get Wire Instructions
      • Get ACH Agreement Status
      • Request ACH Onboarding
      • Get ACH Deposit Limit
    • Withdrawals
      • Confirm Withdrawal
      • Resend Confirmation Code
      • Cancel Withdrawal
    • Transfers
      • Create Transfer
      • Confirm Transfer
      • Resend Confirmation Code
      • Cancel Transfer
      • Get Transfer Permissions
      • Get Transfer History
    • Monetization
      • Create Setting
      • Update Setting
      • Delete Setting
      • Get Settings
      • Get Permissions
      • Get Monetization History
  • WebSocket API
    • Connecting
    • Authentication
    • Subscribing & Unsubscribing
    • Message Format
    • End Users
      • Onboarding
      • Balances
      • Orders
      • Trades
    • Market Data
      • Order Book
      • Trades
      • Ticker
  • Single Sign-On
    • Overview
      • IdP Initiated SSO
    • IdP Data
    • SAML Response Data
  • Errors
    • Error Codes
Powered by GitBook
On this page
  • Request
  • Path Parameters
  • Body Parameters
  • Example Requests
  • Response
  • Response Body
  • Responses
  1. REST API
  2. Payments

Amend Plaid Processors

PreviousGet Plaid ProcessorsNextVerify Bank Account

Last updated 1 day ago

PUT

https://api.sfox.com/v1/bank-account/${BANK_ACCOUNT_ID}/plaid-processors

Modify the Plaid processors associated with a bank account.


Sandbox Only

Please note that this endpoint is currently only available for testing in the Sandbox environment and may undergo changes as we continue to improve the feature.

Request

Authentication: This endpoint requires a for authentication. Requests using your Connect API Key will be rejected.

Path Parameters

Name
Type
Description

BANK_ACCOUNT_ID required

string

Body Parameters

Name
Type
Description

data required

[object]

The Plaid processor_tokens and associated processors

processor required

string

The processor associated with this token. Possible values: sfox, dwolla

token required

string

The processor_token retrieved from Plaid.

Example Requests

#Update bank account with new sFOX and Dwolla processor tokens
curl --location --request PUT 'https://api.sfox.com/v1/bank-accounts/${BANK_ACCOUNT_ID}/plaid-processors' \
  -H 'Content-type: application/json' \
  -H "Authorization: Bearer ${USER_AUTH_TOKEN}" \
  -d '{ 
      "data": [
        {
          "processor": "sfox",
          "token": "${SFOX_PLAID_PROCESSOR_TOKEN}"
        },
        {
          "processor": "dwolla",
          "token": "${DWOLLA_PLAID_PROCESSOR_TOKEN}"
        }
      ]
   }'

#Update bank account with new sFOX processor token
curl --location --request PUT 'https://api.sfox.com/v1/bank-accounts/${BANK_ACCOUNT_ID}/plaid-processors' \
  -H 'Content-type: application/json' \
  -H "Authorization: Bearer ${USER_AUTH_TOKEN}" \
  -d '{ 
      "data": [{
        "processor": "sfox",
        "token": "${SFOX_PLAID_PROCESSOR_TOKEN}"
      }]
   }'
//Update bank account with new sFOX and Dwolla processor tokens
const axios = require('axios');

const payload = JSON.stringify({
    "data": [
      {
        "processor": "sfox",
        "token": "${SFOX_PLAID_PROCESSOR_TOKEN}"
      },
      {
        "processor": "dwolla",
        "token": "${DWOLLA_PLAID_PROCESSOR_TOKEN}"
      }
    ]
})

const config = {
  method: 'put',
  url: 'https://api.sfox.com/v1/bank-accounts/${BANK_ACCOUNT_ID}/plaid-processors',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${process.env.USER_AUTH_TOKEN}`
  },
  data: data
}

axios(config)
  .then(response => {
    console.log(response.status)
    console.log(response.data)
  }).catch(err => {
    console.error(err.response.status)
    console.error(err.response.data)
  });


  
//Update bank account with new sFOX processor token
const axios = require('axios');

const payload = JSON.stringify({
    "data": [
      {
        "processor": "sfox",
        "token": "${SFOX_PLAID_PROCESSOR_TOKEN}"
      }
    ]
})

const config = {
  method: 'put',
  url: 'https://api.sfox.com/v1/bank-accounts/${BANK_ACCOUNT_ID}/plaid-processors',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${process.env.USER_AUTH_TOKEN}`
  },
  data: data
}

axios(config)
  .then(response => {
    console.log(response.status)
    console.log(response.data)
  }).catch(err => {
    console.error(err.response.status)
    console.error(err.response.data)
  });
#Update bank account with new sFOX and Dwolla processor tokens
import requests
import json

url = "https://api.sfox.com/v1/bank-accounts/${BANK_ACCOUNT_ID}/plaid-processors"

payload = json.dumps({
  "data": [
      {
        "processor": "sfox",
        "token": "${SFOX_PLAID_PROCESSOR_TOKEN}"
      },
      {
        "processor": "dwolla",
        "token": "${DWOLLA_PLAID_PROCESSOR_TOKEN}"
      }      
  ]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ${USER_AUTH_TOKEN}'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)


#Update bank account with new sFOX processor token
import requests
import json

url = "https://api.sfox.com/v1/bank-accounts/${BANK_ACCOUNT_ID}/plaid-processors"

payload = json.dumps({
  "data": [{
    "processor": "sfox",
    "token": "${SFOX_PLAID_PROCESSOR_TOKEN}"
  }]
})
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer ${USER_AUTH_TOKEN}'
}

response = requests.request("PUT", url, headers=headers, data=payload)

print(response.text)

Response

Response Body

Name
Type
Description

data

[object]

The Plaid processor_tokens and associated processors

processor

string

The processor associated with the token that was processed. Possible values: sfox, dwolla

status

string

The status of processing the token.

bank_account_id

string

date_added

string

Date-time the token was added.

date_updated

string

Date-time the token was last updated.

Responses

201: Created

sFOX and Dwolla p-tokens processed successfully

{
    "data": [
        {
            "processor": "sfox",
            "status": "created",
            "bank_account_id": "05a59670-e7c2-4611-a356-d20cae93e939",
            "date_added": "2025-05-14T01:55:35.664Z",
            "date_updated": "2025-05-14T01:55:35.664Z"
        },
        {
            "processor": "dwolla",
            "status": "created",
            "bank_account_id": "05a59670-e7c2-4611-a356-d20cae93e939",
            "date_added": "2025-05-14T01:55:38.786Z",
            "date_updated": "2025-05-14T01:55:38.786Z"
        }
    ]
}

sFOX p-token successfully processed

{
    "data": [
        {
            "processor": "sfox",
            "status": "created",
            "bank_account_id": "05a59670-e7c2-4611-a356-d20cae93e939",
            "date_added": "2025-05-14T01:55:35.664Z",
            "date_updated": "2025-05-14T01:55:35.664Z"
        }
    ]
}
422: Unprocessable Entity
{
    "error": "could not process your sfox processor token: This account already has a bank account linked to it that is active"
}

sFOX p-token not included in a request with a Dwolla p-token.

{
    "error": "At least one sfox processor token is required if a dwolla processor token is given"
}

The ID of the end user's bank account (id from ).

The ID of the associated bank account. (id from )

Active bank account is linked to this end user's account. To link a new bank account, and try again.

User Auth Token
remove the current bank account
Get Bank Account
Get Bank Account