ai

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

Approve or reject one proposal.

Alle ai-eindpunten

Authenticatie

Stuur een API-sleutel mee als bearer token. Dit eindpunt vermeldt geen specifieke toestemming in de specificatie, dus geef uw sleutel de minimale rechten die nodig zijn en controleer het antwoord in plaats van zomaar wat aan te nemen.

Dit eindpunt vereist geen organisatie-id. Uw sleutel identificeert al de organisatie waartoe deze behoort, en het antwoord is hierop afgestemd.

Probeer het

Vervang alles tussen punthaakjes door uw eigen waarden en de sleutelplaatsvervanger door een sleutel uit uw dashboard.

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>> }'

Ingelogd? De API-console in je dashboard vult je echte organisatie-id en je eigen sleutel in, en voert het verzoek uit tegen de live API zodat je de daadwerkelijke respons kunt zien. Open dit eindpunt in de API-console

Details

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.

Parameters

NaamTypeVerplichtWat dit is
proposalId (path)UuidJa

Aanvraaglichaam

NaamTypeVerplichtWat dit is
decisionstring<approve, reject>Ja
reasonstringNee

Reactie

NaamTypeVerplichtWat dit is
idUuidJaUUIDv7 identifier — sortable by creation time (docs/02 §8).
actionstringJa
conversation_idUuidNeeThe 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_titlestringJa
target_labelstringNee
rationalestringNeeWhy, citing the measurement. This is what a person reads before approving.
stateAgentProposalStateJa
modeAgentProposalModeJaHow 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>NeeWhether 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_meansstringNee
outcomestringNee
proposed_bystringNee
created_atstringJa
decided_atobjectNee
applied_atobjectNee
revertedbooleanNee

Fouten die dit eindpunt kan retourneren

401 · 404 · 422 · 429