---
title: "Create a bank account from a plaid processor token"
method: POST
path: "/v1/plaid/processor_token"
tags: ["Bank Accounts"]
---

# Create a bank account from a plaid processor token

`POST /v1/plaid/processor_token`

This endpoint creates a new **verified** bank account by using a plaid processor token to retrieve its information.

> 📘
> To create a token please use the [plaid api](https://plaid.com/docs/api/processors/#processortokencreate) and select "gusto" as processor.

> 🚧 Warning - Company Bank Accounts
>
> If a default company bank account exists, it will be disabled and the new bank account will replace it as the company's default funding method.

scope: `plaid_processor:write`

## Headers

- `X-Gusto-API-Version` '2026-06-15'

## Request body

- PlaidProcessorTokenRequest — Request body for creating a verified company bank account from a Plaid processor token.
  - `owner_type` 'Company', required — The owner type of the bank account
  - `owner_id` string, required — The owner UUID of the bank account
  - `processor_token` string, required — The Plaid processor token

## Response `201`

A JSON object containing bank information

- CompanyBankAccount — The company bank account
  - `uuid` string, required — UUID of the bank account
  - `company_uuid` string — UUID of the company
  - `account_type` 'Checking' | 'Savings' — Bank account type
  - `routing_number` string — The bank account's routing number
  - `hidden_account_number` string — Masked bank account number
  - `verification_status` 'awaiting_deposits' | 'ready_for_verification' | 'verified' — The verification status of the bank account. 'awaiting_deposits' means the bank account is just created and money is being transferred. 'ready_for_verification' means the micro-deposits are completed and the verification process can begin by using the verify endpoint. 'verified' means the bank account is verified.
  - `verification_type` 'bank_deposits' | 'plaid' | 'plaid_external' — The verification type of the bank account. 'bank_deposits' means the bank account is connected by entering routing and accounting numbers and verifying through micro-deposits. 'plaid' means the bank account is connected through Plaid.
  - `plaid_status` 'connected' | 'disconnected', nullable — The Plaid connection status of the bank account. Only applies when verification type is Plaid.
  - `last_cached_balance` string, nullable — The last fetch balance for the bank account. Please be aware that this amount does not reflect the most up-to-date balance and only applies when the verification type is Plaid.
  - `balance_fetched_date` string, nullable — The balance fetch date associated with the last_cached_balance. Only applies when verification type is Plaid.
  - `name` string — Name of bank account
  - `reverse_wire_enabled` boolean, nullable — Whether the company has at least one bank account with active reverse-wire funding. The same value is returned on every bank-account row in this response.

## Other responses

- `404` — Not Found The requested resource does not exist. Make sure the provided UUID is valid.
- `422` — Unprocessable Entity This may happen when the body of your request contains errors such as `invalid_attribute_value`, or the request fails due to an `invalid_operation`. See the [Errors Categories](https://docs.gusto.com/embedded-payroll/docs/error-categories) guide for more details.

---

[API](https://skmtc.net/gusto/apis/gusto-api.md) · [All operations](https://skmtc.net/gusto/apis/gusto-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gusto/gusto-api/revisions/826dfa57fb3b/schema)
