35 endpoints for litigation docket management. All authenticated endpoints require a Clerk session token via Authorization: Bearer <token>
Create and manage litigation cases.
/api/casesAuth Required (Clerk)List all cases for the authenticated user's organization.
{ "cases": [{ "id": "string", "title": "string", "caseNumber": "string", "court": "string", "jurisdiction": "string", "status": "active|archived", "createdAt": "ISO8601", "updatedAt": "ISO8601", "entryCount": "number" }] }curl -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/cases
/api/casesAuth Required (Clerk)Create a new case.
{ "title": "string (required)", "caseNumber": "string", "court": "string", "jurisdiction": "fl_state | fl_federal | 11th_circuit" }{ "id": "string", "title": "string", "caseNumber": "string", "court": "string", "jurisdiction": "string", "status": "active", "createdAt": "ISO8601" }curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"title":"Smith v. Jones","caseNumber":"2024-CA-001234","jurisdiction":"fl_state"}' https://docket4.me/api/cases/api/cases/[caseId]Auth Required (Clerk)Get a single case by ID with full details.
{ "id": "string", "title": "string", "caseNumber": "string", "court": "string", "jurisdiction": "string", "status": "string", "entries": [...], "threads": [...], "createdAt": "ISO8601", "updatedAt": "ISO8601" }curl -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/cases/<caseId>
/api/cases/[caseId]Auth Required (Clerk)Update case metadata (title, case number, court, jurisdiction, status).
{ "title?": "string", "caseNumber?": "string", "court?": "string", "jurisdiction?": "string", "status?": "active|archived" }{ "id": "string", "title": "string", ...updated fields }curl -X PUT -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"status":"archived"}' https://docket4.me/api/cases/<caseId>/api/cases/[caseId]Auth Required (Clerk)Delete a case and all associated entries.
{ "success": true }curl -X DELETE -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/cases/<caseId>
Manage docket entries (deadlines, events, tasks).
/api/entriesAuth Required (Clerk)List entries with optional filters (caseId, status, dateRange).
{ "entries": [{ "id": "string", "caseId": "string", "description": "string", "dueDate": "ISO8601", "triggerDate": "string", "status": "pending|verified|rejected", "source": { "page": "number", "text": "string" }, "calculationBreakdown": {...}, "confidence": "number" }] }curl -H "Authorization: Bearer <clerk_token>" "https://docket4.me/api/entries?caseId=<id>&status=pending"
/api/entries/[entryId]Auth Required (Clerk)Update an entry's description, date, or metadata.
{ "description?": "string", "dueDate?": "ISO8601", "notes?": "string" }{ "id": "string", ...updated entry }curl -X PATCH -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"notes":"Confirmed with partner"}' https://docket4.me/api/entries/<entryId>/api/entries/[entryId]Auth Required (Clerk)Delete a docket entry.
{ "success": true }curl -X DELETE -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/entries/<entryId>
/api/entries/[entryId]/verifyAuth Required (Clerk)Mark an entry as verified (human-approved).
{ "id": "string", "status": "verified", "verifiedAt": "ISO8601", "verifiedBy": "string" }curl -X POST -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/entries/<entryId>/verify
/api/entries/[entryId]/rejectAuth Required (Clerk)Reject an entry with a reason.
{ "reason": "string" }{ "id": "string", "status": "rejected", "rejectedAt": "ISO8601", "rejectionReason": "string" }curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"reason":"Incorrect trigger date"}' https://docket4.me/api/entries/<entryId>/rejectUpload and process court documents (PDF extraction).
/api/documents/processAuth Required (Clerk)Upload and process a single PDF document. Extracts events and calculates deadlines.
FormData: { file: File (PDF), caseId: "string" }{ "documentId": "string", "entries": [{ "description": "string", "dueDate": "ISO8601", "triggerDate": "string", "confidence": "number", "source": { "page": "number", "text": "string" } }], "pageCount": "number", "processingTimeMs": "number" }curl -X POST -H "Authorization: Bearer <clerk_token>" -F "file=@order.pdf" -F "caseId=<id>" https://docket4.me/api/documents/process
/api/documents/batchAuth Required (Clerk)Upload multiple documents for batch processing.
FormData: { files: File[] (PDFs), caseId: "string" }{ "batchId": "string", "documentsQueued": "number", "status": "processing" }curl -X POST -H "Authorization: Bearer <clerk_token>" -F "files=@order1.pdf" -F "files=@order2.pdf" -F "caseId=<id>" https://docket4.me/api/documents/batch
AI-powered chat for document analysis and docketing assistance.
/api/chatAuth Required (Clerk)Send a message to the AI assistant. Supports streaming responses. Can include document context.
{ "messages": [{ "role": "user|assistant", "content": "string" }], "caseId?": "string", "threadId?": "string" }text/event-stream (SSE): data chunks with AI response, tool calls, and entry suggestions
curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"messages":[{"role":"user","content":"Extract deadlines from this order"}],"caseId":"<id>"}' https://docket4.me/api/chatExport docket entries in various formats.
/api/entries/export/csvAuth Required (Clerk)Export entries as CSV file.
text/csv file download
curl -H "Authorization: Bearer <clerk_token>" "https://docket4.me/api/entries/export/csv?caseId=<id>" -o entries.csv
/api/entries/export/excelAuth Required (Clerk)Export entries as Excel (.xlsx) file.
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet file download
curl -H "Authorization: Bearer <clerk_token>" "https://docket4.me/api/entries/export/excel?caseId=<id>" -o entries.xlsx
/api/entries/export/standardAuth Required (Clerk)Export entries formatted for standard docket format import.
text/plain file with industry-standard format entries
curl -H "Authorization: Bearer <clerk_token>" "https://docket4.me/api/entries/export/standard?caseId=<id>" -o standard-import.txt
Import docket entries from external sources.
/api/entries/importAuth Required (Clerk)Import entries from a CSV or structured file.
FormData: { file: File (CSV), caseId: "string" }{ "imported": "number", "skipped": "number", "errors": [{ "row": "number", "message": "string" }] }curl -X POST -H "Authorization: Bearer <clerk_token>" -F "file=@entries.csv" -F "caseId=<id>" https://docket4.me/api/entries/import
Deadline calculation using deterministic rules engine.
/api/calculateAuth Required (Clerk)Calculate a deadline date using FL Rule 2.514, FRCP Rule 6(a), or FRAP Rule 26. Returns the computed date with full calculation breakdown.
{ "triggerDate": "YYYY-MM-DD", "dayCount": "number", "dayType": "calendar|business", "jurisdiction": "fl_state|fl_federal|11th_circuit", "serviceMethod?": "electronic|mail|hand", "direction?": "forward|backward" }{ "result": "YYYY-MM-DD", "triggerDate": "YYYY-MM-DD", "dayCount": "number", "dayType": "string", "jurisdiction": "string", "holidays": [{ "date": "YYYY-MM-DD", "name": "string" }], "adjustments": [{ "type": "string", "from": "YYYY-MM-DD", "to": "YYYY-MM-DD", "reason": "string" }], "breakdown": "string" }curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"triggerDate":"2026-03-01","dayCount":30,"dayType":"calendar","jurisdiction":"fl_state"}' https://docket4.me/api/calculate/api/trial-orderAuth Required (Clerk)Process a complete trial/scheduling order and generate ALL deadlines — mediation, countdown, chained, appearances, and trial period days. One call replaces dozens of individual calculations.
{ "order_date": "YYYY-MM-DD", "trial_commencement_date": "YYYY-MM-DD", "trial_duration_weeks": "number (1-12)", "jurisdiction": "FL-STATE|FL-17TH|FL-SDFL|FL-MDFL|FL-NDFL|FEDERAL|SD-FLA|11TH-CIR", "calendar_call_date?": "YYYY-MM-DD", "calendar_call_time?": "string", "has_mediation_referral?": "boolean (default: true)", "include_trial_days?": "boolean (default: true)" }{ "order_date": "YYYY-MM-DD", "trial_commencement_date": "YYYY-MM-DD", "trial_duration_weeks": "number", "jurisdiction": "string", "total_entries": "number", "deadlines": [{ "entry_number": "number", "date": "YYYY-MM-DD", "category": "Deadline|Mediation|Trial Date|Appearance", "description": "string", "authority": "string", "calculation_note": "string", "is_conditional": "boolean" }], "trial_days": { "start_date": "YYYY-MM-DD", "end_date": "YYYY-MM-DD", "total_business_days": "number", "days": [{ "date": "YYYY-MM-DD", "day_number": "number", "day_of_week": "string" }] } }curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"order_date":"2026-02-16","trial_commencement_date":"2026-11-16","trial_duration_weeks":4,"jurisdiction":"FL-STATE","calendar_call_date":"2026-11-12","calendar_call_time":"1:00 PM","has_mediation_referral":true}' https://docket4.me/api/trial-order/api/public-calculatePublicPublic deadline calculator (no authentication required). Rate limited to 10 requests per minute per IP. Same calculation engine as the authenticated endpoint.
{ "trigger_date": "YYYY-MM-DD", "day_count": "number", "computation_method": "auto|business_days|calendar_days|trial_period_countdown", "direction": "forward|backward", "jurisdiction": "FL-STATE|FL-17TH|FL-SDFL|FL-MDFL|FL-NDFL|FEDERAL|SD-FLA|11TH-CIR", "service_method?": "email|mail|hand|efiling", "trial_commencement_date?": "YYYY-MM-DD (required for trial_period_countdown)" }{ "deadline_date": "YYYY-MM-DD", "trigger_date": "YYYY-MM-DD", "day_count": "number", "computation_method": "string", "direction": "string", "jurisdiction": "string", "service_addon_days": "number", "explanation": "string", "steps": [{ "step_number": "number", "description": "string", "date": "YYYY-MM-DD|null", "rule": "string|null" }] }curl -X POST -H "Content-Type: application/json" -d '{"trigger_date":"2026-03-01","day_count":30,"computation_method":"auto","direction":"forward","jurisdiction":"FL-STATE"}' https://docket4.me/api/public-calculateFull-text search across cases and entries.
/api/searchAuth Required (Clerk)Search across cases, entries, and documents.
{ "results": [{ "type": "case|entry|document", "id": "string", "title": "string", "snippet": "string", "score": "number" }], "total": "number" }curl -H "Authorization: Bearer <clerk_token>" "https://docket4.me/api/search?q=pretrial+stipulation&type=entry"
Audit trail and comparison tools.
/api/auditAuth Required (Clerk)Get audit log for a case or entry. Tracks all changes, verifications, and exports.
{ "events": [{ "id": "string", "type": "string", "userId": "string", "timestamp": "ISO8601", "details": {...} }] }curl -H "Authorization: Bearer <clerk_token>" "https://docket4.me/api/audit?caseId=<id>"
/api/audit/compareAuth Required (Clerk)Compare AI-extracted entries against a manually-created docket for discrepancy detection.
{ "caseId": "string", "manualEntries": [{ "description": "string", "dueDate": "YYYY-MM-DD" }] }{ "matches": "number", "mismatches": [{ "ai": {...}, "manual": {...}, "discrepancy": "string" }], "missing": [...], "extra": [...] }curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"caseId":"<id>","manualEntries":[...]}' https://docket4.me/api/audit/compareSubscription management via Stripe.
/api/billingAuth Required (Clerk)Get current subscription status, usage, and plan details.
{ "plan": "free|professional|enterprise", "status": "active|trialing|canceled", "documentsUsed": "number", "documentsLimit": "number", "currentPeriodEnd": "ISO8601" }curl -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/billing
/api/stripe/checkoutAuth Required (Clerk)Create a Stripe checkout session for subscription upgrade.
{ "priceId": "string", "successUrl?": "string", "cancelUrl?": "string" }{ "url": "string" }curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"priceId":"price_xxx"}' https://docket4.me/api/stripe/checkout/api/stripe/portalAuth Required (Clerk)Create a Stripe customer portal session for billing management.
{ "url": "string" }curl -X POST -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/stripe/portal
iCal feed generation for calendar subscriptions.
/api/calendar/generateAuth Required (Clerk)Generate a unique iCal subscription URL for your docket entries.
{ "caseIds?": ["string"], "includeVerifiedOnly?": "boolean" }{ "token": "string", "url": "string", "expiresAt": "ISO8601" }curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{}' https://docket4.me/api/calendar/generate/api/calendar/[token]PublicFetch iCal feed by token. Used by calendar apps (Google Calendar, Outlook, Apple Calendar).
text/calendar (iCal .ics format)
curl https://docket4.me/api/calendar/<token>
Team and organization member management.
/api/teamAuth Required (Clerk)List all team members in the current organization.
{ "members": [{ "id": "string", "email": "string", "name": "string", "role": "admin|member", "joinedAt": "ISO8601" }] }curl -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/team
/api/teamAuth Required (Clerk)Invite a new member to the organization.
{ "email": "string", "role?": "admin|member" }{ "inviteId": "string", "email": "string", "status": "pending" }curl -X POST -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"email":"paralegal@firm.com","role":"member"}' https://docket4.me/api/teamUser notification management.
/api/notificationsAuth Required (Clerk)Get notifications for the authenticated user (deadline reminders, verification requests, etc.).
{ "notifications": [{ "id": "string", "type": "deadline_reminder|verification_request|export_complete", "title": "string", "body": "string", "read": "boolean", "createdAt": "ISO8601" }] }curl -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/notifications
User preference management.
/api/user/preferencesAuth Required (Clerk)Get user preferences (default jurisdiction, notification settings, theme).
{ "defaultJurisdiction": "string", "notifications": { "email": "boolean", "deadlineReminder": "boolean", "reminderDaysBefore": "number" }, "theme": "dark|light|system" }curl -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/user/preferences
/api/user/preferencesAuth Required (Clerk)Update user preferences.
{ "defaultJurisdiction?": "string", "notifications?": { "email?": "boolean", "deadlineReminder?": "boolean", "reminderDaysBefore?": "number" }, "theme?": "dark|light|system" }{ ...updated preferences }curl -X PATCH -H "Authorization: Bearer <clerk_token>" -H "Content-Type: application/json" -d '{"defaultJurisdiction":"fl_state"}' https://docket4.me/api/user/preferencesSystem health monitoring.
/api/healthPublicHealth check endpoint. Returns service status and version.
{ "status": "ok", "version": "string", "timestamp": "ISO8601", "services": { "database": "ok|degraded|down", "engine": "ok|degraded|down", "ai": "ok|degraded|down" } }curl https://docket4.me/api/health
Dashboard statistics and analytics.
/api/statsAuth Required (Clerk)Get dashboard statistics (entry counts, upcoming deadlines, verification rate).
{ "totalCases": "number", "totalEntries": "number", "pendingVerification": "number", "upcomingDeadlines": "number", "overdueEntries": "number", "verificationRate": "number", "documentsProcessed": "number" }curl -H "Authorization: Bearer <clerk_token>" https://docket4.me/api/stats
Need help? jackson@docket4.me · Engine API Docs