---
title: "Create a CRA Report for provided user"
method: POST
path: "/cra/report/create"
tags: ["plaid"]
---

# Create a CRA Report for provided user

`POST /cra/report/create`

`/cra/report/create` generates a CRA Report for a user from the Items associated with that user.

Each requested product is generated asynchronously. Use the returned `report_id` to retrieve the report once its products are ready.

## Request body

- CraReportCreateRequest — CraReportCreateRequest defines the request schema for `/cra/report/create`.
  - `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.
  - `user_id` string, required — A unique user identifier, created by `/user/create`. Integrations that began using `/user/create` after December 10, 2025 use this field to identify a user instead of the `user_token`. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).
  - `products` CraReportProduct[], required — The Plaid Check products, versions, and options to generate for the report.
    - union — A Plaid Check product and version to generate for the report, with the options that apply to that product, selected by the `product` field.
      - CraReportCreateBaseReportProductConfig — Requests the given version of the Base Report product, optionally configuring how it is generated.
        - `product` 'cra_base_report', required — Set to `cra_base_report` to request the Base Report product.
        - `version` string, required — A string that specifies a particular version of a CRA product.
        - `options` CraReportCreateBaseReportOptions, nullable — Configures how the Base Report product is generated.
          - `require_identity` boolean, nullable — Require the report to include identity information. If identity information is not available, report generation fails.
      - CraReportCreateCashflowInsightsProductConfig — Requests the given version of the Cashflow Insights product. Cashflow Insights accepts no additional configuration today.
        - `product` 'cra_cashflow_insights', required — Set to `cra_cashflow_insights` to request the Cashflow Insights product.
        - `version` string, required — A string that specifies a particular version of a CRA product.
      - CraReportCreateHomeLendingProductConfig — Requests the given version of the Home Lending product, optionally configuring how it is generated.
        - `product` 'cra_home_lending', required — Set to `cra_home_lending` to request the Home Lending product.
        - `version` string, required — A string that specifies a particular version of a CRA product.
        - `options` CraReportCreateHomeLendingOptions, nullable — Configures how the Home Lending product is generated.
          - `reports_requested` CraReportCreateHomeLendingReportType[], required — The home lending reports to generate.
          - `employment_refresh_options` CraReportCreateEmploymentRefreshOptions, nullable — Configures the Employment Refresh report.
            - `days_requested` integer, required — The number of days of data to request for the Employment Refresh report. Maximum is 731.
      - CraReportCreateIncomeInsightsProductConfig — Requests the given version of the Income Insights product, optionally configuring how it is generated.
        - `product` 'cra_income_insights', required — Set to `cra_income_insights` to request the Income Insights product.
        - `version` string, required — A string that specifies a particular version of a CRA product.
        - `options` CraReportCreateIncomeInsightsOptions, nullable — Configures how the Income Insights product is generated.
          - `income_insights_filter` IncomeInsightsFilter, nullable — Filters the returned income streams based on the specified income categories. If no filters are requested, streams from the following default set of categories are returned: - `EARNED_INCOME.*` (`EARNED_INCOME.SALARY`, `EARNED_INCOME.GIG_ECONOMY`, `EARNED_INCOME.SELF_EMPLOYED`) - `BENEFITS.DISABILITY` - `RETIREMENT.*` (`RETIREMENT.GOVERNMENT_DERIVED`, `RETIREMENT.PRIVATE_RETIREMENT`, `RETIREMENT.PLAN_DISTRIBUTION`) The final list of income categories is generated by adding the `included_categories`, then removing the `excluded_categories`. Priority is given to `excluded_categories` in the case of collisions. Filter patterns supported: - `*`: All categories - `PRIMARY.*`: All categories within the specified primary category - `PRIMARY.SECONDARY`: A specific income category For a list of income categories, see the [Income V2 Category Taxonomy](https://plaid.com/documents/income-v2-category-taxonomy.csv).
            - `included_categories` string[], required — Includes income streams matching the specified categories.
            - `excluded_categories` string[] — Excludes income streams matching the specified categories.
      - CraReportCreateLendScoreProductConfig — Requests the given version of the LendScore product. LendScore accepts no additional configuration today.
        - `product` 'cra_lend_score', required — Set to `cra_lend_score` to request the LendScore product.
        - `version` string, required — A string that specifies a particular version of a CRA product.
      - CraReportCreateNetworkInsightsProductConfig — Requests the given version of the Network Insights product. Network Insights accepts no additional configuration today.
        - `product` 'cra_network_insights', required — Set to `cra_network_insights` to request the Network Insights product.
        - `version` string, required — A string that specifies a particular version of a CRA product.
      - CraReportCreateQualifyProductConfig — Requests the given version of the Qualify product. Qualify accepts no additional configuration today.
        - `product` 'cra_qualify', required — Set to `cra_qualify` to request the Qualify product.
        - `version` string, required — A string that specifies a particular version of a CRA product.
  - `scope` 'PLAID_NETWORK' | 'CLIENT_USER' — Determines whose items are used. `PLAID_NETWORK` (default) uses the Plaid Network view of the user's profile. `CLIENT_USER` uses only the items linked by this client.
  - `decision_stage` 'PREQUALIFICATION' | 'DECISIONING' | 'SERVICING', required — The stage in the lending lifecycle that the report is for.
  - `consumer_report_permissible_purpose` 'ACCOUNT_REVIEW_CREDIT' | 'ACCOUNT_REVIEW_NON_CREDIT' | 'EXTENSION_OF_CREDIT' | 'LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING' | 'LEGITIMATE_BUSINESS_NEED_OTHER' | 'WRITTEN_INSTRUCTION_PREQUALIFICATION' | 'WRITTEN_INSTRUCTION_OTHER' | 'ELIGIBILITY_FOR_GOVT_BENEFITS', required — Describes the reason you are generating a Consumer Report for this user. When calling `/link/token/create`, this field is required when using Plaid Check (CRA) products; invalid if not using Plaid Check (CRA) products. `ACCOUNT_REVIEW_CREDIT`: In connection with a consumer credit transaction for the review or collection of an account pursuant to FCRA Section 604(a)(3)(A). `ACCOUNT_REVIEW_NON_CREDIT`: For a legitimate business need of the information to review a non-credit account provided primarily for personal, family, or household purposes to determine whether the consumer continues to meet the terms of the account pursuant to FCRA Section 604(a)(3)(F)(2). `EXTENSION_OF_CREDIT`: In connection with a credit transaction initiated by and involving the consumer pursuant to FCRA Section 604(a)(3)(A). `LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING`: For a legitimate business need in connection with a business transaction initiated by the consumer primarily for personal, family, or household purposes in connection with a property rental assessment pursuant to FCRA Section 604(a)(3)(F)(i). `LEGITIMATE_BUSINESS_NEED_OTHER`: For a legitimate business need in connection with a business transaction made primarily for personal, family, or household initiated by the consumer pursuant to FCRA Section 604(a)(3)(F)(i). `WRITTEN_INSTRUCTION_PREQUALIFICATION`: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), to evaluate an application's profile to make an offer to the consumer. `WRITTEN_INSTRUCTION_OTHER`: In accordance with the written instructions of the consumer pursuant to FCRA Section 604(a)(2), such as when an individual agrees to act as a guarantor or assumes personal liability for a consumer, business, or commercial loan. `ELIGIBILITY_FOR_GOVT_BENEFITS`: In connection with an eligibility determination for a government benefit where the entity is required to consider an applicant's financial status pursuant to FCRA Section 604(a)(3)(D).
  - `client_report_id` string, nullable — Client-generated identifier, which can be used by lenders to track loan applications.
  - `days_requested` integer, nullable — The number of days of history to include in Plaid Check products. Maximum is 731; minimum is 180. If a value lower than 180 is provided, a minimum of 180 days of history will be requested.
  - `days_required` integer, nullable — The minimum number of days of data required for the report to be successfully generated.
  - `include_investments` boolean, nullable — Indicates that investment data should be extracted from the linked account(s).
  - `webhook` string, url — The destination URL to which the report's webhooks will be sent.

## Response `200`

OK

- CraReportCreateResponse — CraReportCreateResponse defines the response schema for `/cra/report/create`.
  - `report_id` string, required — The identifier of the report being generated. Use it to retrieve the report once its products are ready.
  - `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.

## Other responses

- `default` — Error response

## Changes

- **2026-10-02** `e07a869352e8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/cra/report/create/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.dev/plaid/apis/the-plaid-api/revisions/e07a869352e8?raw)
