Upload a PDF filing and receive document classification, extracted metadata, and a partial /check request body
/check endpoint. The API extracts page count, word count, structural metadata, and document type from the PDF automatically. You must add filing context fields (is_pro_se, pmc_completed, opposing_party_pro_se, filing_role) before sending to /check.
The response includes a supported boolean indicating whether the document is a classifiable federal court filing. Non-federal documents (state court forms, blank templates, non-legal documents) return supported: false with confidence: "low".
Uploaded PDFs are stored server-side for quality improvement.
Note: May take 10-30 seconds to respond. Format extraction (font, margins, line spacing) has a 15-second timeout; fillable forms and interactive PDFs may hit this limit, in which case format checks are skipped and a warning is returned.
/check request body.
gary-r-brown)edny)motion_for_summary_judgment.pdf). Recommended: always include
if available. Filenames like memo_in_support_sj.pdf provide a strong classification signal;
generic names like document.pdf are still accepted but add no value.POST /api/v1/check. Includes judge_slug,
district_id, document_scope, motion_type (if detected), and the full document object. You
must add is_pro_se, pmc_completed, opposing_party_pro_se, and filing_role before sending.| Code | Meaning |
|---|---|
400 | Invalid request (missing pdf_base64, invalid judge_slug, etc.) |
403 | District not accessible |
404 | Judge not found in the specified district |
429 | Rate limit exceeded (5 requests per minute) |
502 | Classification failed (timeout, upstream error) |
check_request field contains everything the classifier can extract from the PDF. Before sending to /check, add the filing context fields that only the filer knows: is_pro_se, pmc_completed, opposing_party_pro_se, and filing_role. You can also inspect the classification to show the user what was detected before running the compliance check.