签发属于您的第一份回执。
获取免费的测试密钥,使用 content.attest 证明一个哈希值,然后再验证返回给您的那一份签名回执。
coordination.admit
获取免费的测试密钥,使用 content.attest 证明一个哈希值,然后再验证返回给您的那一份签名回执。
coordination.admit在开始构建任何东西之前,您想先从头到尾完整地走一遍整个流程:发送一个哈希值,取回一份签名回执,然后检查这个签名是否确实成立。这里的一切都可以使用免费的测试密钥来完成,完全不需要注册任何一个账户。
curl 和 jq、Node 18 或更高版本,或者附带 requests 的 Python代码从 INTRAMEDIAL_KEY 读取密钥。请把它放在您的 shell 或密钥存储中,切勿放进要提交的文件。需要已登录用户的调用不能使用密钥:这些调用由控制台发起。
打开模块页面并运行“试一试”。它在您的浏览器中运行真实内核,无需密钥和账户。更改动词或资源,观察理由如何变化。
发送执行者、资源和动词。写入或删除需要确认令牌,没有令牌则会被拒绝。请先把您的工作区密钥导出为 INTRAMEDIAL_KEY。
这次证明调用会以 201 Created 应答,并附上签名回执。响应正文会重复您所发送的内容;environment 字段则将其标记为一份测试回执。
{
"result": { "allow": false, "reason": "confirmation_required", "approvalId": "apr_7f3a" },
"llm": false
}issuedAt 时就已经存在。coordination.admitcoordination-admitcurl -sS -X POST https://api.intramedial.com/api/v1/acp/coordination/admit \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"actorDid": "did:web:acme.example:agent:billing",
"resource": "repo:payments/main",
"action": "write"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/coordination/admit", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
actorDid: "did:web:acme.example:agent:billing",
resource: "repo:payments/main",
action: "write",
}),
});
const body = await res.json();
console.log(res.status, body);import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/coordination/admit",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"actorDid": "did:web:acme.example:agent:billing",
"resource": "repo:payments/main",
"action": "write",
},
timeout=30,
)
body = res.json()
print(res.status_code, body)将这份回执发送到公开的验证路由。它不需要任何密钥,并且始终都会应答 200:请读取响应正文之中的 ok 字段,而不是去看状态码。
curl -sS -X POST https://api.intramedial.com/api/v1/acp/coordination/admit \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{"actorDid":"did:web:acme.example:agent:billing","resource":"repo:payments/main","action":"write"}' \
| jq '.result'const { result } = body;
if (result.allow) {
console.log("admitted");
} else {
console.log("refused:", result.reason, result.approvalId ?? "");
}result = body["result"]
if result["allow"]:
print("admitted")
else:
print("refused:", result["reason"], result.get("approvalId", ""))一份测试回执会在被签名的数据之中,携带一个值为 test 的 environment 字段,因此它无法冒充生产环境中的正式证据。当您需要真实的回执时,请创建一个免费账户,并改用一个工作区密钥:所有的请求都会保持完全不变,无需任何修改。
内容复制自: /docs/coordination-admit
账本仅可追加,并封存在 Merkle 根之下。条目上的时间取自 Intramedial 自己的时钟,签名包可用已发布的公钥离线核查。
用 coordination.lease 对某个资源获取独占租约,查看持有者,并在用完后释放。
coordination.lease让被拒绝的写入在审批队列中等待,直到已登录的人批准,然后带令牌重试。
coordination.approve向 MCP 网关请求 Intralock 对智能体工具调用的裁决,读取理由,并列出它已见过的调用方。
mcp.enforce当我们向实用示例中添加新示例时,会发送一封简短的邮件。不会发送其他任何邮件,而且您可以从任意一封邮件中退订。
完全无需账户:在 7 天之内可以在各个 attest 路由上调用 35 次,所生成的回执都会被标记为测试回执。当您想继续使用时,再注册账户即可。