> ## 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.

# About Customer Due Diligence

> Customer Due Diligence (CDD) is an anti-fraud measure required by US banks when opening a Demand Deposit Account in order to accurately monitor transactions and learn more about account holders.

Customer Due Diligence (CDD) is a part of the Know Your Customer (KYC) process and occurs after a person’s identity has been verified under a Customer Identification Program (CIP). Banks in the United States require their customers to answer CDD questions primarily as an anti-fraud, anti-financial crime, and anti-money laundering measure—CDD data is helpful when monitoring transactions and looking for abnormal patterns to flag—but the answers to these questions are also a way for the banks to know their customers better. CDD only applies to individual consumers, not to businesses.

Although CDD information is personal and must be kept secure, handling it does not require compliance with the Payment Card Industry Data Security Standard (PCI DSS). You must, however, comply with privacy laws.

<Note>
  **Note**\
  The CDD questions discussed in this guide pertain to the `/depositaccounts` endpoint and are just one element of a larger, overarching account opening process you must complete. Contact your Marqeta representative for details.
</Note>

<h2 id="_cdd_questions">
  CDD questions
</h2>

The following mandatory multiple-choice CDD questions are typically asked by US banks only as part of opening a consumer Demand Deposit Account (DDA) of type `CHECKING`, and not of any other account type:

* How much do you expect to deposit each month?

* What best describes you professionally?

These questions and answers are specific to each bank, but tend to be very similar across institutions.

Banks can elect to change the type and number of CDD questions at any time, as part of their risk profiling and anti-money laundering policies. Account holders are allowed to change their answers as their employment and personal circumstances evolve.

The Marqeta platform stores the numeric answer ID values of the CDD questions, not the description (as shown in the table below). Banks only receive the ID value in the bank files submitted to them by Marqeta, not the description. As such, you are free to make minimal edits to the descriptions for the various expected monthly deposits and employment classifications at your discretion. Any changes you do make, however, are subject to approval by Marqeta as part of the collateral review process during onboarding. Contact your Marqeta representative for more information.

<h3 id="_question_1_expected_monthly_deposits">
  Question 1 — Expected monthly deposits
</h3>

The average expected monthly deposit values are used to gain insight into how the account holder plans to use the DDA once opened.

**How much do you expect to deposit each month?**

| Answer ID | Description                                       |
| --------- | ------------------------------------------------- |
| 1         | \$2,000 and under                                 |
| 2         | \$2,000.01 or more, but no greater than \$10,000  |
| 3         | \$10,000.01 or more, but no greater than \$20,000 |
| 4         | Over \$20,000                                     |

<h3 id="_question_2_employment_classification">
  Question 2 — Employment classification
</h3>

The following codes from the North American Industry Classification System (NAICS) categorize various types of employment by industry group.

**What best describes you professionally?**

| Answer ID | Description                                |
| --------- | ------------------------------------------ |
| 814       | No income                                  |
| 111       | Agriculture                                |
| 5412      | Finance and insurance                      |
| 531       | Real estate                                |
| 23        | Construction/manufacturing                 |
| 62        | Healthcare services, not including doctors |
| 6211      | Medical/animal doctors                     |
| 6241      | Education and child services               |
| 5413      | Architect/engineer                         |
| 5511      | Business management                        |
| 8121      | Personal care services                     |
| 9281      | Military                                   |
| 92        | Government and public services employee    |
| 5411      | Legal services                             |
| 48        | Transportation                             |
| 7211      | Hospitality                                |
| 4411      | Automotive services                        |
| 5614      | Business support services                  |
| 4483      | Commodities sales                          |
| 8131      | Religious organizations                    |
| 81        | Other                                      |

<h3 id="_cdd_data_object">
  CDD data object
</h3>

The object containing CDD data (`customer_due_diligence`, shown below) is optional when creating a deposit account because CDD is only required for accounts whose `type` parameter is set to `CHECKING`, and not for any other account type.

```json JSON lines wrap theme={null}
"customer_due_diligence": [
  {
    "question": "dda_002_cdd_01_expmondep",
    "answer": "2"
  },
  {
    "question": "dda_002_cdd_02_naics",
    "answer": "6241",
  }
]
```

<h2 id="_working_with_cdd_information">
  Working with CDD information
</h2>

For detailed information on these endpoints, see [Deposit Accounts](/core-api/deposit-accounts/) in the Core API Reference.

<h3 id="_collecting_initial_cdd_information_for_a_dda_account">
  Collecting initial CDD information for a DDA account
</h3>

The Marqeta platform does not provide a separate `POST` endpoint for collecting customer due diligence information from an account holder because the CDD data is sent in the `POST` body of the deposit account creation request, along with the other fields. Once received by the Marqeta platform, however, the CDD information is extracted and stored separately.

To collect the initial CDD information from your customer, use your browser-based application to display each multiple-choice question as part of the application flow. Have the CDD question names and the customer’s answer ID values ready when you create the new consumer DDA.

Creating a consumer DDA is straightforward: simply [create a new deposit account](/core-api/deposit-accounts/#_create_deposit_account) and ensure that the `type` parameter is set to `CHECKING`. Bear in mind that a `user_token` that has successfully passed [KYC verification](/developer-guides/about-kyc/) is required in order to create the DDA.

<h3 id="_viewing_an_account_holders_cdd_information">
  Viewing an account holder’s CDD information
</h3>

To view an account holder’s CDD information, first [look up the user by deposit account number](/core-api/deposit-accounts/#_look_up_user_by_deposit_account_number) by sending a `POST` request to the `/depositaccounts/account/user` endpoint. This returns a user object that includes the user `token`.

Next, [list the user’s deposit accounts](/core-api/deposit-accounts/#_list_deposit_accounts) by sending a `GET` request to the `/depositaccounts/user/{token}` endpoint, and identify the deposit account `token` for the relevant DDA.

Then use that deposit account token to make a `GET` request to the `/depositaccounts/{account_token}/cdd` endpoint. An array containing the account holder’s current CDD information is returned in the response body:

```json JSON lines wrap theme={null}
{
  "customer_due_diligence_list": [
    {
      "question": "dda_002_cdd_01_expmondep",
      "answer": "2",
      "type": "CHECKING",
        "bank": "BankName",
        "token": "e691a7ae-f9ae-4184-a2e9-cf6bbc963e4a",
        "account_token": "1bb17a10-8d12-442b-95c0-1babd9a78f92"
    },
    {
      "question": "dda_002_cdd_02_naics",
      "answer": "6241",
      "type": "CHECKING",
      "bank": "BankName",
      "token": "e509fb2f-f55f-48de-a226-5456c6c78dd4",
      "account_token": "1bb17a10-8d12-442b-95c0-1babd9a78f92"
    }
  ]
}
```

<h3 id="_updating_existing_cdd_information">
  Updating existing CDD information
</h3>

Each CDD question/answer pair is assigned a unique `token`, which is how you can update individual questions for an account holder. For this reason, each CDD question must be updated separately; you cannot update multiple questions in a single request. In contrast, both CDD questions share the same `account_token` value because they apply to the same DDA.

To update an account holder’s CDD information, first [look up the user by deposit account number](/core-api/deposit-accounts/#_look_up_user_by_deposit_account_number) by sending a `POST` request to the `/depositaccounts/account/user` endpoint. This returns a user object that includes the user `token`.

Next, [list the user’s deposit accounts](/core-api/deposit-accounts/#_list_deposit_accounts) by sending a `GET` request to the `/depositaccounts/user/{token}` endpoint, and identify the deposit account `token` for the relevant DDA.

Then [retrieve the CDD token](/core-api/deposit-accounts/#_retrieve_customer_due_diligence_information) of the question you want to update by sending a `GET` request to the `/depositaccounts/{account_token}/cdd` endpoint. The CDD token is referred to as the `token` in the response.

In the example below, the current answer to the first question (expected monthly deposits) is `2`.

```json JSON lines wrap theme={null}
{
  "customer_due_diligence_list": [
    {
      "question": "dda_002_cdd_01_expmondep",
      "answer": "2",
      "type": "CHECKING",
      "bank": "BankName",
      "token": "e691a7ae-f9ae-4184-a2e9-cf6bbc963e4a",
      "account_token": "1bb17a10-8d12-442b-95c0-1babd9a78f92"
    },
    {
      "question": "dda_002_cdd_02_naics",
      "answer": "6241",
      "type": "CHECKING",
      "bank": "BankName",
      "token": "e509fb2f-f55f-48de-a226-5456c6c78dd4",
      "account_token": "1bb17a10-8d12-442b-95c0-1babd9a78f92"
    }
  ]
}
```

Now send a `PUT` request to the `/depositaccounts/{account_token}/cdd/{cdd_token}` endpoint with the updated answer to the appropriate CDD question, identified by `token` in the sample above (`e691a7ae-f9ae-4184-a2e9-cf6bbc963e4a`). In the following request, the value of the `answer` field is updated from `2` to `4`:

```json JSON lines wrap theme={null}
{
  "answer": "4"
}
```

The response body returned will resemble the following (note the updated value of the `answer` field):

```json JSON lines wrap theme={null}
{
  "question": "dda_002_cdd_01_expmondep",
  "answer": "4",
  "type": "CHECKING",
  "bank": "pathward",
  "token": "e691a7ae-f9ae-4184-a2e9-cf6bbc963e4a",
  "account_token": "1bb17a10-8d12-442b-95c0-1babd9a78f92"
}
```

The Marqeta platform validates that the updated answer provided is appropriate for the CDD question. For example, an account holder cannot answer "real estate" (answer ID `531`) to the CDD question about expected monthly deposits.


## Related topics

- [Account Holders Overview](/docs/developer-guides/account-holders-landing-page.md)
- [Deposit Accounts](/docs/core-api/deposit-accounts.md)
- [2021 Release Notes](/docs/developer-guides/release-notes-2021.md)
- [Errors](/docs/core-api/errors.md)
- [Building Your Managed By Marqeta Card Program](/docs/developer-guides/building-your-managed-card-program.md)
