{"article":{"id":36324480043927,"url":"https://plaid.zendesk.com/api/v2/help_center/en-us/articles/36324480043927.json","html_url":"https://support.plaid.com/hc/en-us/articles/36324480043927-What-is-the-average-latency-for-a-Consumer-Report-and-how-do-I-troubleshoot-timeouts","author_id":5390778350871,"comments_disabled":false,"draft":false,"promoted":false,"position":0,"vote_sum":0,"vote_count":0,"section_id":36311990432791,"created_at":"2025-11-13T22:16:15Z","updated_at":"2026-06-03T17:13:08Z","name":"What is the average latency for a Consumer Report, and how do I troubleshoot timeouts?","title":"What is the average latency for a Consumer Report, and how do I troubleshoot timeouts?","source_locale":"en-us","locale":"en-us","outdated":false,"outdated_locales":[],"edited_at":"2026-06-03T17:13:08Z","user_segment_id":null,"permission_group_id":1121794,"content_tag_ids":[],"label_names":[],"body":"<p>This article explains how Consumer Report generation latency works, what to expect under normal conditions, and how to avoid common causes of delays and timeouts.</p>\n<p>Under typical conditions, CRA report generation has a P50 latency of about 10 seconds. This means about half of reports complete at or below 10 seconds in normal operation.</p>\n<p>CRA report generation time depends on several factors in your flow and data. A frequent driver is how a user token is configured and used during report creation. If too many items are linked to a single user token, end-to-end processing can slow down and may eventually hit timeouts.</p>\n<h3>Best practices to minimize latency and avoid timeouts</h3>\n<p>Follow these guidelines to keep performance consistent and reduce the risk of timeouts:</p>\n<ul>\n<li>Keep your user token lean. Avoid linking an excessive number of items to the same token, especially in production flows where you need predictable performance.</li>\n<li>Request only the CRA products you need in a given flow. Unnecessary work increases processing time without adding value.</li>\n<li>In testing, prefer Plaid-provided sandbox users over large custom JSON payloads. Overstuffed custom users can simulate atypically large data sets that increase latency and cause timeouts.</li>\n<li>Monitor your application’s webhook handling. Use <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">USER_CHECK_REPORT_READY</code> to proceed when the report is finished and <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">USER_CHECK_REPORT_FAILED</code> to handle failures or retries gracefully. (Legacy integrations may still receive <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">CHECK_REPORT_READY</code> / <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">CHECK_REPORT_FAILED</code>; new integrations should listen for the <code style=\"border:none;background:#f1f3f5;padding:1px 4px;border-radius:3px;font-size:0.9em;\">USER_*</code> variants.) This ensures a responsive user experience even when report generation takes longer than average.</li>\n</ul>\n<h3>Troubleshooting checklist</h3>\n<p>If you’re observing elevated latency or sporadic timeouts:</p>\n<ul>\n<li>Review how many items are linked to the affected user token; reduce where possible.</li>\n<li>Confirm you’re only generating the products required for the current use case.</li>\n<li>Re-test with Plaid’s standard sandbox users to rule out test data that’s unusually large or complex.</li>\n<li>Ensure your webhook and retry logic is robust so your app remains responsive while the report completes.</li>\n</ul>","user_segment_ids":[]}}