Supergood | MyCase API
Programmatically access MyCase casework—matters, contacts, time, invoices, payments, documents—through a stable REST API. Supergood builds and operates production-grade, unofficial MyCase integrations so your team can automate case management, billing, and client communications without heavy custom engineering.
MyCase is software used by law firms to manage cases and clients, track time, invoice and collect payments, organize documents, and communicate securely with clients. With an unofficial API, you can list and update matters, sync clients, post time, generate and reconcile invoices, handle trust-related transactions, and upload files—without logging into the portal.
If you’re a legal tech company integrating MyCase, you can pull normalized matter and contact data, push time and tasks from your app, trigger billing runs, post payments from your own checkout, and mirror client communications into your workflows. You can also build lead-to-matter pipelines, automate document assembly and eSignature, and provide analytics—reducing manual double entry for your customers while respecting firm permissions and accounting controls.
What is MyCase?
MyCase is a legal practice management platform serving law firms and legal practitioners. It centralizes casework, billing, trust accounting, client communication, and day-to-day workflows.
Core product families include:
- Case & Contact Management (matters, roles, conflict checks, notes)
- Billing & Payments (time/expense, invoicing, online payments, trust/IOLTA)
- Client Communication (secure portal, messaging, texting, updates)
- Calendar & Tasks (deadlines, rules-based workflows, reminders)
- Documents & eSignature (storage, templates, assembly, signing)
- Intake & Leads (intake forms, lead tracking, conversion to matters)
- Reporting & Analytics (productivity, WIP/AR, trust balances)
Common data entities:
- Contacts (clients, opposing parties, third parties)
- Matters (cases) and participants (responsible attorney, staff)
- Time entries and expenses
- Invoices, payments, and trust transactions
- Tasks and calendar events
- Documents and file versions
- Messages and portal threads
- Leads and intake submissions
The MyCase Integration Challenge
Firms rely on MyCase daily, but turning portal-first workflows into automated pipelines is hard. Commonly reported pain points include:
- Partner/entitlement-driven APIs: Public APIs and marketplace access may be limited or vary by account and plan
- Authentication hurdles: SSO and MFA are great for security but complicate unattended automations
- Webhook gaps and timeliness: Changes to matters, invoices, or payments may not fire events uniformly; polling is often required
- Trust accounting constraints: Safeguards around IOLTA/retainer handling require careful controls and sequencing
- File upload and document versioning: Browser-centric upload flows and virus scanning steps are tough to automate reliably
- Custom fields & picklists: Schema differences across firms make normalization and mapping non-trivial
- Calendar/task sync: Two-way sync risks duplicates and conflicts without robust idempotency and reconciliation
How Supergood Creates MyCase APIs
Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your MyCase workflows.
- Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
- Maintains session continuity with automated refresh, health checks, and change detection
- Normalizes resources (matters, contacts, time, invoices, payments, documents) into consistent schemas
- Aligns with firm permissions and accounting entitlements, including trust accounting safeguards
- Offers idempotency, retries, and data reconciliation for safe two-way sync
Use Cases
Matter and Contact Synchronization
- Keep matters and client records in sync with your CRM, intake, or case analytics tools
- Enrich matters with custom fields, stages, and practice area tags
- Maintain participant roles (responsible attorney, staff) across systems
Time, Billing, and Payments Automation
- Capture time from your product and post it to the correct matter automatically
- Generate or update invoices, then apply payments from your own checkout flow
- Reconcile trust deposits and operating payments with guardrails
Client Communication and Scheduling
- Mirror client messages into your system for SLA tracking and triage
- Create tasks and events from your workflow engine; respect rules-based deadlines
- Keep clients updated with automated status changes pulled from matters
Document and Intake Automation
- Push generated documents and signed PDFs into the right matter folder
- Convert intake submissions into contacts and matters with validated conflict checks
- Track versions and maintain consistent folder structures
Available Endpoints
Authentication
POST /auth/sessions: Establish a session using firm credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/auth/sessions \
--header 'Authorization: Basic <Base64 encoded token>' \
--header 'Content-Type: application/json' \
--data '{
"username": "[email protected]",
"password": "<password>",
"mfa": { "type": "totp", "code": "123456" },
"ssoProvider": null
}'
Example response
{
"authToken": "eyJhbGciOi...",
"expiresIn": 3600,
"user": {
"id": "u_b1c92f",
"name": "Paralegal One",
"roles": ["billing", "matters"],
"entitlements": ["matters", "contacts", "time", "invoices", "payments"]
}
}
POST /auth/sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Matters
GET /matters: List matters with filtering by status, practice area, attorney, client, or last update timestamp.
curl --request GET \
--url 'https://api.supergood.ai/integrations/<integration_id>/matters?status=open&updatedSince=2026-01-01T00:00:00Z&responsibleUserId=u_923ab1&practiceArea=Family' \
--header 'Authorization: Bearer <authToken>'
Example response
{
"items": [
{
"matterId": "mat_10293",
"number": "2026-00123",
"title": "Smith v. Smith - Custody",
"status": "open",
"stage": "Discovery",
"practiceArea": "Family",
"openDate": "2025-11-03",
"closeDate": null,
"client": { "contactId": "con_5512", "displayName": "Jordan Smith" },
"participants": [
{ "userId": "u_923ab1", "role": "responsible_attorney" },
{ "userId": "u_5529ff", "role": "staff" }
],
"financials": {
"trustBalance": 2500.00,
"unbilledTimeHours": 6.5,
"outstandingBalance": 840.00
},
"customFields": { "court": "San Diego Family Court", "case_type": "Custody" },
"tags": ["high_priority"],
"updatedAt": "2026-01-19T15:21:09Z"
}
],
"page": 1,
"pageSize": 50,
"hasMore": false
}
Contacts
GET /contacts: Retrieve clients and related parties. Filter by role, updatedSince, email, or name.
curl --request GET \
--url 'https://api.supergood.ai/integrations/<integration_id>/contacts?role=client&updatedSince=2025-12-01T00:00:00Z' \
--header 'Authorization: Bearer <authToken>'
Example response
{
"items": [
{
"contactId": "con_5512",
"type": "person",
"firstName": "Jordan",
"lastName": "Smith",
"companyName": null,
"emails": ["[email protected]"],
"phones": [{ "type": "mobile", "number": "+1-415-555-0199" }],
"address": {
"line1": "101 Market St",
"city": "San Diego",
"region": "CA",
"postalCode": "92101",
"country": "US"
},
"preferredContactMethod": "portal",
"clientPortalEnabled": true,
"tags": ["vip"],
"relatedMatters": ["mat_10293"],
"updatedAt": "2026-01-18T12:44:02Z"
}
],
"page": 1,
"pageSize": 50,
"hasMore": false
}
Time Entries
POST /time-entries: Create or upsert a time entry against a matter. Supports idempotency to avoid duplicates from timers.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/time-entries \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: timer-evt-8821' \
--data '{
"matterId": "mat_10293",
"userId": "u_923ab1",
"date": "2026-01-19",
"durationMinutes": 42,
"description": "Client call re: temporary orders",
"billable": true,
"activityCode": "L110",
"rate": 250.00,
"referenceId": "call-2026-01-19-1400"
}'
Example response
{
"timeEntryId": "te_77a9c3",
"matterId": "mat_10293",
"billableAmount": 175.00,
"status": "created",
"createdAt": "2026-01-19T15:22:31Z"
}
Payments
POST /payments: Record a payment. Apply funds to an invoice or deposit to trust with appropriate accounting checks.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/payments \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"type": "invoice_payment",
"invoiceId": "inv_99441",
"amount": 840.00,
"postedAt": "2026-01-19T16:03:11Z",
"source": { "method": "card", "processor": "lawpay", "transactionId": "lp_txn_8f99" },
"payer": { "contactId": "con_5512" },
"memo": "Payment in full"
}'
Example response
{
"paymentId": "pay_44d88a",
"type": "invoice_payment",
"status": "applied",
"applied": [{ "invoiceId": "inv_99441", "amount": 840.00 }],
"remainingBalance": 0.00,
"postedAt": "2026-01-19T16:03:11Z"
}
Trust deposit example
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/payments \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"type": "trust_deposit",
"matterId": "mat_10293",
"trustAccountId": "trust_01a2b3",
"amount": 1500.00,
"postedAt": "2026-01-19T17:00:00Z",
"source": { "method": "ach", "processor": "lawpay", "transactionId": "lp_txn_8fa0" },
"memo": "Retainer refill"
}'
Example response
{
"paymentId": "pay_44d89b",
"type": "trust_deposit",
"status": "settled",
"trustAccountId": "trust_01a2b3",
"matterId": "mat_10293",
"newTrustBalance": 4000.00,
"postedAt": "2026-01-19T17:00:00Z"
}
Technical Specifications
- Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
- Response format: JSON with consistent resource schemas and pagination for list endpoints
- Rate limits: Tuned for firm-scale throughput while honoring licensing and usage controls
- Session management: Automatic reauth and cookie/session rotation with health checks
- Data freshness: Near real-time retrieval of matters, contacts, time, invoices, payments, and documents
- Security: Encrypted transport, scoped tokens, and audit logging; respects firm roles and trust accounting entitlements
- Webhooks: Optional asynchronous delivery for matter updates, invoice finalization, and payment events
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for continuous sync of firm datasets and timer-driven time capture
- Reliability: Retry logic, backoff, and idempotency keys minimize duplicates in two-way sync
- Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates
Getting Started
- Schedule Integration Assessment
Book a 30-minute session to confirm product mix, authentication, permissions, and accounting guardrails.
- Supergood Builds and Validates Your API
We deliver a hardened MyCase adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as MyCase evolves.
Frequently Asked Questions
Q: Which MyCase modules can this integration cover?
Supergood supports workflows across matters/contacts, time/expenses, invoicing/payments, and documents—plus select client communication endpoints—subject to your licensing and firm permissions. Scope is confirmed during integration assessment.
Q: How are MFA and SSO handled for automation?
We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth where enabled. Sessions are refreshed automatically with secure challenge handling and audit logging.
Q: How do you handle trust accounting safely?
We apply additional checks for trust-related actions, respect user entitlements, and enforce sequencing rules (e.g., deposit → transfer → invoice payment). Idempotency and reconciliation guard against double-posting.
Q: Can you sync documents and client messages?
Yes. We can upload documents to the correct matter folder and fetch message threads for operational visibility. Virus scanning and versioning steps are respected, and we can mirror metadata and participants.
Q: How are custom fields mapped across firms?
We normalize common fields and expose a configurable mapping layer for firm-specific custom fields and picklists, keeping your product’s schema stable while preserving local data.
Related Integrations
LawPay API - Programmatically post and reconcile online payments with Supergood
Clio Manage API - Sync matters, contacts, and billing with Supergood
Ready to automate your MyCase workflows?
Supergood can have your MyCase integration live in days with no ongoing engineering maintenance.