ai
POST /v1/ai/proposals/{proposalId}/revert
Put an applied change back.
Authentification
Envoyez une clé d'API en tant que jeton du porteur (bearer token). Cet endpoint n'indique pas de permission spécifique dans la spécification, attribuez donc à votre clé le minimum requis et vérifiez la réponse plutôt que de faire des suppositions.
Cet endpoint ne prend aucun identifiant d'organisation. Votre clé identifie déjà l'organisation à laquelle elle appartient, et la réponse y est limitée.
Essayer
Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.
curl -X POST https://api.zinndigital.com/v1/ai/proposals/{proposalId}/revert \
-H "Authorization: Bearer zdk_live_…"Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API
Détails
Undoes a proposal that has been applied, restoring the values captured before it ran. Gated exactly as approving is — the caller must hold the action's own permission in the proposal's organization — because undoing a change is not a lesser act than making it. ⛔ An action whose effect clears on its own (a cache purge) is a `422` saying so, not a silent success: there is nothing to put back, and reporting one would be a claim that something happened. ⭐ This is also what earns a capability its rung 2. `revert_verified_at` is stamped by a revert that actually RAN, never by a form — the authority ladder wants an event rather than an intention.
Paramètres
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
proposalId (path) | Uuid | Oui | — |
Réponse
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
id | Uuid | Oui | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
action | string | Oui | — |
conversation_id | Uuid | Non | The 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_title | string | Oui | — |
target_label | string | Non | — |
rationale | string | Non | Why, citing the measurement. This is what a person reads before approving. |
state | AgentProposalState | Oui | — |
mode | AgentProposalMode | Oui | How 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… |
reversibility | string<automatic, self_healing, manual> | Non | Whether 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_means | string | Non | — |
outcome | string | Non | — |
proposed_by | string | Non | — |
created_at | string | Oui | — |
decided_at | object | Non | — |
applied_at | object | Non | — |
reverted | boolean | Non | — |
Erreurs que cet point de terminaison peut renvoyer
401 · 404 · 422 · 429