Skip to main content

API REST v1

Consulte les opérations REST, leur coût et le contrat OpenAPI : paramètres, réponses, erreurs et objets à interpréter sans ambiguïté.

Les 51 opérations

Header Authorization: Bearer kaneme_… sur chaque appel. Réponses JSON, erreurs explicites — le tableau des codes est dans les règles d'appel.

Voix22 opérations

GET
/api/v1/recipes/{recipeId}

Lire une recette et sa version

0 crédit
POST
/api/v1/recipes/prepare

Préparer une recette pour le modèle externe sans génération Kaneme

0 crédit
POST
/api/v1/changes

Proposer un changement à valider par le propriétaire via approvalUrl

0 crédit
GET
/api/v1/changes/{changeId}

Suivre une décision vérifiée

0 crédit
POST
/api/v1/history

Lire les versions et décisions conservées

0 crédit
POST
/api/v1/exports

Exporter une copie privée datée sans synchronisation

0 crédit
GET
/api/v1/voices

Liste tes voix (id, laquelle est active, maturité) — pour choisir laquelle utiliser

0 crédit
POST
/api/v1/voices

Crée une voix (interview, ou tes vrais textes — provenance:"human" exigée)

5 crédits
GET
/api/v1/voice

Passeport d’UNE voix : version, provenance, formats appris, gouvernance, accès et génome public

0 crédit
POST
/api/v1/voice/context

Prépare la voix pour le modèle de ton assistant — lecture gratuite, sans génération

0 crédit
GET
/api/v1/voice/references

Liste les vrais textes qui enrichissent la référence mesurée d’une voix

0 crédit
POST
/api/v1/voice/references

Ajoute un vrai texte humain au corpus mesuré et historise la nouvelle révision

0 crédit
DELETE
/api/v1/voice/references/{referenceId}

Retire une référence du corpus sans l’effacer ; elle reste restaurable

0 crédit
POST
/api/v1/voice/references/{referenceId}/restore

Restaure une référence retirée et crée une nouvelle révision de voix

0 crédit
GET
/api/v1/voice/revision-proposals

Liste les changements ADN proposés, leurs preuves, leur expiration et les décisions permises

0 crédit
POST
/api/v1/voice/revision-proposals

Propose un changement mono-champ de l’ADN, sans jamais l’appliquer

0 crédit
POST
/api/v1/voice/revision-proposals/{proposalId}/decision

Applique, refuse ou reporte une proposition ; appliquer exige l’accord explicite du propriétaire

0 crédit
GET
/api/v1/voice/assets

Le COFFRE d’une voix : ce avec quoi tu prouves (preuves, cas clients, témoignages…)

0 crédit
POST
/api/v1/voice/assets

Verse une preuve au Coffre — kind requis, provenance:"human" exigée sur les preuves

1 crédits
GET
/api/v1/voice/beliefs

Tes convictions : les positions injectées à chaque génération (lecture seule)

0 crédit
GET
/api/v1/voice/subvoices

Tes sous-voix par canal — pourquoi un texte sort autrement selon le format

0 crédit
POST
/api/v1/signal

Fais APPRENDRE la voix : accepté / rejeté / rejet qualifié — gratuit

0 crédit

Compte3 opérations

GET
/api/v1/me

Palier + crédits du compte

0 crédit
GET
/api/v1/estimate

Ce qu’une action coûtera AVANT de la lancer — sans argument, tout le tarif

0 crédit
POST
/api/v1/voice/executions/estimate

Confirme le coût de vérification dans un parcours portable suivi

0 crédit

Mesure6 opérations

GET
/api/v1/measurements/{measurementId}

Relit un relevé privé, lié au texte et à sa référence

0 crédit
POST
/api/v1/score

Relevé d’automatismes et écarts locaux — score historique, aucune probabilité d’attribution

0 crédit
POST
/api/v1/verify

Paternité en PROBABILITÉ calibrée — ta voix face à celle de l’IA, ou face à un autre humain

1 crédits
POST
/api/v1/compare

Compare un texte à une référence FOURNIE (autre auteur collé, ou une autre voix)

2 crédits
POST
/api/v1/certify

Émet le certificat PUBLIC d’un document (« ce texte signe ma voix »)

3 crédits
POST
/api/v1/verdict

Mesure d’essai, sans compte : un texte contre trois textes de référence collés dans l’appel

0 crédit

Certificat3 opérations

POST
/api/v1/certificates/prepare

Prépare et chiffre une publication de certificat, sans débit ni publication

0 crédit
POST
/api/v1/certificates/publish

Publie un certificat préparé et approuvé ; renvoie page, JSON et badge SVG

3 crédits
GET
/api/v1/certificate/{token}

Vérifie un certificat par son token (public, sans crédit) — « ce texte est-il attesté de X ? »

0 crédit

Écriture4 opérations

POST
/api/v1/generate

Écrit dans ta voix (draft, outline, section, challenge, bar-test, workflow)

1-2 crédits
POST
/api/v1/improve

Réécrit un TEXTE EXISTANT dans ta voix (passe corrective) — « améliore ce contenu »

2 crédits
GET
/api/v1/recipes

Tes recettes (Prompts) et le catalogue Kaneme

0 crédit
POST
/api/v1/recipes/{recipeId}/run

Rejoue une recette sur un texte, dans ta voix

1 crédits

Projets6 opérations

GET
/api/v1/projects

Liste tes projets — pour savoir où ranger

0 crédit
POST
/api/v1/projects

Crée un projet (mémoire de marque) relié à une voix

0 crédit
POST
/api/v1/sources

Ajoute au CONTEXTE d’un projet (recherche web, notes) — nourrit le RAG, pas l’onglet Sources

1 crédits
GET
/api/v1/projects/{projectId}/contexts

Liste la matière vectorisée d’un projet, active, archivée ou à la corbeille

0 crédit
GET
/api/v1/sources/inbox

Lit l’onglet Sources : ta matière à trier (inbox · saved · used · archived)

0 crédit
POST
/api/v1/sources/inbox

Dépose une trouvaille dans l’onglet Sources — gratuit, réversible, c’est toi qui tries

0 crédit

Documents5 opérations

GET
/api/v1/documents

Cherche et liste tes documents (titre, projet, canal)

0 crédit
POST
/api/v1/documents

Crée un document (Markdown, voix, canal, provenance)

0 crédit
GET
/api/v1/documents/{id}

Lit un document (texte + HTML)

0 crédit
PATCH
/api/v1/documents/{id}

Corrige un document existant plutôt que d’en créer un second

0 crédit
DELETE
/api/v1/documents/{id}

Met le document à la corbeille (restaurable 30 jours)

0 crédit

Cycle de vie2 opérations

GET
/api/v1/trash

Liste la corbeille restaurable ; aucune purge définitive par API/MCP

0 crédit
POST
/api/v1/lifecycle

Prévisualise ou applique jusqu’à 10 archivages, mises à la corbeille, restaurations ou révocations

0 crédit

Exemple — écrire un post LinkedIn dans ta voix

Générer

curl -X POST https://kaneme.com/api/v1/generate \
  -H "Authorization: Bearer kaneme_VOTRE_CLE" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "3 leçons de mon dernier projet client", "type": "draft", "format": "linkedin_post"}'

format (optionnel) cadre le canal : linkedin_post, newsletter, blog, thread, tweet_short, instagram, tiktok_script, marketing_page (page de vente), academic_article (article académique), email, slack, internal_note et executive_communication. Ces quatre formats professionnels peuvent apprendre une sous-voix sans être pour autant mesurables par Q1.

La même surface, en OpenAPI

/.well-known/openapi.json décrit ces 51 opérations en OpenAPI 3.1 — paramètres, corps, en-tête d'idempotence, codes d'erreur, codes d'abstention, le coût, la cadence et le budget de chacune, et un exemple d'appel et de réponse. De quoi générer un client ou brancher un agent sans lire cette page — et sans clé pour le lire. Le document est calculé depuis la même source que le tableau ci-dessus, et un test le compare aux routes réelles : il ne peut pas dériver.

Les objets, et les contresens

Cinq choses que la liste d'endpoints ne dit pas, et dont chacune a déjà coûté une intégration ratée.

Deux nombres, deux questions

/score mesure une fidélité de style : ce texte sonne-t-il travaillé et personnel ? Il ne dit pas qui a écrit — un texte de quelqu'un d'autre peut obtenir 90. /verify répond à la question d'auteur, et rend une probabilité calibrée plutôt qu'un score : question="q1" (ta voix vs celle de l'IA) ou question="q2" (toi vs un autre humain). Un même score ne vaut pas la même probabilité selon la question. Calibration face aux imitations IA des auteurs du banc, réalisées à partir de leurs textes de référence.

C'est un indice, jamais une preuve opposable : face à un texte machine retravaillé pour passer, le haut de l'échelle sur-promet (96 % annoncé, 88 % réel — mesuré, publié sur /methode).

Sur q2, la réponse porte aussi explanation : quatre écarts observés — cadence, registre, structure et lexique. Chaque facteur donne une direction lisible, jamais un sous-score causal. Ces observations éclairent la décision ; elles ne décomposent pas la probabilité produite surtout par la couche profonde.

Écrire, ou améliorer ce qui existe déjà

/generate PART d'un sujet et rédige dans ta voix. /improve PART d'un texte déjà écrit — celui que ton agent vient de produire — et le réécrit dans ta voix : « améliore ce contenu avec ma voix ». C'est une passe corrective bornée (elle corrige les défauts constatés, préserve le fond et la longueur) et renvoie le texte + le score avant/après. Rien à corriger ? Le texte revient inchangé, sans débit.

/compare répond à « ce texte est-il de la même main que celui-ci ? » contre une référence que TU fournis — un autre auteur collé, ou une autre de tes voix. Même honnêteté que /verify : probabilité calibrée, abstention si la mesure ne tranche pas, plancher hors de ton genre.

Le Coffre — et pourquoi une preuve s'atteste

Trois endroits différents, à ne pas confondre : /sources/inbox est ta boîte de réception (gratuite, tu tries), /sources nourrit la mémoire d'un projet (ce dont tu parles), et /voice/assets est le Coffre d'une voix : ce avec quoi tu prouves.

kind est requis et fermé (preuve · cas_client · temoignage · resultat · histoire) — c'est lui qui distingue une preuve d'une note. Sur les quatre types de preuve, provenance:"human" est exigée : cette matière sera citée comme vérifiable, donc elle doit être réelle. Un agent n'invente pas un cas client à ta place.

Tes convictions et tes sous-voix se lisent, mais ne s'écrivent pas depuis l'API : une conviction posée par un agent n'est pas une conviction, et activer une sous-voix change tous tes textes sur ce canal. Ces deux gestes restent les tiens, dans l'app.

Créer une voix — et pourquoi la provenance compte

POST /api/v1/voices compile une nouvelle voix. Deux modes : mode:"interview" (une transcription questions/réponses) ou mode:"samples" (de vrais textes déjà écrits, qui deviennent la cadence de référence de la voix, réinjectée à chaque génération).

En interview, ton agent mène l'entretien lui-même — express (~5 questions) ou complet (~15) — puis passe la transcription à compiler. Côté MCP, le script des questions vit dans la description de l'outil create_voice.

Le mode samples exige provenance:"human". Ce n'est pas une formalité : une voix ancrée sur de l'IA n'est plus ta voix, c'est une IA-en-voix qui se mesurerait elle-même. Un agent ne doit jamais y coller un texte qu'il vient de générer — s'il n'est pas de ta main, c'est le mode interview qui convient. Sans l'attestation, l'appel est refusé, pas dégradé en silence.

Un projet, sa mémoire, sa preuve

/projects crée un projet relié à une voix ; /sources y verse ce que ton agent a trouvé (recherche web, notes) — le texte est vectorisé et récupéré ensuite par le RAG. Il suffit alors de passer projectId à /generate pour écrire en héritant de cette mémoire.

/certify émet la page publique d'un document — « ce texte signe ma voix ». Elle n'est délivrée que si la paternité est réellement mesurée et affirmée : sinon le certificat est refusé, sans débit. Le public ne voit qu'une bande (label + affirmation), jamais de score. À n'appeler que sur ta demande : ça publie.