API

Litigo, on rails.

REST + MCP. Type-safe SDKs for TypeScript and Python. Webhooks for every agent event.

Authenticate

Bearer tokens.
Per-matter scopes.

Mint tokens in admin. Scope to a workspace, a practice group, or a single matter. Rotate on demand.

POST /v1/agents/draft-motion
Authorization: Bearer sk_live_••••••••
Content-Type: application/json

{
  "matter_id": "mat_01HZ8Q...",
  "workflow": "motion.compel",
  "inputs": {
    "discovery_requests": "doc_01HZ9T...",
    "responses":          "doc_01HZ9V...",
    "judge":              "Whitfield, A."
  },
  "approvals": ["partner_review"]
}

Endpoints.

MethodPathDescription
POST/v1/mattersCreate a matter
POST/v1/matters/:id/documentsUpload a document
POST/v1/agents/draft-motionRun the drafting workflow
POST/v1/agents/depo-digestSummarize a deposition
POST/v1/agents/researchRun a research memo
POST/v1/agents/outcomePredict an outcome band
GET/v1/runs/:idFetch a run, its outputs, its audit trail
POST/v1/webhooksSubscribe to agent events

SDKs.

// npm i @litigo/sdk
import { Litigo } from "@litigo/sdk";
const litigo = new Litigo({ apiKey: process.env.LITIGO_KEY });

const run = await litigo.agents.draftMotion({
  matterId: "mat_01HZ8Q...",
  workflow: "motion.compel",
});
console.log(run.outputs.draftUrl);
# pip install litigo
from litigo import Litigo
litigo = Litigo(api_key=os.environ["LITIGO_KEY"])

run = litigo.agents.draft_motion(
    matter_id="mat_01HZ8Q...",
    workflow="motion.compel",
)
print(run.outputs["draft_url"])