ai

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

Approve or reject one proposal.

Todos los endpoints de ai

Autenticación

Envía una clave de API como token de portador. Este endpoint no especifica un permiso concreto en la especificación, así que otorga a tu clave los mínimos privilegios necesarios y comprueba la respuesta en lugar de dar por sentado.

Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.

Pruébalo

Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.

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

¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API

Detalles

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

NombreTipoObligatorio¿Qué es esto?
proposalId (path)Uuid

Cuerpo de la solicitud

NombreTipoObligatorio¿Qué es esto?
decisionstring<approve, reject>
reasonstringNo

Respuesta

NombreTipoObligatorio¿Qué es esto?
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
actionstring
conversation_idUuidNoThe 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_titlestring
target_labelstringNo
rationalestringNoWhy, citing the measurement. This is what a person reads before approving.
stateAgentProposalState
modeAgentProposalModeHow 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>NoWhether 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_meansstringNo
outcomestringNo
proposed_bystringNo
created_atstring
decided_atobjectNo
applied_atobjectNo
revertedbooleanNo

Errores que este endpoint puede devolver

401 · 404 · 422 · 429