API upgrades


We periodically release new, dated versions of the API whenever we make breaking changes. The current version is 2018-05-22.

Our client libraries make it easy to move between versions. You will either initialize the library with the version you wish to use (Python and Node) or use a specific release of the the library that's pinned to a dated version of the API (Ruby and Java).

curl -X POST https://sandbox.plaid.com/auth/get \
  -H 'Content-Type: application/json' \
  -H 'Plaid-Version: 2018-05-22'
require 'plaid'

client = Plaid::Client.new(env: :sandbox,
                           client_id: PLAID_CLIENT_ID,
                           secret: PLAID_SECRET,
                           public_key: PLAID_PUBLIC_KEY)
from plaid import Client

client = Client(client_id=PLAID_CLIENT_ID, secret=PLAID_SECRET, public_key=PLAID_PUBLIC_KEY, environment='sandbox', api_version='2018-05-22')
var plaid = require('plaid');

var plaidClient = new plaid.Client(PLAID_CLIENT_ID, PLAID_SECRET, PLAID_PUBLIC_KEY, plaid.environments.sandbox, {version: '2018-05-22'});
// Use builder to create a client
PlaidClient plaidClient = PlaidClient.newBuilder()

You can also manually set the Plaid-Version header to use a specific version for a given API request.

Version changelog




  • The Auth numbers schema has changed to support ACH (US-based) and EFT (Canadian-based) account numbers
  • Added the iso_currency_code and unofficial_currency_code fields to all Accounts and Transactions responses

Enable support for Canadian institutions from the Dashboard and then test in the Sandbox using the test Canadian institution, Tartan-Dominion Bank of Canada (institution ID ins_43).

Previous Auth response (2017-03-01 version)

Before, numbers was a list of objects, each one representing the account and routing number for an ACH-eligible US checking or savings account:

"numbers": [{
  "account": "9900009606",
  "account_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
  "routing": "011401533",
  "wire_routing": "021000021"

New Auth response (2018-05-22 version)

Now, numbers can have either ach (US accounts) or eft (Canadian accounts) numbers. Note that the schema for ach numbers and eft numbers are different from one another.

ACH numbers
"numbers": {
   "ach": [{
    "account": "9900009606",
    "account_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
    "routing": "011401533",
    "wire_routing": "021000021"     
   "eft": []
EFT numbers
"numbers": {
    "account": "111122223333",
    "account_id": "vzeNDwK7KQIm4yEog683uElbp9GRLEFXGK98D",
    "institution": "01140",
    "branch": "021"




The 2017-03-08 version was the initial release of the API. See the 2017-03-08 docs for more.