



















Court filing infrastructure
Unified court filing API
Let users file, serve, pay, and track court documents without ever leaving your product.


















Pain
The workflow breaks after the document is generated.
Many legal tech products help users generate court-ready documents, but the next step is still messy. Users have to download PDFs, find the right court portal, choose filing codes, pay fees, serve parties, and track whether the court accepted or rejected the filing.
For legal tech companies, that creates a painful gap between “document generated” and “case actually filed.”
Filing is fragmented
States, counties, courts, and filing providers each bring their own rules, fees, codes, service options, rejection reasons, and status workflows.
Teams work around portals
They push filing back to the user, build manual operations around court portals, or delay expansion into new jurisdictions.
Document generation scales
Court filing does not
What you can do
Close the filing gap with one normalized layer.
Honest Elf abstracts the court-specific work behind filing, service, payment, status, and jurisdiction rules so you can keep users inside your product.
1const filing = await honestElf.filings.create({
2 jurisdiction: "texas",
3 courtLocation: "tx-harris-county-jp-1-1",
4 filingType: "initial",
5 caseCategory: "civil",
6 caseType: "eviction",
7 procedure: "nonpayment_of_rent",
8
9 parties: [
10 {
11 role: "plaintiff",
12 type: "organization",
13 name: "Del Monte Properties LLC"
14 },
15 {
16 role: "defendant",
17 type: "person",
18 name: "Jordan Smith",
19 address: {
20 line1: "4217 Main St Apt 8",
21 city: "Houston",
22 state: "TX",
23 postalCode: "77002"
24 }
25 }
26 ],
27
28 filings: [
29 {
30 code: "petition_eviction",
31 description: "Original Petition for Eviction",
32 documents: [
33 {
34 fileId: "file_7xK92",
35 component: "lead_document",
36 documentType: "petition",
37 security: "public"
38 },
39 {
40 fileId: "file_8mP41",
41 component: "attachment",
42 documentType: "lease",
43 security: "public"
44 }
45 ]
46 }
47 ],
48
49 services: [
50 {
51 type: "service_of_process",
52 party: "defendant",
53 provider: "constable"
54 }
55 ],
56
57 payment: {
58 accountId: "pay_3f92",
59 maxAuthorizedAmount: 250.00
60 },
61
62 clientReferenceId: "matter_1842"
63});
64
65const fees = await honestElf.fees.calculate(filing.id);
66
67await honestElf.filings.submit(filing.id);
68
69honestElf.webhooks.on("filing.accepted", async (event) => {
70 await updateMatter(event.data.clientReferenceId, {
71 caseNumber: event.data.caseNumber,
72 status: event.data.status,
73 stampedDocuments: event.data.documents
74 });
75});File
Submit complaints, answers, petitions, motions, eviction filings, small claims documents, divorce packets, and other court documents directly from your product.
Serve
Support e-service options, service contacts, and service-related filing requirements where available through the same integration.
Pay
Calculate and submit filing fees without hardcoding court fees, optional services, payment rules, and jurisdiction-specific fee logic.
Track
Receive updates when filings are accepted, rejected, reviewed, or assigned a case number, so users do not keep checking portals manually.
Developer API preview
One integration for court filing
1await honestElf.filings.create({
2 courtLocation: "tx-harris-county-jp-1-1",
3 filingType: "initial",
4 caseCategory: "civil",
5 caseType: "eviction",
6 filingCode: "petition_eviction",
7
8 parties: [
9 { role: "plaintiff", type: "organization", name: "Del Mar Properties LLC" },
10 { role: "defendant", type: "person", name: "Jordan Smith" }
11 ],
12
13 documents: [
14 {
15 fileId: "file_7xK92",
16 component: "lead_document",
17 documentType: "petition",
18 security: "public"
19 }
20 ],
21
22 paymentAccountId: "pay_3f92"
23});1{
2 "id": "fil_9Kx41",
3 "status": "draft",
4 "courtLocation": "tx-harris-county-jp-1-1",
5 "filingCode": "petition_eviction"
6}Providers
Integrated with the systems courts already use.
Court filing runs through different systems depending on the state, court, and case type.
Honest Elf gives you one API across the providers courts already use.




Use cases
Built for legal products that need filings to become part of the workflow.
Legal document automation companies
Debt answer tools, divorce document platforms, small claims products, eviction filing tools, name change workflows, probate tools, and family law platforms.
Your product should not end with “download this PDF and figure out how to file it.”
AI legal assistants
AI products that draft pleadings, motions, answers, petitions, or other court documents.
AI legal workflows become more valuable when they can move from drafting to action.
Case management and workflow platforms
Law firm workflow tools, eviction management software, debt collection platforms, claims management platforms, and high-volume litigation tools.
Filing status, rejections, fees, and case updates should live inside your product, not in separate portals and inboxes.
Consumer legal platforms
Companies helping consumers navigate divorce, debt defense, landlord-tenant, small claims, expungement, family law, and court forms.
Consumers struggle with court portals. Filing is often the highest-friction step in the workflow.
Legal tech companies expanding across states
Teams that support filing in one market and want broader jurisdiction coverage.
Every new jurisdiction creates new integration, certification, fee, service, and support work.
Why not build it yourself?
Court filing is an API problem.
It is really an integration, certification, and edge-case problem.
To build court filing in-house, you need to handle more than document upload. Then you need to repeat the work across jurisdictions, providers, and court configurations.
Honest Elf gives you the filing layer so you can focus on the legal workflow your customers actually came to you for.
Provider certification
Certification with each filing provider/state is slow, test-heavy, and easy to underestimate.
Court-specific rules
Each court can have different required fields, filing options, document rules, and review behavior.
Filing code mapping
Your product needs to know which filing type is valid for each court, case type, and workflow.
Fee calculation
Court fees depend on jurisdiction, filing type, optional services, payment method, and exemptions.
Payment flows
Court payments are not normal SaaS payments. You need provider-specific payment accounts, cards, waivers, and failure handling.
Manual filing fallback
Some jurisdictions still require portal work, human review, or manual filing workflows outside clean APIs.
New and existing cases
Initial filings, follow-up filings, amendments, motions, and service-only filings all behave differently.
Service contacts
E-service requires managing service contacts, attaching them to cases, and handling court/provider-specific rules.
Status callbacks
You need to track accepted, rejected, submitted, reviewed, stamped, and failed filings reliably.
Rejection handling
Courts reject filings for local, procedural, or formatting reasons. Your product needs to explain, fix, and resubmit.
Docket monitoring
Filing is not the end. You still need to watch for hearings, orders, judgments, returned documents, and case updates.
Stamped documents
Users expect file-stamped copies, filing history, case numbers, and court responses to flow back into your product.
Move from document generation to case filing without building court infrastructure from scratch.
FAQ
Questions teams ask before adding court filing.
Who is Honest Elf for?+-
Can users file without leaving our product?+-
What types of filings can we support?+-
Do you support service and court fees?+-
How do status updates work?+-
What happens if a filing is rejected?+-
Do we need to become an EFSP ourselves?+-
Get started











