Confirmer une action destructive
Traitez 412 confirmation_required : obtenez un jeton de confirmation et rejouez l’appel avec X-Trustvice-Confirmation.
Traitez 412 confirmation_required : obtenez un jeton de confirmation et rejouez l’appel avec X-Trustvice-Confirmation.
Agents, preuves, gouvernance, commerce et divulgation sont dans Trustvice 360. Inscrivez-vous gratuitement et ouvrez toutes les suites depuis un seul tableau de bord.
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.
curlLe 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.
Appelez l’action protégée comme d’habitude. Sans jeton, elle répond 412 avec le code confirmation_required. Les docs prennent privacy.dsr.submit comme exemple.
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" }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." } }Demandez à POST /api/v1/confirmations/mint un 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.
curl -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" }'Renvoyez le même appel avec le jti du jeton dans X-Trustvice-Confirmation. L’action s’exécute alors et renvoie son vrai résultat.
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 "X-Trustvice-Confirmation: cnf_…" \
-H "Content-Type: application/json" \
-d '{ … }'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 jetons autonomous: true pour les actions de son périmètre.
POST /api/v1/autonomy/grant { "maxSafetyLevel": …, "ttlSeconds": … }
POST /api/v1/autonomy/revoke
GET /api/v1/autonomy/statusCopié de: /docs/confirmations
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.
Obtenez un jeton d’accès OAuth, trouvez une action dans le catalogue public et appelez-la sur POST /api/v1/actions/<id>.
Un court e-mail quand nous ajoutons des recettes. Rien d’autre, et désabonnement possible depuis chaque message.
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.