---
title: "Migrate account into Transfers"
method: POST
path: "/transfer/migrate_account"
tags: ["plaid"]
---

# Migrate account into Transfers

`POST /transfer/migrate_account`

As an alternative to adding Items via Link, you can also use the `/transfer/migrate_account` endpoint to migrate previously-verified account and routing numbers to Plaid Items. This endpoint is also required when adding an Item for use with wire transfers; if you intend to create wire transfers on this account, you must provide `wire_routing_number`. Note that Items created in this way are not compatible with endpoints for other products, such as `/accounts/balance/get`, and can only be used with Transfer endpoints.  If you require access to other endpoints, create the Item through Link instead.  Access to `/transfer/migrate_account` is not enabled by default; to obtain access, contact your Plaid account manager or [support](https://dashboard.plaid.com/support).

## Request body

- TransferMigrateAccountRequest — Defines the request schema for `/transfer/migrate_account`
  - `client_id` string — Your Plaid API `client_id`. The `client_id` is required and may be provided either in the `PLAID-CLIENT-ID` header or as part of a request body.
  - `secret` string — Your Plaid API `secret`. The `secret` is required and may be provided either in the `PLAID-SECRET` header or as part of a request body.
  - `account_number` string, required — The user's account number.
  - `routing_number` string, required — The user's routing number.
  - `wire_routing_number` string — The user's wire transfer routing number. This is the ABA number; for some institutions, this may differ from the ACH number used in `routing_number`. This field must be set for the created item to be eligible for wire transfers.
  - `account_type` string, required — The type of the bank account (`checking` or `savings`).

## Response `200`

OK

- TransferMigrateAccountResponse — Defines the response schema for `/transfer/migrate_account`
  - `access_token` string, required — The Plaid `access_token` for the newly created Item.
  - `account_id` string, required — The Plaid `account_id` for the newly created Item.
  - `request_id` string, required — A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.

## Other responses

- `default` — Error response

## Changes

- **2026-07-22** `a1bbca018160` — 13 warning
  - added the new `ASSETS_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `CRA_MONITORING_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `CREDIT_PROFILE_REPORT_ERROR` enum value to the `error_type` response property for the response status `default`
  - added the new `ENCOMPASS_ERROR` enum value to the `error_type` response property for the response status `default`
  - …9 more
- **2026-06-25** `80d23bfdc2e5` — 1 warning
  - added the new `IDEMPOTENCY_ERROR` enum value to the `error_type` response property for the response status `default`
- **2026-06-10** `fb8c3f188d8b` — 1 warning
  - added the new `BASE_REPORT_ERROR` enum value to the `error_type` response property for the response status `default`
- **2025-12-11** `465584b48c99` — 2 info
  - added the optional property `provided_account_subtypes` to the response with the `default` status
  - added the optional property `required_account_subtypes` to the response with the `default` status
- **2025-11-19** `4abee1c56929` — 1 info
  - removed the `IDENTITY_ERROR` enum value from the `error_type` response property for the response status `default`

[Full history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/transfer/migrate_account/post.md)

---

[API](https://skmtc.dev/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.dev/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/revisions/e536704a333f/schema)
