Donner à un agent son propre DID
Enregistrez un agent sous son propre DID, avec un nom et un type, pour que chaque action corresponde à un seul agent.
identity.enroll
Enregistrez un agent sous son propre DID, avec un nom et un type, pour que chaque action corresponde à un seul agent.
identity.enrollFaites passer actions d’agents, hash de contenu, contrôles d’API, requêtes DNS, webhooks, appels LLM et commits git par Intramedial. Obtenez un reçu signé vérifiable par tous – sans nous croire.
Un compte de service partagé cache quel agent a fait quoi. Donnez à chaque agent un DID qui lui est propre.
Le code lit la clé depuis INTRAMEDIAL_KEY. Gardez-la dans votre shell ou votre coffre à secrets, jamais dans un fichier que vous commitez. Les appels qui exigent une personne connectée ne peuvent pas utiliser de clé : c’est la console qui les fait.
Envoyez le did, un displayName et un kind valant house, customer ou partner ; le type vaut customer par défaut. owner nomme le compte à prévenir quand son niveau de confiance change.
Le registre est en ajout seul et scellé sous des racines de Merkle. L’heure d’une entrée est l’horloge propre d’Intramedial, et un bundle signé peut être vérifié hors ligne avec la clé publiée.
identity.enrollidentity-enroll
curl -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 est l’enregistrement du registre. skipped n’est vrai que si aucun DID n’a été émis, comme sur un worker sans runtime d’identité.
{
"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
}L’inscription n’accorde rien. Les droits viennent des mandats compilés avec mandates.compile : écrivez donc ensuite un mandat qui nomme ce DID, et prévisualisez-le d’abord.
Copié de: /docs/identity-enroll
Lisez le profil de confiance et le niveau d’autonomie d’un agent, ainsi que les valeurs en points fixes et la décroissance derrière les deux.
trust.getLisez les appelants que la passerelle MCP a vus, puis reconnaissez-en un comme identité ou gardez-le suivi comme agent fantôme.
mcp.shadowidentity.enrollCompilez un mandat avec apply: false, lisez les droits qu’il accorderait et son previewDigest, puis appliquez exactement ce que vous avez prévisualisé.
mandates.compileUn court e-mail quand nous ajoutons des recettes. Rien d’autre, et désabonnement possible depuis chaque message.
Sans compte : 35 appels sur 7 jours sur les routes attest, avec des reçus marqués test. Inscrivez-vous quand vous voulez continuer.