Skip to main content
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
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.

CDD questions

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.

Question 1 — Expected monthly deposits

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 IDDescription
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
4Over $20,000

Question 2 — Employment classification

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

CDD data object

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
"customer_due_diligence": [
  {
    "question": "dda_002_cdd_01_expmondep",
    "answer": "2"
  },
  {
    "question": "dda_002_cdd_02_naics",
    "answer": "6241",
  }
]

Working with CDD information

For detailed information on these endpoints, see Deposit Accounts in the Core API Reference.

Collecting initial CDD information for a DDA account

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 and ensure that the type parameter is set to CHECKING. Bear in mind that a user_token that has successfully passed KYC verification is required in order to create the DDA.

Viewing an account holder’s CDD information

To view an account holder’s CDD information, first look up the 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 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
{
  "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"
    }
  ]
}

Updating existing CDD information

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 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 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 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
{
  "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
{
  "answer": "4"
}
The response body returned will resemble the following (note the updated value of the answer field):
JSON
{
  "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.