API REFERENCE
Generated from the same routes manifest the surface ships — path, method, and request/response examples as JSON. The base path is this host; requests and responses are application/json unless noted.
Reads
Reading a filing’s status is never reserved — keyless from the first call, served live off the api.lawyer substrate. Typed AXP envelopes throughout: OK | EMPTY | BLOCKED.
{
"type": "OK",
"results": [
{
"id": "m_1",
"filing": "patent.provisional",
"status": "intake",
"title": "[demo] Sample provisional patent application",
"meter": { "predicate": "uspto.receipt", "released": false, "amountUsd": 199 }
}
]
}{
"type": "OK",
"filing": {
"id": "m_1",
"filing": "patent.provisional",
"status": "intake",
"assetId": "a_1",
"serial": null,
"meter": { "predicate": "uspto.receipt", "released": false, "amountUsd": 199 }
}
}File — open act
The one open filing act filings.legal sells today: the pro-se provisional patent filing. It mints a real patent-rail Matter on the substrate and returns a receipt-metered ACCEPTED — the Meter is unreleased until the USPTO receipt.
{
"title": "Distributed ledger for credential attestation",
"inventor": "Ada Inventor",
"applicantState": "TX"
}{
"type": "ACCEPTED",
"verb": "file",
"filing": "patent.provisional",
"trackingId": "m_2",
"assetId": "a_2",
"meter": { "predicate": "uspto.receipt", "released": false, "amountUsd": 199 },
"passThrough": { "usptoFeeUsd": 65, "markedUp": false },
"eta": "PT6H",
"next": { "status": "/filings/m_2" }
}File — reserved act
Reserved filings are DESCRIBED, never sold. Each returns a typed PENDING_SIGNER — the required credential, a sovereign refusal, and NO ship date — and routes the act to an independent Signer through gigs.lawyer. No substrate write happens; an agent is never routed to sign.
{
"type": "PENDING_SIGNER",
"verb": "file",
"filing": "patent.utility",
"reserved": true,
"gate": { "requiresSigner": "uspto-registration" },
"signer": { "source": "https://gigs.lawyer" },
"refusal": "An agent cannot sign a reserved filing… signed by an independent licensed professional under their own credential.",
"shipDate": null,
"note": "Described, not sold — awaiting ratification (the Rule 5.4 survey)."
}{ "type": "PENDING_SIGNER", "filing": "patent.office_action", "gate": { "requiresSigner": "uspto-registration" }, "shipDate": null }{ "type": "PENDING_SIGNER", "filing": "trademark.office_action", "gate": { "requiresSigner": "state-bar" }, "shipDate": null }Refusals are typed and worded: 400 for a malformed filing body, 403 BLOCKED for a platform-reserved scope, 404 for a filing that does not exist, and 502 when the api.lawyer substrate refuses the call (the filing was not minted; nothing is charged). A reserved filing is not a refusal — it is a typed PENDING_SIGNER, 202.