Big Michael in a channel
Trace an @BigMichael mention from Teams or Slack: the shared dispatcher parses the command, answers instantly or dispatches async work to the orchestrator, and proactive notifications post results back when the matter task completes.
REST API endpoints
POST /tasks submit task (accepts jurisdiction, clientNumber, matterNumber)
GET /tasks list tasks (access-filtered)
GET /tasks/:id get task (403→404 if not permitted)
DELETE /tasks/:id delete a matter
POST /tasks/:id/assign assign lawyer(s) [partner only]
GET /tasks/:id/stream SSE live progress
GET /tasks/:id/table.csv download tabulate output as CSV
POST /tasks/from-template submit from template
GET /tasks/:taskId/rounds/:round get round state
POST /tasks/:taskId/gates/:gateId/approve
POST /tasks/:taskId/gates/:gateId/reject
POST /documents ingest document (text) → returns practiceArea + detectedClient + suggestedLawyers
POST /documents/upload upload a PDF / text file → extract + ingest + classify
GET /documents/search semantic search (owner-scoped)
GET /agents list agents
GET /templates list templates
GET /plugins list loaded external plugins [partner only]
GET /settings read admin settings
PUT /settings update admin settings (live)
GET /me current principal + authEnabled
GET /profiles lawyer roster (includes practiceAreas, bio)
GET /profiles/:id single profile
POST /profiles create lawyer [partner only]
PATCH /profiles/:id update profile [partner, or profile owner (no role change)]
DELETE /profiles/:id remove lawyer [partner only]
POST /profiles/:id/tone/linkedin-import upload LinkedIn ZIP or CSV → build ToneProfile [partner or self, 60s rate limit]
DELETE /profiles/:id/tone clear tone profile [partner or self]
GET /clients client roster [partner only]
POST /clients create client [partner only]
PATCH /clients/:id update client [partner only]
DELETE /clients/:id delete client [partner only]
POST /clients/:id/matters add matter to client [partner only]
DELETE /clients/:id/matters/:num remove matter [partner only]
POST /clients/check-conflict check name against adversary lists [partner only]
GET /time-entries billable time entries (lawyers: own only; partners: all)
query: profileId, taskId, matterNumber, from, to
GET /time-entries/export.json full time entry export as JSON [partner only]
GET /time-entries/export.csv full time entry export as CSV [partner only]
GET /analytics/noslegal NOSLEGAL facet breakdown across visible tasks [partner only]
GET /cost/summary aggregate CostSummary across all calls [partner only]
GET /tasks/:id/cost { taskId, summary, entries } (same access as task)
GET /profiles/:id/cost { profileId, summary, entries } [partner or self]
GET /auth/providers which OAuth providers are configured
GET /auth/:provider/login start OAuth login (google|microsoft|linkedin)
GET /auth/:provider/callback OAuth callback → session cookie
POST /auth/logout clear session
GET /auth/clio/status Clio connection status { connected, firmName, connectedAt }
GET /auth/clio/connect begin Clio OAuth flow [partner only]
GET /auth/clio/callback Clio OAuth callback → store tokens
DELETE /auth/clio/disconnect revoke stored Clio tokens [partner only]
POST /tasks/from-clio-matter import Clio matter → ingest docs → submit task [partner only]
POST /time-entries/sync-to-clio push BigLaw time entries to Clio activities [partner only]
GET /audit query audit log (access-filtered)
GET /audit/stream SSE live audit stream (access-filtered)
GET /health health check
POST /bots/teams/webhook Big Michael Teams Outgoing Webhook receiver
POST /bots/teams/notify Internal: post message to a Teams channel
POST /bots/teams/matter-link Link a matter to a Teams Incoming Webhook URL
GET /bots/teams/matter-link/:mn Get the Teams webhook URL for a matter
DELETE /bots/teams/matter-link/:mn Remove a matter→channel link
POST /bots/slack/events Big Michael Slack Events API receiver
POST /bots/slack/notify Internal: post message to a Slack channel
POST /bots/slack/matter-link Link a matter to a Slack channel ID
GET /bots/slack/matter-link/:mn Get the Slack channel for a matter
DELETE /bots/slack/matter-link/:mn Remove a matter→channel link
POST /redline Playbook-aware contract redline
POST /headnotes/generate Headnote extraction from case opinions
POST /precedents/generate Precedent document generation