Learn how to migrate your code from the Square Connect v1 BankAccounts API to the Square API BankAccounts API

Migrate from the Connect v1 BankAccounts API

The following information helps you migrate from the Connect v1 BankAccounts API code to the correct Square API counterparts. For general guidance about the differences between Connect v1 and Square APIs, see the Connect v1 Migration guide.

The Connect v1 BankAccounts API lets you view external linked bank accounts.

  • Deprecation: 2020-02-26

  • Retirement: 2021-02-26

If you need help migrating to Square APIs or need more time to complete your migration, contact Developer Support, join our Slack, or reach out to your Square Account Manager.

The Square BankAccounts API provides all the functionality of the Connect v1 BankAccounts API and adds these features:

  • Pagination. The BankAccounts API reporting endpoints provide pagination.

  • Webhooks. Square Webhooks provide notifications when a bank account is created, verified, or disabled.

You can use a v1 bank account ID to retrieve the Square API equivalent BankAccount object. Call the Square API GetBankAccountByV1Id endpoint.

Square BankAccounts API endpoints replace the v1 BankAccounts endpoints in v1 BankAccounts API.

You must update the code that relies on the following endpoints to avoid breaking when the v1 BankAccounts API retires:

v1 endpoint
Square replacement
ListBankAccountsListBankAccountsGets a list of BankAccount objects.
RetrieveBankAccountGetBankAccountGets a single BankAccount.
N/AGetBankAccountByV1IdGets a single v1 BankAccount by ID.


When you use the Connect v1 API to get a list of bank accounts, you set a location ID in the URL path. With the Square API, you specify the location ID by setting the ID as a query parameter of the request:

Connect v1 API

Square API

All fields in the v1 BankAccount object are available in the Square BankAccount object. As a result, most code only needs to update the endpoint reference and field names to work properly.

The Square API BankAccount object contains all the fields of the v1 object, but they are mapped to new names:

v1 fieldSquare fieldNotes
routing_numbersecondary_bank_identification_numberThe v1 routing_number combined both bank ID numbers in Canada and Japan.
merchant_idlocation_idThe ID of the Location of the seller associated with the bank account.

The primary_bank_identification_number and secondary_bank_identification_number correspond to different bank account fields according to country.

Primary bank ID numberSecondary bank ID number
Australia (AU)BSB code
Canada (CA)Institution numberTransit number
Japan (JP)Bank codeBranch code
United Kingdom (GB)Sort code
United States (US)Routing number

If you need more assistance, contact Developer Support or ask for help in the Developer Forums.