The endpoint is easy. The substrate is the product.
Calling a lawyer is harder than calling software. Eight primitives sit underneath the call. Here is which of them run today, and which are still ahead.
Exposing an endpoint is the easy part. Anyone can put POST /review in front of a form and a queue. Calling a lawyer is harder than calling conventional software, because the call has to carry everything a legal engagement carries: who is asking, what they may authorize, who may lawfully do the work, whether that person can take it, what was agreed, what was done, and who gets paid when.
Every agent and application that needs legal work would otherwise rebuild that machinery. The substrate's job is to absorb it once.
Eight primitives
A legal request passes through eight things between the caller and the result. They are not implementation details. They are the product. We would rather show you the honest map than the finished one, so each comes with what api.lawyer ships today, all of it callable in the keyless sandbox.
- Intent: the action, the artifact, the question. Today an order opens a Matter with its type, its Client and its Asset.
- Policy: scope, authority, budget. Today a Tenant's Guardrails cap the fee a Gig may carry, and agents run under a hard spend ceiling.
- Routing: jurisdiction and capability. Today jurisdiction comes from a ratified rules table, never inferred ad hoc.
- Trust: identity and credentials. Today a Signer's standing is checked before an Attestation lands.
- Engagement: conflicts and terms. Today Consent is journaled at intake, and a Signer reads the Conflicts Sheet and may pass.
- Execution: the work, the messages, the artifacts. Today the agent proposes, the Gate decides, and only the Gate commits.
- Result: a judgment and a deliverable. Today that is a typed state and an append-only journal the Matter's stage derives from.
- Settlement: payment and the record. Today the Meter releases only on the receipt, and the flat Legal Fee is the Signer's own.
Then the caller resumes, holding a structured result instead of an email thread.
And here is what is not live yet, said plainly. Signer credentials are checked against fixture identities in the sandbox; checking them against the authoritative registries in production is the next step, not a shipped one. The Conflicts Ledger exists, but it waits for verified practitioner credentials before it opens at the top level. Neither is hidden behind a claim on this page.
Where the boundary shows up in code
Execution and routing meet at the reserved act. The agent advances the Matter through every stage it may run, and when the next act needs a licensed human, the advance doesn't fake success. It returns the escalation:
{ "matter": { "id": "m_5", "stage": "sign", "status": "waiting_on_signer" }, "escalated": { "reservedAct": "file", "gigId": "gig_sandbox_2", "feeUsd": 150 }}
Settlement is the same discipline from the other side. Ask for it before the work is done and the Meter says no:
{ "error": "no Settlement for Matter m_5 at stage 'sign' — the Meter releases only on 'fulfilled' (no filing, no charge)"}
Both answers come from the sandbox, where every envelope is marked simulated and nothing can file, charge or bind anyone. They are the same routes and the same Gate as the top level.
The SDK is the thin part
An SDK can later make this feel as simple as one line. It should. But the line is the thin part: qualification, routing, conflicts, engagement, payment, delivery and the record still have to happen underneath it, every time, correctly. That is where the work is, and where the product is.
These questions define the product
We don't think the hard questions are settled. Publishing them is part of the discipline:
- Request. What exactly is a legal request, and what is the durable model of a capability?
- Authority. What can the caller authorize, and when must a human explicitly consent?
- Routing. How do jurisdiction, credentials, specialty, availability and price interact?
- Conflicts. How are conflicts resolved programmatically without leaking confidential information?
- Engagement. When does routing become an attorney-client engagement, and how is scope represented?
- Judgment. How is AI preparation kept separate from the professional's independent determination?
- Execution. How do messages, revisions, signatures, filings and long-running matters work?
- Result. What structured object returns to the agent so its workflow can safely continue?
- Trust. What must be kept for identity, payment, dispute resolution and the record?
Every answer we ship lands in the docs and the API reference first. If you'd rather see it move, watch a Matter flow.