Confirmer une action destructive
Traitez 412 confirmation_required : obtenez un jeton de confirmation et rejouez l’appel avec X-Trustvice-Confirmation.
La tâche
Votre appelant a besoin d’une action dont la confirmationPolicy vaut "always", ce qui couvre toute action destructive et billing_impacting. Trustvice refuse de les exécuter tant que la requête ne porte pas un jeton de confirmation récent : un humain, ou une délégation d’autonomie explicite, doit avoir dit oui, récemment, pour cette action.
Avant de commencer
- Compte
- Un workspace Trustvice
- Identifiant
- Requis aussi
- Un jeton d’accès OAuth, comme dans la première recette
curl
Le code lit les secrets dans des variables d’environnement. Gardez-les dans votre shell ou votre coffre à secrets, jamais dans un fichier que vous committez. Les appels d’action envoient aussi X-Workspace-Id.
Étapes
Appeler l’action
Appelez l’action protégée comme d’habitude. Sans jeton, elle répond
412avec le codeconfirmation_required. Les docs prennentprivacy.dsr.submitcomme exemple.curl -sS -X POST https://api.trustvice.com/api/v1/actions/privacy.dsr.submit \ -H "Authorization: Bearer $TRUSTVICE_TOKEN" \ -H "X-Workspace-Id: ws_…" \ -H "Content-Type: application/json" \ -d '{ … }'{ "ok": false, "error": { "code": "confirmation_required", "message": "This action requires an explicit confirmation." } }Obtenir un jeton de confirmation
Demandez à
POST /api/v1/confirmations/mintun jeton pour cet identifiant d’action. Le jeton est lié à l’acteur appelant et à l’audience de l’action, vit quelques secondes et est consommé au premier usage.curlcurl -sS -X POST https://api.trustvice.com/api/v1/confirmations/mint \ -H "Authorization: Bearer $TRUSTVICE_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "actionId": "privacy.dsr.submit" }'Rejouer l’action
Renvoyez le même appel avec le
jtidu jeton dansX-Trustvice-Confirmation. L’action s’exécute alors et renvoie son vrai résultat.curlcurl -sS -X POST https://api.trustvice.com/api/v1/actions/privacy.dsr.submit \ -H "Authorization: Bearer $TRUSTVICE_TOKEN" \ -H "X-Workspace-Id: ws_…" \ -H "X-Trustvice-Confirmation: cnf_…" \ -H "Content-Type: application/json" \ -d '{ … }'Laisser un agent agir dans des limites
Un agent qui doit appeler des actions protégées sans clic humain à chaque appel détient une délégation d’autonomie : limitée dans le temps, plafonnée en niveau de sécurité, enregistrée dans le workspace. L’accorder demande un jeton de confirmation humain pour l’audience
agents.autonomy.grant. Tant qu’une délégation couvrante est active, mint renvoie des jetonsautonomous: truepour les actions de son périmètre.HTTPPOST /api/v1/autonomy/grant { "maxSafetyLevel": …, "ttlSeconds": … } POST /api/v1/autonomy/revoke GET /api/v1/autonomy/status
Copié de: /docs/confirmations
Ce qui revient
L’appel à mint renvoie le jeton dans jti, l’action à laquelle il est lié dans audience et son heure d’expiration.
{ "ok": true,
"jti": "cnf_…",
"audience": "privacy.dsr.submit",
"autonomous": false,
"expiresAt": "2026-09-14T13:20:37.675Z" }Ce sur quoi vous pouvez compter
Vous pouvez compter sur
- Un jeton de confirmation ne peut être ni rejoué ni utilisé pour une autre action.
- Une action protégée ne s’exécute jamais en silence : chaque appel demande un jeton frais ou une délégation d’autonomie couvrante.
- L’autonomie ne peut jamais être créée de façon autonome.
Ne supposez pas
- Qu’un second appel confirmé soit sans effet : les actions non sûres ne sont pas idempotentes, un second appel est un second effet.
- Qu’un jeton reste valable : il vit quelques secondes.
Chaque affirmation ci-dessus vient des docs Trustvice liées sur cette page. Quand une page des docs en dit plus, c’est elle qui fait référence.
Et ensuite
Recettes liées
Appeler une action de l’Agentic API
Obtenez un jeton d’accès OAuth, trouvez une action dans le catalogue public et appelez-la sur POST /api/v1/actions/<id>.
Connecter un client MCP
Ajoutez le serveur MCP de Trustvice sur https://mcp.trustvice.com/mcp à Claude Code, Cursor ou VS Code.
Vérifier un reçu dans le navigateur
Collez un reçu signé Trustvice dans /verify et vérifiez sa signature Ed25519 dans votre propre navigateur.
Les recettes par e-mail
Un court e-mail quand nous ajoutons des recettes. Rien d’autre, et désabonnement possible depuis chaque message.
Commencez par l’Agentic API.
Un endpoint POST par action enregistrée, avec le même comportement en REST et en MCP. Les docs listent chaque action avec son entrée et ses permissions.
