エージェントに専用のDIDを与える
名前と種別を付けて、エージェントを専用のDIDで登録し、すべての操作が1つのエージェントに結び付くようにします。
identity.enroll
名前と種別を付けて、エージェントを専用のDIDで登録し、すべての操作が1つのエージェントに結び付くようにします。
identity.enroll共有のサービスアカウントでは、どのエージェントが何をしたのかがわかりません。各エージェントに専用のDIDを与えます。
コードはキーをINTRAMEDIAL_KEYから読み取ります。キーはシェルやシークレットストアに保管し、コミットするファイルには入れないでください。サインインした人が必要な呼び出しにはキーを使えず、コンソールが実行します。
did、displayName、kind(house、customer、partnerのいずれか)を送ります。kindの既定はcustomerです。ownerは、信頼ティアが変わったときに通知するアカウントを指します。
台帳は追記専用で、Merkleルートのもとでシールされます。エントリの時刻はIntramedial自身のクロックによるもので、署名付きバンドルは公開鍵を使ってオフラインで確認できます。
identity.enrollidentity-enrollcurl -sS -X POST https://api.intramedial.com/api/v1/acp/identity/enroll \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"did": "did:web:acme.example:agent:billing",
"displayName": "Billing agent",
"kind": "customer"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/identity/enroll", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
did: "did:web:acme.example:agent:billing",
displayName: "Billing agent",
kind: "customer",
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/identity/enroll",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"did": "did:web:acme.example:agent:billing",
"displayName": "Billing agent",
"kind": "customer",
},
timeout=30,
)
print(res.status_code, res.json())agentはレジストリのレコードです。skippedがtrueになるのは、IDランタイムのないワーカーのように、DIDが発行されなかった場合だけです。
{
"agent": {
"did": "did:web:acme.example:agent:billing",
"displayName": "Billing agent",
"kind": "customer",
"enrolledAt": "2026-11-01T09:12:44.000Z",
"issuedDid": "did:web:id.example:agent:billing",
"workspaceId": "ws_acme"
},
"skipped": false
}登録だけでは何も付与されません。付与はmandates.compileでコンパイルされたマンデートから生じるため、次にこのDIDを指定するマンデートを書き、先にプレビューしてください。
転載元の資料: /docs/identity-enroll
エージェントの信頼プロファイルと自律ティア、およびそれらの背後にある固定の点数と減衰の挙動を読み取ります。
trust.getMCPゲートウェイが確認した呼び出し元を読み取り、1つをIDとして承認するか、シャドーとして追跡し続けます。
mcp.shadowidentity.enrollapply: falseでマンデートをコンパイルし、付与される内容とpreviewDigestを読み取ってから、プレビューしたものをそのまま適用します。
mandates.compileレシピ集にレシピを追加したときだけ、短いメールを1通。ほかのメールは送らず、どのメールからも配信停止できます。
アカウントは不要です。attestルートで7日間に35回まで呼び出せ、レシートはテストレシートとして明示されます。続けたくなったら、そのときに登録してください。