Supergood | CARET API
Plain English: CARET Legal is practice management software for law firms. It centralizes matters, contacts, documents and email, time tracking, billing, trust accounting, tasks, and calendars so attorneys and staff can run day-to-day operations from one system.
For a tech company integrating with CARET—especially one fitting into an iManage-first workflow—an unofficial API means you can pull matter metadata, billing and trust balances, time entries, and document associations from CARET, and push new clients, matters, time, expenses, payments, and links to iManage documents back into CARET. This enables features like automatic matter provisioning tied to iManage workspaces, document-to-time capture, unified billing dashboards, and compliant trust accounting updates without manual data entry.
Programmatically access matter records, contacts, intake data, time & expense entries, invoices, payments, trust transactions, and document links from CARET Legal with a stable REST API. Supergood builds and operates production-grade, unofficial CARET integrations so your team can automate legal practice workflows without heavy custom engineering.
What is CARET Legal?
CARET Legal (https://www.caretlegal.com) is a comprehensive practice management platform for law firms. It brings together client/matter management, timekeeping, billing, integrated accounting, trust accounting, document and email management, calendaring, tasks, intake/CRM, reporting, and payments.
Core product areas include:
- Matter Management (client intake, conflict checks, metadata, roles)
- Time & Billing (time entries, expenses, rate schedules, LEDES/eBilling)
- Accounting & Trust (general ledger, trust accounts, deposits, disbursements)
- Document & Email Management (matter-centric filing, templates, attachments)
- Tasks & Calendaring (workflows, reminders, firm-wide calendars)
- Intake & CRM (forms, pipelines, lead tracking)
- Reporting (productivity, AR/aging, trust reconciliation, WIP)
- Payments (online payments, allocations, write-offs)
Common data entities:
- Matters (matter number, title, client, practice area, responsible attorney, status)
- Contacts/Clients (individuals and organizations, emails, phones, addresses)
- Time Entries & Expenses (date, duration, description, activity codes, rates)
- Invoices (line items, totals, balance due, status, LEDES data)
- Payments (date, amount, method, allocation)
- Trust Accounts & Transactions (account, deposit/disbursement, balance)
- Documents & Emails (metadata, links, versioning, associations to matters)
- Tasks & Events (assignee, due dates, calendar entries)
- Users/Roles (permissions, groups, billing rates)
The CARET Integration Challenge
Law firms rely on CARET daily, but turning portal-centric practice management into API-driven automation—especially in an iManage-first environment—introduces complexity:
- Matter alignment: iManage workspaces and CARET matters must remain in sync for titles, client names, numbers, and attorney assignments
- Billing nuance: Rate schedules, UTBMS/LEDES codes, and write-downs need consistent mapping and auditability
- Trust compliance: Segregation of duties and permissioned trust workflows require careful, idempotent updates
- Document links: Associating iManage document and email metadata with CARET matters needs reliable references and conflict rules
- Authentication: SSO/MFA and session lifecycles complicate headless automation across firm environments
- Long-running jobs: Invoice runs, payment allocations, and data imports can span minutes to hours and need resilient polling/webhooks
- Entitlements & security: Role-based access to matters, trust accounts, and billing data must be respected across practice groups
How Supergood Creates CARET APIs
Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your CARET Legal tenant.
- Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
- Maintains session continuity with automated refresh and change detection
- Normalizes matter, contact, billing, trust, and document link objects so you can integrate once and rely on consistent schemas
- Aligns with customer entitlements and role-based permissions to ensure compliant access
- Supports high-volume operations (time capture, invoice sync) with polling or webhooks for long-running jobs
Use Cases
iManage-First Matter Sync
- Create and update CARET matters when new iManage workspaces are provisioned
- Keep client, matter number, responsible attorney, and status in sync across systems
- Enforce naming conventions and folder structures via metadata controls
Document Linking & Email Filing
- Attach iManage document and email references to CARET matters for unified visibility
- Capture work product events (e.g., drafting, reviewing) to generate time entries
- Maintain chain-of-custody with immutable audit records
Timekeeping & Billing Automation
- Push time from document activities, timers, and mobile into CARET
- Retrieve invoices and AR to drive dashboards and reminders
- Allocate payments programmatically and update statuses across systems
Trust Accounting Controls
- Post deposits and disbursements with permission checks and idempotency
- Sync matter trust balances to downstream analytics and compliance reports
- Trigger alerts when balances or thresholds change
Intake-to-Matter Provisioning
- Create contacts and matters from intake forms and CRM pipelines
- Auto-provision iManage workspaces and CARET matters with standardized fields
- Track conversion metrics from lead to open matter
Available Endpoints
Authentication
POST /sessions: Establish a session using 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>/sessions \
--header 'Authorization: Basic <Base64 encoded token>' \
--header 'Content-Type: application/json' \
--data '{
"username": "[email protected]",
"password": "<password>",
"mfa": { "type": "totp", "code": "123456" }
}'
Example response
{
"authToken": "eyJhbGciOi...",
"expiresIn": 3600,
"user": {
"id": "u_crt_21ab9d",
"name": "Paralegal",
"entitlements": ["matters", "contacts", "time", "billing", "trust"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Matters
POST /matters: Create or update a matter and optionally attach iManage workspace references.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/matters \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"externalId": "imanage_ws_004219",
"matterNumber": "2026-CL-0198",
"title": "Acme v. Northwind",
"clientId": "cnt_0a3df2",
"practiceArea": "Commercial Litigation",
"responsibleAttorney": {"userId": "u_crt_21ab9d", "name": "Alex Partner"},
"status": "open",
"openDate": "2026-02-01",
"billingRateScheduleId": "br_1001",
"team": [
{"userId": "u_crt_09bc71", "role": "Associate"},
{"userId": "u_crt_73f0aa", "role": "Paralegal"}
],
"iManage": {
"workspaceId": "W-004219",
"library": "IM-Prod",
"folderPath": "Clients/Acme/Matters/2026-CL-0198"
},
"tags": ["iManage-synced", "priority"]
}'
Example response
{
"matterId": "mtr_7d4c10",
"status": "open",
"iManage": {"workspaceId": "W-004219"},
"createdAt": "2026-02-20T14:11:03Z"
}
Contacts
POST /contacts: Create or update a contact (client, opposing counsel, vendor) and link to matters as needed.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/contacts \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"externalId": "crm_lead_8821",
"type": "client",
"person": {
"givenName": "Casey",
"familyName": "Morgan"
},
"organizationName": "Acme Holdings LLC",
"emails": ["[email protected]"],
"phones": [{"type": "mobile", "number": "+1-415-555-0134"}],
"addresses": [{"line1": "100 Main St", "city": "San Francisco", "region": "CA", "postalCode": "94105", "country": "US"}],
"taxId": "XX-XXXXXXX",
"linkedMatters": ["mtr_7d4c10"],
"tags": ["intake", "priority"]
}'
Example response
{
"contactId": "cnt_0a3df2",
"linkedMatters": ["mtr_7d4c10"],
"createdAt": "2026-02-20T14:12:41Z"
}
Time Entries
POST /time-entries: Submit a time entry for a matter with optional association to an iManage document or email.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/time-entries \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"matterId": "mtr_7d4c10",
"userId": "u_crt_73f0aa",
"date": "2026-02-19",
"durationMinutes": 54,
"description": "Drafted motion to compel; reviewed prior correspondence.",
"activityCode": "L110",
"billable": true,
"billingRate": 165.00,
"source": "document",
"iManage": {
"documentId": "IMD-881200",
"emailId": null
},
"tags": ["drafting", "review"]
}'
Example response
{
"timeEntryId": "tme_5b22e9",
"matterId": "mtr_7d4c10",
"durationMinutes": 54,
"createdAt": "2026-02-20T14:15:08Z"
}
Invoices
GET /invoices: List invoices with filters for status, client, matter, and date windows.
Query parameters
- status: draft | sent | paid | partially_paid | void
- matterId: string
- clientId: string
- dueFrom, dueTo: ISO 8601 dates
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"invoiceId": "inv_22019",
"matterId": "mtr_7d4c10",
"clientId": "cnt_0a3df2",
"number": "INV-2026-00092",
"periodStart": "2026-01-01",
"periodEnd": "2026-01-31",
"total": 6420.00,
"balanceDue": 2175.00,
"status": "sent",
"sentAt": "2026-02-05T09:01:27Z",
"dueDate": "2026-03-05",
"payments": [{"paymentId": "pay_11800", "amount": 4245.00, "date": "2026-02-10"}]
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
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 across modules
- Rate limits: Tuned for firm-scale throughput while honoring customer entitlements 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 trust transactions
- Security: Encrypted transport, scoped tokens, and audit logging; respects CARET role-based permissions and trust segregation
- Webhooks: Optional asynchronous delivery for long-running workflows (e.g., invoice run completions, payment postings, matter status changes)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load; invoice and payment operations reflect underlying platform behavior
- Throughput: Designed for high-volume time capture and billing synchronization
- Reliability: Retry logic, backoff, and idempotency keys minimize duplicates and support at-least-once processing
- Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates
Getting Started
- Schedule Integration Assessment
Book a 30-minute session to confirm your modules, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened CARET adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as CARET evolves.
Frequently Asked Questions
Q: Which CARET modules can this integration cover?
Supergood supports workflows commonly used in practice management, including Matters & Contacts, Time & Billing (UTBMS/LEDES), Trust Accounting (deposits, disbursements, reconciliation), Document/Email Links, and Reporting/AR—subject to your licensing and entitlements. We scope coverage 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 when enabled. Sessions are refreshed automatically with secure challenge handling and monitoring for session expiry.
Q: Can you sync CARET matters with iManage workspaces?
Yes. We can read and write matter metadata and store iManage workspace references in CARET. We also expose endpoints to attach document/email links and maintain a normalized audit trail.
Q: How do you normalize time, rates, and LEDES codes?
We normalize rate schedules, UTBMS activity codes, and line item structures into consistent schemas while preserving raw data for downstream LEDES/eBilling exports and audits.
Q: Do you support trust accounting updates with safeguards?
Yes. Trust transactions are handled with permission checks, idempotency keys, and auditable records. We can optionally require dual-approval for disbursements.
Related Integrations
iManage API - Programmatically access the iManage DMS with Supergood
Ready to automate your CARET workflows?
Supergood can have your CARET integration live in days with no ongoing engineering maintenance.