Supergood | CARET API

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.

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
}

Get full API Specs →


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

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your modules, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened CARET adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as CARET evolves.

Schedule Integration Call →


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.


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.

Get Started →

Read more