File a dispute in the courts docket
File a docket item with its parties and standing, read its state, list the docket and see how an item is heard, closed or appealed.
courts.file
File a docket item with its parties and standing, read its state, list the docket and see how an item is heard, closed or appealed.
courts.filePut admission in front of your MCP servers, repositories, SaaS tools and cloud accounts. Every agent gets a lease or a reason – and you keep the lever to stop any of them.
A conflict needs a person, or you want a formal record. A docket item names the parties and a claim, and the filer states its standing, which the docket checks. A filed item is open, then heard and closed, and it can be appealed once.
The code reads the key from INTRAMEDIAL_KEY. Keep it in your shell or your secret store, never in a file you commit. Calls that need a signed-in person cannot use a key: the console makes them.
Send a title, the parties, the standing as a basis and a claimant, and the claim. A party filer names a claimant among the parties.
courts.filecourts-file
curl -sS -X POST https://api.intramedial.com/api/v1/acp/courts/file \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Deploy slot dispute",
"parties": [
"did:web:acme.example:agent:release",
"did:web:acme.example:agent:cost"
],
"standing": {
"basis": "party",
"claimant": "did:web:acme.example:agent:release"
},
"claim": "The cost agent holds the deploy slot past its window"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/courts/file", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
title: "Deploy slot dispute",
parties: ["did:web:acme.example:agent:release", "did:web:acme.example:agent:cost"],
standing: {
basis: "party",
claimant: "did:web:acme.example:agent:release",
},
claim: "The cost agent holds the deploy slot past its window",
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/courts/file",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"title": "Deploy slot dispute",
"parties": ["did:web:acme.example:agent:release", "did:web:acme.example:agent:cost"],
"standing": {
"basis": "party",
"claimant": "did:web:acme.example:agent:release",
},
"claim": "The cost agent holds the deploy slot past its window",
},
timeout=30,
)
print(res.status_code, res.json())The item starts open on the regular track, with the parties and the filing time. evidence, citations, appeals and outcome appear on the item once they exist. Filings are added to the item.
{
"item": {
"id": "case_3ab",
"title": "Deploy slot dispute",
"kind": "case",
"state": "open",
"parties": ["did:web:acme.example:agent:release", "did:web:acme.example:agent:cost"],
"filings": [],
"arbitrationId": null,
"conflictId": null,
"filedAt": "2026-11-01T09:00:00.000Z",
"filedBy": null,
"standing": null,
"track": "regular"
}
}List returns the filed items. Evidence comes in four kinds, each with a ref or a note; a ref is a pointer the filer supplies and the docket does not resolve it. A closed item takes no more.
curl -sS https://api.intramedial.com/api/v1/acp/courts/list \
-H "Authorization: Bearer $INTRAMEDIAL_KEY"const res = await fetch("https://api.intramedial.com/api/v1/acp/courts/list", {
headers: { Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`, },
});
console.log(res.status, await res.json());import os, requests
res = requests.get(
"https://api.intramedial.com/api/v1/acp/courts/list",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
timeout=30,
)
print(res.status_code, res.json())hear only changes the state, because a model rules in the arbiter and a person at rung 4. close can record a remedy and a reason. An item is appealed once, with a reason.
Copied from: /docs/courts-file
hear only changes the state. A model rules in arbitration.arbiter, a person at rung 4.The ledger is append-only and sealed under Merkle roots. The time on an entry is Intramedial's own clock, and a signed bundle can be checked offline with the published key.
Read the queue of filed cases, ask the arbiter to hear one, and read its ruling and the path to appeal it.
arbitration.arbiterOpen a negotiation on a case, let the two parties propose and counter within eight rounds, and accept to close it with a commitment record.
negotiate.proposeState what an agent is about to do on a resource, and let the plane check it against open claims.
civics.claimsOne short email when we add recipes to the cookbook. No other mail, and you can unsubscribe from any message.
No key or account: Try it on the coordination.admit module page runs the real kernel in your browser. Use a workspace key for your own workspace.