---
title: "Propose un changement mono-champ de la voix, sans jamais l’appliquer"
method: POST
path: "/api/v1/voice/revision-proposals"
tags: ["Voix"]
---

# Propose un changement mono-champ de la voix, sans jamais l’appliquer

`POST /api/v1/voice/revision-proposals`

## Request

- Base URL: `https://kaneme.com`
- URL: `https://kaneme.com/api/v1/voice/revision-proposals`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `profileId` string: Voix visée. Par défaut, la voix active du compte.
  - `field` 'about_me' | 'style_guide' | 'examples' | 'banned_words' | 'signature_words' | 'french_variety', required: Un seul champ de la voix.
  - `proposedValue` union, required: Valeur complète, ou {append:"…"} pour ajouter une préférence au guide sans le remplacer.
    - string
    - string[]
    - object
      - `append` string, required
  - `observation` string, required: Constat factuel justifiant la proposition.
  - `evidence` object[]: Une à vingt preuves structurées.
    - `kind` 'rewrite' | 'document' | 'format' | 'signal' | 'observation', required
    - `summary` string, required
    - `documentId` string
    - `format` string
    - `signalCount` integer
    - `term` string
    - `proposed` string
    - `kept` string
    - `kinship` number
    - `candidateDigest` string
  - `proposed` string: Version proposée par la machine, si la preuve vient d’une réécriture.
  - `kept` string: Version finalement gardée par l’auteur.
  - `sessionKey` string: Clé optionnelle pour regrouper les propositions nées dans une même séance.

## Response `200`

Succès.

- VoiceRevisionProposed
  - `proposal` object, required
    - `id` string, required
    - `profileId` string, required
    - `field` 'about_me' | 'style_guide' | 'examples' | 'banned_words' | 'signature_words' | 'french_variety', required
    - `observation` string, required
    - `proposedValue` union, required
      - string
      - string[]
      - object
        - `append` string, required
    - `evidence` object[], required
      - `kind` 'rewrite' | 'document' | 'format' | 'signal' | 'observation', required
      - `summary` string, required
      - `documentId` string
      - `format` string
      - `signalCount` integer
      - `term` string
      - `proposed` string
      - `kept` string
      - `kinship` number
      - `candidateDigest` string
    - `source` 'external_api' | 'rewrite_signal' | 'system', required
    - `sessionKey` string, required
    - `status` 'proposed' | 'snoozed' | 'applied' | 'dismissed' | 'expired', required
    - `expiresAt` string, required
    - `snoozedUntil` string, nullable, required
    - `allowedActions` string[], required
    - `createdAt` string, required
    - `appliedRevisionId` string, nullable, required
  - `created` boolean, required

## Other responses

- `400`: Requête invalide (champ manquant, borne dépassée, curseur illisible).
- `401`: Clé absente, invalide ou révoquée.
- `402`: Crédits insuffisants, OU surface non ouverte à ce compte. code = "subscription_required" : L’API et le MCP se paient en crédits, et ce compte n’en a plus. Recharge ton solde pour réactiver ta clé. code = "credits_exhausted" : lire `window` pour savoir quoi faire (recharger, attendre la période, demander à un admin de relever le budget, relever le plafond de la clé).
- `404`: Ressource introuvable.
- `409`: Conflit d’état ou de clé d’idempotence.
- `422`: Le moteur s’abstient ou le corpus est insuffisant.
- `429`: Cadence dépassée (code « rate_limited »). La réponse porte X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Window et Retry-After — attends la fenêtre indiquée : un retry immédiat la prolonge. Les plafonds appliqués sont dans x-kaneme-rate-limits. Quand le refus vient d’un plafond PAR OPÉRATION (générer, créer un document ou un projet, déposer une source), ces nombres sont ceux de CETTE opération, pas ceux de la surface.
- `500`: Erreur interne.
- `503`: Service ou compteur temporairement indisponible.

---

[API](https://skmtc.dev/kaneme/apis/kaneme-api.md) · [All operations](https://skmtc.dev/kaneme/apis/kaneme-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kaneme/apis/kaneme-api/revisions/752895651cd0?raw)
