Confirmar uma ação destrutiva
Trate 412 confirmation_required: emita um token de confirmação e repita a chamada com X-Trustvice-Confirmation.
Trate 412 confirmation_required: emita um token de confirmação e repita a chamada com X-Trustvice-Confirmation.
Agentes, evidências, governação, comércio e divulgação estão no Trustvice 360. Registe-se grátis e abra todas as suítes a partir de um só painel.
Seu chamador precisa de uma ação cuja confirmationPolicy é "always", o que inclui toda ação destructive e billing_impacting. A Trustvice não as executa até que a requisição traga um token de confirmação recente: uma pessoa, ou uma concessão de autonomia explícita, precisa ter dito sim, há pouco, para esta ação.
curlO código lê os segredos de variáveis de ambiente. Guarde-os no shell ou no cofre de segredos, nunca num arquivo que vai para commit. As chamadas de ação também enviam X-Workspace-Id.
Chame a ação protegida como sempre. Sem token, ela responde 412 com o código confirmation_required. As docs usam privacy.dsr.submit como exemplo.
A chamada a mint retorna o token em jti, a ação a que ele está ligado em audience e quando expira.
{ "ok": true,
"jti": "cnf_…",
"audience": "privacy.dsr.submit",
"autonomous": false,
"expiresAt": "2026-09-14T13:20:37.675Z" }
Trustvice 360: confie nos seus agentes de IA e governe-os com evidência assinada e verificável.
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." } }Peça a POST /api/v1/confirmations/mint um token para esse id de ação. O token fica ligado ao ator que chama e à audiência da ação, dura segundos e é consumido no primeiro uso.
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" }'Envie a mesma chamada de novo com o jti do token em X-Trustvice-Confirmation. Agora a ação roda e retorna o resultado real.
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 '{ … }'Um agente que precisa chamar ações protegidas sem um clique humano a cada chamada tem uma concessão de autonomia: com prazo, com teto de segurança e registrada no workspace. Concedê-la exige um token de confirmação humano para a audiência agents.autonomy.grant. Enquanto houver uma concessão ativa que cubra a ação, mint retorna tokens autonomous: true para as ações no seu escopo.
POST /api/v1/autonomy/grant { "maxSafetyLevel": …, "ttlSeconds": … }
POST /api/v1/autonomy/revoke
GET /api/v1/autonomy/statusCopiado de: /docs/confirmations
Cada afirmação acima vem das docs da Trustvice linkadas nesta página. Onde uma página das docs diz mais, ela é a referência.
Emita um token de acesso OAuth, encontre uma ação no catálogo público e chame-a em POST /api/v1/actions/<id>.
Um e-mail curto quando somamos receitas. Nenhum outro e-mail, e você cancela por qualquer mensagem.
Um endpoint POST por ação registrada, com o mesmo comportamento via REST e MCP. As docs listam cada ação com sua entrada e permissões.