Supergood | Smokeball API
Programmatically access matters, contacts, documents and email metadata, time entries, invoices, and trust balances from Smokeball with a stable REST API. Supergood builds and operates production-grade, unofficial Smokeball integrations so your team can automate casework, billing, and DMS workflows without heavy custom engineering.
Plain English: Smokeball is legal practice management and billing software used by small and mid-sized law firms to run matters, organize documents and emails, capture time (automatically and manually), and generate bills. It ties deeply into Microsoft Word and Outlook, streamlines document automation and forms, and helps firms keep every file, communication, and activity in the right matter.
For a tech company integrating with Smokeball—especially a legaltech startup trying to live inside a client’s iManage workflow—this means you can pull and push matter data, contacts, and billing information, and bridge document/email metadata between Smokeball and iManage. You can provision iManage workspaces from new Smokeball matters, sync filing locations and version info, generate time entries when documents are edited or emails are filed, and keep invoices and trust balances in step with your product’s dashboards or client portals.
What is Smokeball?
Smokeball (https://www.smokeball.com) is a cloud-connected practice management platform with a Windows desktop app and tight Microsoft 365 integrations. It helps firms manage case files end-to-end, from intake through billing, while automatically capturing work to improve realization.
Core product areas include:
- Matter Management (folders, statuses, stages, practice-area templates)
- Documents & Email (Outlook/Word integration, filing, version awareness)
- Time & Billing (automatic activity capture, rates, invoicing, payments)
- Trust Accounting (where enabled; ledgers, balances, reconciliation)
- Document Automation & Forms (templates, merge fields)
- Tasks, Calendaring & Workflows (checklists, reminders, dependencies)
- Reporting & Insights (matter progress, productivity, collections)
- Client Communication (secure messaging and file sharing in supported regions)
Common data entities:
- Matters (number, title, practice area, status, key dates, responsible staff)
- Contacts/Parties (clients, related parties, counsel, courts)
- Documents & Emails (file metadata, links to storage, versions, authors)
- Time Entries & Activities (date, duration, work codes, narratives, rates)
- Disbursements/Expenses (category, amount, billable flags)
- Invoices & Payments (status, line items, credits, write-offs)
- Trust Ledgers & Transactions (balances, deposits, disbursements)
- Tasks & Events (assignees, due dates, reminders)
- Users & Roles (permissions, ethical walls, billing rates)
The Smokeball Integration Challenge
Smokeball is optimized for attorneys and staff in Word/Outlook and a desktop client, which makes headless automation non-trivial:
- Hybrid desktop + cloud: Much of the user experience is desktop-driven with cloud synchronization, requiring careful session management and change detection.
- Document and email nuance: Files may live locally, in the cloud, or in DMS systems; metadata, filing locations, and versions must stay consistent.
- iManage coexistence: Mapping Smokeball matters to iManage workspaces, folders, and security requires deterministic naming and reliable bidirectional links.
- Automatic time capture: Translating activity capture into normalized, idempotent time entries across systems is delicate.
- Jurisdiction variance: Trust accounting features and compliance vary by region and licensing.
- Permissions & ethical walls: Matter privacy, staff roles, and billing entitlements must be respected.
- Long-running operations: Bulk file syncs, invoice runs, and workspace provisioning are asynchronous and need polling or webhooks.
How Supergood Creates Smokeball APIs
Supergood reverse-engineers authenticated client flows and network interactions to deliver a resilient API endpoint layer for your Smokeball tenant.
- Handles username/password and optional SSO/IdP-backed authentication securely
- Maintains session continuity with automated refresh, change detection, and health checks
- Normalizes matters, contacts, documents/emails, time, invoices, and trust objects into consistent schemas
- Aligns with customer entitlements, permissions, and ethical walls for compliant access
- Supports high-volume operations (bulk matter sync, time capture, billing) with polling or webhooks for long-running jobs
- Provides field-level idempotency and delta syncing for reliable two-way integrations
Use Cases
Matter & Workspace Provisioning (with iManage)
- Create Smokeball matters from your intake and automatically provision iManage workspaces
- Stamp iManage IDs back to matters for traceability, and enforce naming/numbering conventions
- Sync responsible attorneys and security settings across both systems
Time & Disbursement Capture from DMS Events
- Generate time entries when an iManage document is edited, emailed, or filed
- Push disbursements for prints, scans, or third-party costs tied to a matter
- Keep narratives, work codes, and rates consistent with firm policies
Document & Email Metadata Bridge
- Mirror document and email metadata (IDs, versions, authors, folders) between Smokeball and iManage
- De-duplicate items and preserve immutable references for audits
- Support cross-system search and matter file completeness checks
Billing, Invoices & Trust Visibility
- Push approved time to Smokeball billing; pull invoice statuses and balances for client portals
- Surface trust ledger balances and recent transactions (read-only or write where allowed)
- Trigger reminders and workflows based on aging or payment events
Available Endpoints
Authentication
POST /sessions: Establish a session using credentials. Supergood can handle optional SSO challenges when enabled. Returns a short-lived auth token managed 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_smkb_0f91a2",
"name": "Paralegal User",
"entitlements": ["matters", "contacts", "documents", "time", "billing"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Matters
POST /matters: Create or update a matter and optionally link an existing iManage workspace.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/matters \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"externalId": "intake-78412",
"matterNumber": "2026-00123",
"title": "Acme v. Riverton - Contract Dispute",
"practiceArea": "Litigation",
"type": "Civil",
"status": "open",
"openDate": "2026-02-03",
"client": { "contactId": "ct_9a11f2", "role": "client" },
"relatedParties": [
{ "name": "Riverton Holdings LLC", "role": "opposing_party" }
],
"responsibleUsers": [
{ "userId": "u_smkb_0f91a2", "role": "attorney" },
{ "userId": "u_smkb_1c3b7e", "role": "paralegal" }
],
"billing": {
"arrangement": "hourly",
"defaultRates": [{ "role": "attorney", "rate": 450.0 }, { "role": "paralegal", "rate": 165.0 }],
"taxCode": "DEFAULT"
},
"trustRequired": true,
"tags": ["priority", "iManage"],
"dms": {
"type": "imanage",
"libraryId": "GENLIB",
"workspaceId": "WSP_001234"
}
}'
Example response
{
"matterId": "mt_e47b29",
"matterNumber": "2026-00123",
"createdAt": "2026-02-20T14:12:08Z",
"dms": { "type": "imanage", "workspaceId": "WSP_001234" }
}
GET /matters: List matters with filters for lifecycle, ownership, and DMS linkage.
Query parameters
- status: open | pending | closed | archived
- practiceArea: string
- responsibleUserId: string
- hasDmsWorkspace: true | false
- updatedFrom, updatedTo: ISO 8601 timestamps
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"matterId": "mt_e47b29",
"matterNumber": "2026-00123",
"title": "Acme v. Riverton - Contract Dispute",
"status": "open",
"client": { "contactId": "ct_9a11f2", "name": "Acme Corp" },
"responsibleUsers": [{ "userId": "u_smkb_0f91a2", "name": "Alex Attorney" }],
"dms": { "type": "imanage", "workspaceId": "WSP_001234" },
"updatedAt": "2026-02-20T14:15:44Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Time Entries
POST /time-entries: Create time entries (manual or auto-captured) and link them to documents/emails when available.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/time-entries \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"matterId": "mt_e47b29",
"userId": "u_smkb_0f91a2",
"activityDate": "2026-02-20",
"durationMinutes": 36,
"workCode": "DRAFT",
"narrative": "Drafted and revised asset purchase agreement",
"rate": 450.0,
"billable": true,
"source": "auto",
"related": { "documentId": "doc_41f2c0", "dms": { "type": "imanage", "docNumber": "1234567", "version": 3 } },
"externalRef": "imanage-event-9b7d2a"
}'
Example response
{
"timeEntryId": "te_0aa912",
"status": "posted",
"createdAt": "2026-02-20T15:02:11Z"
}
Documents & Emails
GET /documents: List document and email metadata for a matter, including iManage linkages.
Query parameters
- matterId: string (required)
- type: document | email
- extension: docx | pdf | msg | …
- sinceUpdated: ISO 8601 timestamp
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"documentId": "doc_41f2c0",
"matterId": "mt_e47b29",
"type": "document",
"title": "Asset Purchase Agreement",
"extension": "docx",
"version": 3,
"sizeBytes": 184320,
"createdBy": { "userId": "u_smkb_0f91a2", "name": "Alex Attorney" },
"createdAt": "2026-02-18T09:21:44Z",
"modifiedAt": "2026-02-20T14:58:30Z",
"filedBy": { "userId": "u_smkb_1c3b7e", "name": "Paula Paralegal" },
"path": "\\Acme v. Riverton\\Agreements\\",
"checksum": "b7f9c2...",
"dms": {
"type": "imanage",
"docNumber": "1234567",
"version": 3,
"workspaceId": "WSP_001234",
"folderId": "FOL_000912"
}
},
{
"documentId": "eml_5f2a10",
"matterId": "mt_e47b29",
"type": "email",
"subject": "Re: Draft APA",
"from": "[email protected]",
"to": ["[email protected]"],
"date": "2026-02-19T16:11:02Z",
"filedBy": { "userId": "u_smkb_0f91a2", "name": "Alex Attorney" },
"dms": {
"type": "imanage",
"docNumber": "1234599",
"version": 1,
"workspaceId": "WSP_001234",
"folderId": "FOL_000918"
}
}
],
"page": 1,
"pageSize": 100,
"total": 2
}
Invoices
GET /invoices: Retrieve invoice headers and balances to power portals and AR workflows.
Query parameters
- matterId: string
- status: draft | sent | partially_paid | paid | written_off | void
- issuedFrom, issuedTo: ISO 8601 dates
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"invoiceId": "inv_2b110e",
"matterId": "mt_e47b29",
"number": "SMK-100245",
"issuedDate": "2026-02-28",
"dueDate": "2026-03-30",
"status": "sent",
"currency": "USD",
"subtotal": 5400.00,
"tax": 432.00,
"total": 5832.00,
"balance": 5832.00,
"links": { "pdf": "https://files.supergood.ai/invoices/inv_2b110e.pdf" }
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Technical Specifications
- Authentication: Username/password with optional MFA and SSO/IdP support where enabled; supports service accounts or customer-managed credentials
- Response format: JSON with consistent resource schemas and pagination across modules
- Rate limits: Tuned for enterprise 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, documents/emails, time, invoices, and trust balances
- Security: Encrypted transport, scoped tokens, and audit logging; respects Smokeball roles and ethical walls
- Webhooks: Optional asynchronous delivery for long-running workflows (e.g., bulk document syncs, invoice runs, workspace provisioning)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load; bulk syncs reflect underlying platform behavior
- Throughput: Designed for high-volume matter and document metadata synchronization and time capture
- 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 Smokeball adapter tailored to your workflows and entitlements, including iManage mappings if required.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as Smokeball evolves.
Frequently Asked Questions
Q: Which Smokeball modules can this integration cover?
Supergood supports workflows commonly used by law firms, including Matters & Contacts, Documents & Email metadata, Time & Billing (AutoTime and manual entries), Invoices/AR, and (where licensed) Trust balances and ledgers. Coverage is scoped during integration assessment and aligned to your entitlements.
Q: Can you synchronize Smokeball with iManage?
Yes. We map Smokeball matters to iManage workspaces, persist iManage workspace/folder/doc IDs in matter and document records, and keep metadata in sync. We can provision workspaces on matter open, update security based on responsible users, and attach document/version references for audit.
Q: How do you handle the desktop + cloud architecture?
We reverse-engineer authenticated traffic and operate with secure, persistent sessions. Long-running tasks (e.g., bulk document enumeration, invoice runs) are handled asynchronously with job polling or webhooks. Changes are delivered as deltas to reduce load.
Q: Do you support automatic time capture (AutoTime) data?
We can read and normalize auto-captured activities to create posted time entries via the API, including narratives, codes, and document/email references, subject to your licensing and permissions.
Q: What about trust accounting?
Where trust modules are enabled, we can read balances and transaction history and, if allowed by policy, create ledger entries. We never move funds; all payment processing remains with your firm’s systems and providers.
Q: How is security and audit handled?
All requests are encrypted; actions are logged with user context and timestamps. We honor Smokeball permissions and ethical walls and support idempotency keys to prevent duplicate writes across retries.
Related Integrations
iManage API - Programmatically connect your DMS to your apps with Supergood
Ready to automate your Smokeball workflows?
Supergood can have your Smokeball integration live in days with no ongoing engineering maintenance.