ai

POST /v1/ai/proposals/{proposalId}/decision

Approve or reject one proposal.

Todos os endpoints de ai

Autenticação

Envie uma chave de API como um token bearer. Este endpoint não especifica uma permissão específica na documentação, portanto, conceda à sua chave o mínimo necessário e verifique a resposta em vez de assumir.

Este endpoint não requer um ID de organização. Sua chave já identifica a organização à qual pertence, e a resposta é delimitada a ela.

Experimente

Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.

curl -X POST https://api.zinndigital.com/v1/ai/proposals/{proposalId}/decision \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "decision": <string<approve, reject>> }'

Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API

Detalhes

Approving APPLIES the action, **under the approver's own permissions**. The caller must hold the permission the action itself requires, in the proposal's own organization — so approving can never reach further than the approver could reach by hand. A caller without it gets a `404`, never a `403`: answering "forbidden" would confirm the proposal exists. ⛔ Not idempotent and not retryable. A second approval of an already-decided proposal is a `422`, which is the correct answer — a retry that applied the change twice would be a second cache purge or a second policy write nobody asked for.

Parâmetros

NomeTipoObrigatórioO que é
proposalId (path)UuidSim

Corpo da requisição

NomeTipoObrigatórioO que é
decisionstring<approve, reject>Sim
reasonstringNão

Resposta

NomeTipoObrigatórioO que é
idUuidSimUUIDv7 identifier — sortable by creation time (docs/02 §8).
actionstringSim
conversation_idUuidNãoThe AI conversation this came out of, or `null` for one raised by a scheduled review. ⭐ Lets a chat surface show its own suggestions without a second endpoint, and lets `/ai` sa…
action_titlestringSim
target_labelstringNão
rationalestringNãoWhy, citing the measurement. This is what a person reads before approving.
stateAgentProposalStateSim
modeAgentProposalModeSimHow an approved proposal executes — decided by the authority ladder at the moment of approval, never frozen when the proposal was written. `attended` is a person clicking; `cana…
reversibilitystring<automatic, self_healing, manual>NãoWhether this change can be put back, carried on the proposal itself so a client rendering an undo control does not have to join this list against the capability catalogue — a se…
approval_meansstringNão
outcomestringNão
proposed_bystringNão
created_atstringSim
decided_atobjectNão
applied_atobjectNão
revertedbooleanNão

Erros que este endpoint pode retornar

401 · 404 · 422 · 429