---
title: "Simulate a CRA Servicing report"
method: POST
path: "/sandbox/cra/servicing/simulate"
tags: ["plaid"]
---

# Simulate a CRA Servicing report

`POST /sandbox/cra/servicing/simulate`

Use the `/sandbox/cra/servicing/simulate` endpoint to synchronously seed a CRA Servicing report in the Sandbox environment and return a `report_id` that can be fetched via `/cra/check_report/base_report/get` or `/cra/check_report/income_insights/get`. This endpoint also fires a `CRA_REPORT_UPDATED` webhook, mirroring the notification a live subscription would emit.

## Request body

- SandboxCraServicingSimulateRequest — SandboxCraServicingSimulateRequest defines the request schema for `/sandbox/cra/servicing/simulate`
  - `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.
  - `subscription_id` string, required — The Servicing subscription to simulate an update for. Upon calling this endpoint, Plaid will simulate a report creation for all products referenced by this subscription ID.
  - `options` SandboxCraServicingSimulateRequestOptions, nullable — Optional parameters controlling the simulated report.
    - `transactions_end_date` string, date, nullable — The end of the synthesized transaction window ("the present"), as a YYYY-MM-DD date. Accepts past or future dates up to 180 days ahead; defaults to today. A later value appends newer transactions without churning earlier ones.
    - `error_webhook_code` 'USER_NOT_FOUND' | 'PRODUCT_GENERATION_FAILED' | 'UNMATCH' | 'DATA_UNAVAILABLE' | 'NO_ELIGIBLE_ITEMS_ON_PROFILE', nullable — If set, skip report generation and instead fire a `CRA_REPORT_UPDATED` error webhook carrying this code.

## Response `200`

OK

- SandboxCraServicingSimulateResponse — SandboxCraServicingSimulateResponse defines the response schema for `/sandbox/cra/servicing/simulate`
  - `report_id` string, nullable — The `cra-report` token for the seeded snapshot. Pin as `report_id` on `/cra/check_report/base_report/get` or `/cra/check_report/income_insights/get`. Omitted when `error_webhook_code` was used.
  - `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

---

[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/revisions/e536704a333f/schema)
