---
title: "Passeport d’UNE voix : version, provenance, formats appris, gouvernance, accès et carte publique des brins"
method: GET
path: "/api/v1/voice"
tags: ["Voix"]
---

# Passeport d’UNE voix : version, provenance, formats appris, gouvernance, accès et carte publique des brins

`GET /api/v1/voice`

## Request

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

## Query parameters

- `profileId` string

## Response `200`

Succès.

- Voice
  - `passport` object, required
    - `version` 'kaneme.voice-passport.v1', required
    - `identity` object, required
      - `profileId` string, required
      - `name` string, required
      - `active` boolean, required
      - `revisionId` string, required
      - `referenceId` string, required
      - `styleVersion` string, required
      - `updatedAt` string, required
    - `provenance` object, required
      - `policy` 'human_attested_only', required
      - `confirmedHumanTexts` number, nullable, required
      - `confirmedHumanWords` number, nullable, required
      - `legacyWords` number, required
      - `aiWords` number, required
      - `duplicateTexts` number, required
    - `learning` object, required
      - `status` 'unknown' | 'provisional' | 'documented', required
      - `progressPercent` number, nullable, required
      - `formats` object[], required
        - `format` string, required
        - `languages` string[], required
        - `humanTexts` number, required
        - `humanWords` number, required
        - `q1Measurable` boolean, required
        - `learned` boolean, required
        - `learningStatus` 'unlearned' | 'provisional' | 'ready', required
        - `subvoiceActive` boolean, required
      - `confirmedBeliefs` number, required
      - `pendingDecisions` number, required
      - `feedbackSignals` number, required
    - `governance` object, required
      - `ownerControlled` true, required
      - `approvalRequired` true, required
      - `reversible` true, required
      - `restorableVersions` number, required
    - `portability` object, required
      - `contextContract` 'kaneme.portable-voice.v2', required
      - `rest` true, required
      - `mcp` true, required
      - `exportable` true, required
      - `revocable` true, required
    - `access` object, required
      - `policy` 'explicit_scopes', required
      - `activeConnections` number, required
      - `availableScopes` string[], required
      - `currentScopes` string[], nullable, required
    - `links` object, required
      - `prepareContext` '/api/v1/voice/context', required
      - `export` string, required
      - `manageAccess` '/connexions', required
      - `history` string, required
    - `limitations` string[], required
  - `profileId` string, required
  - `name` string, required
  - `maturityPercent` number, nullable, required: Deprecated: no maturity percentage; use coverage.
  - `coverage` object
    - `version` 'kaneme.voice-coverage.v2', required
    - `updatedAt` string, nullable, required
    - `references` object, required
      - `confirmedTexts` number, nullable, required
      - `confirmedWords` number, nullable, required
      - `legacyWords` number, required
      - `aiWords` number, required
      - `duplicateTexts` number, required
    - `contexts` object[], required
      - `language` string, required
      - `languageSource` 'detected', required
      - `format` string, nullable, required
      - `texts` number, required
      - `words` number, required
    - `preferences` object, required
      - `confirmed` number, nullable, required
      - `proposed` number, nullable, required
      - `feedbackCount` number, required
      - `note` string, required
    - `readiness` object, required
      - `status` 'unknown' | 'provisional' | 'documented', required
      - `percent` number, nullable, required
      - `referenceWords` number, required
      - `targetWords` number, required
      - `coveredContexts` number, required
      - `targetContexts` number, required
      - `limitation` string, required
    - `nextAction` string, required
    - `limitation` string, required
  - `maturityLevel` string, required
  - `calibration` object, required
    - `level` number, required
    - `signals` number, required
  - `signatureWordCount` number, required
  - `bannedWordCount` number, required
  - `topFormats` string[], required
  - `genome` object, nullable, required
    - `version` string, required
    - `activeCount` number, required
    - `strandCount` number, required
    - `strands` object[], required
      - `id` 'identite' | 'style' | 'cadence' | 'lexique' | 'convictions' | 'sous_voix' | 'rejets' | 'coffre', required
      - `label` string, required
      - `active` boolean, required
  - `trajectory` object, nullable, required
    - `version` string, required
    - `from` string, required
    - `to` string, required
    - `spanDays` number, required
    - `shifts` object[], required
      - `axis` string, required
      - `label` string, required
      - `direction` 'up' | 'down', required
      - `gap` number, required
    - `sentence` string, required
    - `note` string, required
  - `language` 'fr' | 'en', nullable, required: Language of the voice: every reference and every measured text must be written in it. null until a text or a choice sets it.
  - `languageSource` 'confirmed' | 'detected' | 'none' | 'mixed', required: confirmed: chosen by the author; detected: read on the corpus; none: no text yet; mixed: legacy corpus in both languages with no choice — references are refused until the author chooses.

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