Skip to content

Submitting a Case

Submit a case and its documents in a single request:

  • POST /api/v1/partner/cases/create/ — one-shot multipart create + submit. Send a case part (JSON-encoded case payload, including case_type) plus attachments as files parts with optional per-file labels (same order; up to 10 files, 25 MB each, 100 MB aggregate). Accepted file types: PDF, DOC/DOCX, XLS/XLSX, JPG/JPEG, PNG, GIF, TIFF/TIF, TXT, CSV, MSG, EML. The case is always created when the JSON is valid (HTTP 201); files are best-effort and any rejected file is reported in the response — retry it via POST /api/v1/partner/cases/{case_ref}/files/.
    • Policy Existence (case_type: pe) — when you need to determine whether a defendant has insurance coverage (personal auto, commercial auto, or homeowners).
    • Policy Limit (case_type: pl) — when you already have insurance company and policy/claim information and need the coverage limits (personal auto, commercial auto, CGL, homeowners/renters, and more).
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 API validates submissions based on the product and options selected and returns clear validation messages if anything is missing — see the Conditional Requirements block on the endpoint for product-specific rules (for example, commercial-auto Policy Existence requires is_defendant_transportation_company: true).

The original flow — POST /policy_existence_searches/ or POST /policy_limit_searches/, then POST /upload/{ticket_id}/{file_label} per file, then PUT /tickets/{ticket_id}/ready — still works for existing integrations but is deprecated. New integrations should use POST /api/v1/partner/cases/create/.