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

# Create a Consumer Report

`POST /cra/check_report/create`

`/cra/check_report/create` creates a Consumer Report powered by Plaid Check. You can call this endpoint to create a new report if `consumer_report_permissible_purpose` was omitted during Link token creation. If you did provide a `consumer_report_permissible_purpose` during Link token creation, then Plaid Check will automatically begin creating a Consumer Report once the user completes the Link process, and it is not necessary to call `/cra/check_report/create` before retrieving the report.

 `/cra/check_report/create` can also be used 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. Note that refreshing or regenerating a report is a billable event.

## 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_token` string, required — The user token associated with the User data is being requested for.
  - `webhook` string, 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 that will be eagerly generated when creating the report (in addition to the Base Report, which is always eagerly generated). These products will be made available before a success webhook is sent. Use this option to minimize response latency for product `/get` endpoints. Note that specifying `cra_partner_insights` in this field will trigger a billable event. Other products are not billed until the respective reports are fetched via 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.
  - `cashflow_insights` CraCheckReportCashflowInsightsGetOptions, nullable — Defines configuration options to generate Cashflow Insights
    - `plaid_check_score_version` 'v1.0' | 'v2.0', nullable — The version of the Plaid Check Score
    - `attributes_version` 'v1.0', nullable — The version of cashflow attributes
  - `partner_insights` CraCheckReportPartnerInsightsGetOptions, nullable — Defines configuration options to generate Partner Insights
    - `prism_products` PrismProduct[] — The specific Prism Data products to return. If none are passed in, then all products will be returned.
    - `prism_versions` PrismVersions, nullable — The versions of Prism products to evaluate
      - `firstdetect` string, nullable — The version of Prism FirstDetect. If not specified, will default to v3.
      - `cashscore` string, nullable — The version of Prism CashScore. If not specified, will default to v3.
      - `insights` string, nullable — The version of Prism Insights. If not specified, will default to v3.
  - `consumer_report_permissible_purpose` 'ACCOUNT_REVIEW_CREDIT' | 'ACCOUNT_REVIEW_NON_CREDIT' | 'EMPLOYMENT' | 'EXTENSION_OF_CREDIT' | 'LEGITIMATE_BUSINESS_NEED_TENANT_SCREENING' | 'LEGITIMATE_BUSINESS_NEED_OTHER' | 'WRITTEN_INSTRUCTION_PREQUALIFICATION' | 'WRITTEN_INSTRUCTION_OTHER', required — Describes the reason you are generating a Consumer Report for this user. `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). `EMPLOYMENT`: For employment purposes pursuant to FCRA 604(a)(3)(B), including hiring, retention and promotion purposes. `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.

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

## Changes

- **2025-05-21** `5eae3158bbfc` — 1 info
  - added the new `protect_linked_bank` enum value to the request property `products/items/`
- **2025-03-26** `09cbc8444913` — 1 breaking, 4 info
  - request property `cashflow_insights/plaid_check_score_version` was restricted to a list of enum values
  - added the new optional request property `client_report_id`
  - request property `base_report/client_report_id` deprecated
  - added the new `v1.0` enum value to the request property `cashflow_insights/plaid_check_score_version`
  - …1 more
- **2025-01-31** `0bfab7b15662` — 4 info
  - added the new optional request property `base_report`
  - added the new optional request property `cashflow_insights`
  - added the new optional request property `partner_insights`
  - added the new optional request property `products`
- **2024-11-14** `b0263533029b` — 1 info
  - added the new optional request property `days_required`
- **2024-10-09** `36052f62cce1` — 1 warning
  - removed the request property `products`

[Full history](https://skmtc.dev/plaid/apis/the-plaid-api/changes/cra/check_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-service-production.skmtc.workers.dev/v1/apis/plaid/the-plaid-api/revisions/5eae3158bbfc/schema)
