Aller au contenu principal

Référence

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 34 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.

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

Carte d’UNE voix : génome public, maturité, calibrage, et ce qui a changé dans le temps

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
POST
/api/v1/score

Fidélité de style 0-100 — ne dit PAS qui a écrit

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/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
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
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
GET
/api/v1/documents

Liste tes documents

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
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).

La même surface, en OpenAPI

/.well-known/openapi.json décrit ces 34 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. Mesuré face à des IA à qui on avait donné tes textes pour écrire comme toi.

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.