---
title: "Retrieve a deposit switch"
method: POST
path: "/deposit_switch/get"
tags: ["plaid"]
---

# Retrieve a deposit switch

`POST /deposit_switch/get`

This endpoint returns information related to how the user has configured their payroll allocation and the state of the switch. You can use this information to build logic related to the user's direct deposit allocation preferences.

## Request body

- DepositSwitchGetRequest — DepositSwitchGetRequest defines the request schema for `/deposit_switch/get`
  - `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.
  - `deposit_switch_id` string, required — The ID of the deposit switch

## Response `200`

OK

- DepositSwitchGetResponse — DepositSwitchGetResponse defines the response schema for `/deposit_switch/get`
  - `deposit_switch_id` string, required — The ID of the deposit switch.
  - `target_account_id` string, nullable, required — The ID of the bank account the direct deposit was switched to.
  - `target_item_id` string, nullable, required — The ID of the Item the direct deposit was switched to.
  - `state` 'initialized' | 'processing' | 'completed' | 'error', required — The state, or status, of the deposit switch. - `initialized` – The deposit switch has been initialized with the user entering the information required to submit the deposit switch request. - `processing` – The deposit switch request has been submitted and is being processed. - `completed` – The user's employer has fulfilled the deposit switch request. - `error` – There was an error processing the deposit switch request.
  - `switch_method` 'instant' | 'mail' | 'pdf' | 'null', nullable — The method used to make the deposit switch. - `instant` – User instantly switched their direct deposit to a new or existing bank account by connecting their payroll or employer account. - `mail` – User requested that Plaid contact their employer by mail to make the direct deposit switch. - `pdf` – User generated a PDF or email to be sent to their employer with the information necessary to make the deposit switch.'
  - `account_has_multiple_allocations` boolean, nullable, required — When `true`, user’s direct deposit goes to multiple banks. When false, user’s direct deposit only goes to the target account. Always `null` if the deposit switch has not been completed.
  - `is_allocated_remainder` boolean, nullable, required — When `true`, the target account is allocated the remainder of direct deposit after all other allocations have been deducted. When `false`, user’s direct deposit is allocated as a percent or amount. Always `null` if the deposit switch has not been completed.
  - `percent_allocated` number, double, nullable, required — The percentage of direct deposit allocated to the target account. Always `null` if the target account is not allocated a percentage or if the deposit switch has not been completed or if `is_allocated_remainder` is true.
  - `amount_allocated` number, double, nullable, required — The dollar amount of direct deposit allocated to the target account. Always `null` if the target account is not allocated an amount or if the deposit switch has not been completed.
  - `employer_name` string, nullable — The name of the employer selected by the user. If the user did not select an employer, the value returned is `null`.
  - `employer_id` string, nullable — The ID of the employer selected by the user. If the user did not select an employer, the value returned is `null`.
  - `institution_name` string, nullable — The name of the institution selected by the user. If the user did not select an institution, the value returned is `null`.
  - `institution_id` string, nullable — The ID of the institution selected by the user. If the user did not select an institution, the value returned is `null`.
  - `date_created` string, date, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date the deposit switch was created.
  - `date_completed` string, date, nullable, required — [ISO 8601](https://wikipedia.org/wiki/ISO_8601) date the deposit switch was completed. Always `null` if the deposit switch has not been completed.
  - `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.

## Changes

- **2024-02-21** `5de70cc1e6ca` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/deposit_switch/get/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/a5b45bccb4e8/schema)
