---
title: "Refresh or create a Consumer Report"
method: POST
path: "/cra/check_report/create"
tags: ["plaid"]
---

# Refresh or create a Consumer Report

`POST /cra/check_report/create`

Use `/cra/check_report/create` to refresh data in an existing report. A Consumer Report will last for 24 hours before expiring; you should call any `/get` endpoints on the report before it expires. If a report expires, you can call `/cra/check_report/create` again to re-generate it and refresh the data in the report.

## Request body

- CraCheckReportCreateRequest — CraCheckReportCreateRequest defines the request schema for `/cra/check_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 — 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).
  - `user_token` string — The user token associated with the user for which data is being requested. This field is used only by customers with pre-existing integrations that already use the `user_token` field. All other customers should use the `user_id` instead. For more details, see [New User APIs](https://plaid.com/docs/api/users/user-apis).
  - `webhook` string, url, required — The destination URL to which webhooks will be sent
  - `days_requested` integer, required — The number of days of data to request for the report. Default value is 365; 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 — The minimum number of days of data required for the report to be successfully generated.
  - `client_report_id` string, nullable — Client-generated identifier, which can be used by lenders to track loan applications.
  - `products` Products[], nullable — Specifies a list of products to generate when creating the report (in addition to the Base Report, which is always generated). These products will be made available before a success webhook is sent. Note that specifying `cra_partner_insights` in this field will trigger a billable event. Other products are not billed until the respective reports are retrieved via their product-specific `/get` endpoints.
  - `base_report` CraCheckReportCreateBaseReportOptions, nullable — Defines configuration options to generate a Base Report
    - `client_report_id` string, nullable — Client-generated identifier, which can be used by lenders to track loan applications. This field is deprecated. Use the `client_report_id` field at the top level of the request instead.
    - `gse_options` CraCheckReportGSEOptions, nullable — Specifies options for creating reports that can be shared with GSEs for mortgage verification.
      - `report_types` GSEReportType[], required — Specifies which types of reports should be made available to GSEs.
    - `require_identity` boolean, nullable — Indicates that the report must include identity information. If identity information is not available, the report will fail.
    - `home_lending_report_options` CraCheckReportHomeLendingReportOptions, nullable — Options for configuring Home Lending Report (Verification Report) generation.
      - `reports_requested` CraCheckReportVerificationGetReportType[], required — Specifies which types of home lending reports to generate.
      - `employment_refresh_options` CraCheckReportCreateEmploymentRefreshOptions, nullable — Defines configuration options for the Employment Refresh Report.
        - `days_requested` integer, required — The number of days of data to request for the report. This field is required if an Employment Refresh Report is requested. Maximum is 731.
  - `cashflow_insights` CraCheckReportCreateCashflowInsightsOptions, nullable — Defines configuration options to generate Cashflow Insights
    - `attributes_version` 'v1.0' | 'v2.0' | 'CFI1', nullable — The version of cashflow attributes. Required if using Cash Flow Insights.
  - `partner_insights` CraCheckReportCreatePartnerInsightsOptions, nullable — Defines configuration to generate Partner Insights.
    - `prism_versions` PrismVersions, nullable — The versions of Prism products to evaluate
      - `firstdetect` '3' | 'null', nullable — The version of Prism FirstDetect. If not specified, will default to v3.
      - `detect` '4.1' | '4' | 'null', nullable — The version of Prism Detect
      - `cashscore` '4.1' | '4' | '3_lite' | '3' | 'null', nullable — The version of Prism CashScore. If not specified, will default to v3.
      - `extend` '4.1' | '4' | 'null', nullable — The version of Prism Extend
      - `insights` '4.1' | '4' | '3' | 'null', nullable — The version of Prism Insights. If not specified, will default to v3.
    - `fico` CraPartnerInsightsFicoInput, nullable — Configuration for the FICO products used in the Partner Insights product.
      - `fico_lender_id` string, required — ID provided by FICO that uniquely identifies the lender. Required for UltraFICO® score generation. Sometimes referred to as Lender Org ID.
      - `lender_application_id` string, required — Client-generated identifier that uniquely identifies the FICO Application across FICO systems.
      - `ultrafico_score_requests` CraPartnerInsightsUltraFicoScoreRequest[], required — A list of UltraFICO® scoring requests. Each request contains all configuration required to generate an UltraFICO score.
        - `ultrafico_score_version` '1.0', required — The version of the UltraFICO® score.
        - `fico_scoring_request_id` string — FICO identifier for a particular scoring request. Should only be provided by FICO as part of the FICO-led flow.
        - `request_correlation_id` string — Client-generated identifier that can be used to correlate scoring requests with their scoring results.
        - `base_fico_score` CraPartnerInsightsBaseFicoScore, required — Details about the base FICO score associated with an UltraFICO® scoring request.
          - `bureau` 'EQUIFAX' | 'EXPERIAN' | 'TRANSUNION', required — The credit bureau that provided the base FICO score.
          - `score` integer, required — Numeric value of the base FICO score.
          - `reason_codes` string[] — Reason codes associated with the score, in priority order. May contain up to 4 items.
          - `reason_code_1` string, nullable — Deprecated. Use `reason_codes` instead. The first reason code associated with the score.
          - `reason_code_2` string, nullable — Deprecated. Use `reason_codes` instead. The second reason code associated with the score.
          - `reason_code_3` string, nullable — Deprecated. Use `reason_codes` instead. The third reason code associated with the score.
          - `reason_code_4` string, nullable — Deprecated. Use `reason_codes` instead. The fourth reason code associated with the score.
          - `did_inquiries_adversely_affect_score` boolean, nullable — Whether inquiries adversely affected the score but were not represented in one of the four reason codes. Sometimes referred to as the FACTA Flag.
          - `base_fico_score_version` '8' | '9' | '10' | '10T', required — The version of the base FICO score model.
  - `lend_score` CraCheckReportCreateLendScoreOptions, nullable — Defines configuration options to generate the LendScore
    - `lend_score_version` 'v1.0' | 'v2.0' | 'LS1', nullable — The version of the LendScore to use. Required if using LendScore.
  - `network_insights` CraCheckReportCreateNetworkInsightsOptions, nullable — Defines configuration options to generate Network Insights
    - `network_insights_version` 'NI1', nullable — The version of Network Insights. Required if using Network Insights.
  - `include_investments` boolean, nullable — Indicates that investment data should be extracted from the linked account(s).
  - `income_insights` CraCheckReportCreateIncomeInsightsOptions, nullable — Defines configuration options to generate Income Insights.
    - `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.
    - `income_insights_version` 'II2', nullable, required — The version of Income Insights to use. This value is not shared across API calls for the same resource. If it is omitted from a request, the default version is used, even if a version was set in an earlier call such as `/link/token/create` or `/cra/check_report/create`.
  - `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).

## Response `200`

OK

- CraCheckReportCreateResponse — CraCheckReportCreateResponse defines the response schema for `/cra/check_report/create`.
  - `request_id` string — 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

---

[API](https://skmtc.net/plaid/apis/the-plaid-api.md) · [All operations](https://skmtc.net/plaid/apis/the-plaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/versions/64c4514ea59b/schema)
