Skip to content

Testing

We don’t run a separate sandbox. Our pipeline is tightly integrated with Jira (Atlassian Cloud), which has no staging analog — a standalone sandbox wouldn’t faithfully mirror production. Instead, you test against production with the built-in test flag: set "is_test": true in the case JSON you send to POST /api/v1/partner/cases/create/.

Terminal window
curl -X POST https://api.redfolderresearch.com/api/v1/partner/cases/create/ \
-H "Authorization: Token <your_token>" \
-F 'case={"case_type":"pe","is_test":true,"plaintiff_name":"Jane Smith","date_of_loss":"2026-06-20","base_product":["personal_auto_policy_existence"],"search_reason":["defendant_insurance_unknown"],"is_incident_report_provided":false,"is_user_agreeing_to_all_terms_and_conditions":true,"should_exclude_other_insurance_from_search":false,"cc_emails":"paralegal@lawfirm.com","defendant_information":{"first_name":"John","last_name":"Doe","address":"123 Main St","city":"Boise","state_or_province":"ID","postal_or_zip_code":"83702"}}' \
-F "files=@police_report.pdf" \
-F "labels=incident_report"

The flag — not a separate environment — decides behavior:

A test case does NOT A test case DOES
Get invoiced — invoice creation is blocked in code for test cases Run the same validation and return the same 400 messages as a real case
Fire outbound webhooks — suppression is unconditional for test cases Accept file uploads and support status polling with identical response shapes
Enter live research — it is tagged TEST and routed out of the live research workflow Appear in our production systems (inert, but visible to our staff)

When you’re ready to go live, drop the flag (or set it false) — the same payload becomes a real case.

Because webhook suppression is unconditional, is_test exercises submission, validation, upload, and polling — not webhook delivery. To validate your webhook handler, contact us: we can fire a sample webhook (synthetic payload, any event type you choose) at your endpoint. To validate your results handling, we can push a sample result onto a test case for you to fetch via GET /api/v1/partner/cases/{case_ref}/results/ — note the corresponding case.results_ready webhook stays suppressed, so poll for it.

Test cases are created in production systems: they’re inert, but they are real records our staff can see. Please use obviously-fake names (e.g. “Test Plaintiff”) in test payloads.