> ## Documentation Index
> Fetch the complete documentation index at: https://www.marqeta.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Create deposit account

> Creates a new deposit account for a user or business.

POST/depositaccounts

Creates a new deposit account for a user or business.

Before you can create a new deposit account, the associated user must successfully pass KYC. (You can also set the `manual_override` field of `POST /kyc` to `true` in the event that you performed the verification through another mechanism, such as with an alternative KYC provider or directly with the account holder). For more information, see [About KYC Verification](https://www.marqeta.com/docs/developer-guides/about-kyc.md).

An active, issued card—at either the parent or the child level—is required before creating an account with the `type` field set to `DEPOSIT_ACCOUNT`. In contrast, you can create an account without an issued card when the `type` field is set to `CHECKING`; however, you must issue and activate a card before the checking account can be used to transact.

> [!NOTE]
>
> **Note**\
> Each cardholder is limited to five deposit accounts, including any accounts in the `ACTIVE` or `SUSPENDED` state. Contact your Marqeta representative if you need to raise this value.

## Request body

| Fields | Description |
| - | - |
| token string  Optional | Unique identifier of the deposit account. If you do not include a token, the system will generate one automatically. This token is necessary for use in other calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated. **Allowable Values:**  36 char max |
| user\_token OR business\_token string  Required | User or business for which to create the deposit account. Pass either a `user_token` or `business_token`. Performs a non-case-sensitive match. **Allowable Values:**  Existing user or business token. **NOTE:** If you pass a business token here, you can only create a `DEPOSIT_ACCOUNT`, and not a `CHECKING` account. See the `type` field below for details. |
| type string  Optional | Type of deposit account being created. **Allowable Values:**  - `DEPOSIT_ACCOUNT`: An ACH account that supports automatic direct deposit transactions. Reserved for prepaid card programs.  - `CHECKING`: A consumer Demand Deposit Account (DDA) offering features typically associated with checking accounts. **Default value:** `DEPOSIT_ACCOUNT` **NOTE:** This field is not returned in the response. |
| customer\_due\_diligence array of objects  Conditionally required | Array containing Customer Due Diligence (CDD) data associated with the account holder specified by `user_token`. Required when the `type` field is set to `CHECKING`. For details, see [About Customer Due Diligence](https://www.marqeta.com/docs/developer-guides/about-customer-due-diligence.md). **Allowable Values:**  Array of objects with valid CDD question/answer pairs, as described in [CDD Data Object](https://www.marqeta.com/docs/developer-guides/about-customer-due-diligence.md#_cdd_data_object). |

## Response body

| Fields | Description |
| - | - |
| account\_number string  Returned | Account number assigned to the deposit account. **Allowable Values:**  13-17 char max, depending on the program. |
| routing\_number string  Returned | Routing number assigned to the deposit account. **Allowable Values:**  9 char max |
| token string  Returned | Unique identifier of the deposit account. **Allowable Values:**  36 char max |
| user\_token OR business\_token string  Returned | User or business to whom the deposit account belongs. **Allowable Values:**  36 char max |
| state string  Returned | Status of the deposit account. **Allowable Values:**  `ACTIVE` |
| type string  Returned | Type of deposit account created. **Allowable Values:**  `DEPOSIT_ACCOUNT`, `CHECKING` |
| created\_time string  Returned | Date and time when the deposit account was created. **Allowable Values:**  Format: yyyy-MM-dd'T'HH:mm:ssZ |
| last\_modified\_time string  Returned | Date and time when the deposit account was last modified. **Allowable Values:**  Format: yyyy-MM-dd'T'HH:mm:ssZ |

## Sample request body

```json JSON lines wrap theme={null}
{
  "user_token": "bd6772dc-3ab9-4014-8ef1-fa0843bf5d0d",
  "type": "CHECKING",
  "customer_due_diligence": [
    {
      "question": "dda_002_cdd_01_expmondep",
      "answer": "2"
    },
    {
      "question": "dda_002_cdd_02_naics",
      "answer": "6241"
    }
  ]
}
```

## Sample response body

```json JSON lines wrap theme={null}
{
  "account_number": "2401870493365",
  "routing_number": "041285663",
  "token": "b28fc1c9-d0b7-452c-9e88-4d17099114c3",
  "user_token": "bd6772dc-3ab9-4014-8ef1-fa0843bf5d0d",
  "state": "ACTIVE",
  "type": "CHECKING",
  "created_time": "2020-12-08T00:12:59Z",
  "last_modified_time": "2020-12-08T00:12:59Z"
}
```


## Related topics

- [Create deposit account](https://www.marqeta.com/docs/core-api/deposit-accounts-v4/create-deposit-account-v4.md)
- [Create deposit account transition](https://www.marqeta.com/docs/core-api/deposit-accounts-v3/account-transitions-v3/create-deposit-account-transition.md)
- [Deposit Accounts v3 Overview](https://www.marqeta.com/docs/core-api/deposit-accounts-v3.md)
- [Deposit Accounts v4 Overview](https://www.marqeta.com/docs/core-api/deposit-accounts-v4.md)
- [Deposit Account Transitions (v3) Overview](https://www.marqeta.com/docs/core-api/deposit-accounts-v3/account-transitions-v3.md)
