Properties
| Name | Type | Description |
|---|---|---|
| measurement | object | |
| question | string | |
| probability | object | |
| label | string | Bande en clair, dérivée de `probability` pour la question posée : « Signe cette voix », « Plausiblement cette voix », « Ambigu », puis « Voix générique » (q1) ou « Voix étrangère » (q2). Avant le 12/1 |
| band | string | La bande de `label`, en clé stable : `signature`, `plausible`, `ambiguous`, `foreign` (sur q1, `foreign` est une écriture générique ; sur q2, une autre voix). Présent exactement quand `label` l’est. D |
| unavailable | string | self_overlap — Le texte à juger est déjà, pour l’essentiel, dans la référence qui le juge : la mesure porterait sur elle-même. Juge un texte que la référence ne contient pas — ou retire-le du corpus d |
| language | string | |
| score | number | |
| version | string | |
| explanation | object | |
| passages | array | Présent uniquement avec `unavailable: "mixed_language"` : les phrases écrites dans l’autre langue, avec leurs positions (`start`, `end`) dans le texte jugé. Les corriger ou les retirer, puis relancer. |
| receipt | object | |
| measurementId | object | |
| axis | string | |
| profileId | string | |
| confidence | string | |
| carries | boolean | |
| selfOverlap | number | |
| creditsUsed | integer | |
| disclaimer | string | |
| fidelity | object | |
| executionReceipt | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/kaneme-com/json-schema/kaneme-com-authorship-verdict-schema.json",
"title": "AuthorshipVerdict",
"x-generated": "2026-11-13",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/kaneme-com-openapi.json#/components/schemas/AuthorshipVerdict",
"type": "object",
"properties": {
"measurement": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "kaneme.measurement.v1"
},
"axis": {
"type": "string",
"enum": [
"q1",
"q2"
]
},
"contrast": {
"type": "string"
},
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"calibrationLanguage": {
"type": "string",
"enum": [
"fr",
"en"
]
},
"candidateLanguage": {
"type": "string"
},
"engine": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"model": {
"type": "string"
},
"scoreVersion": {
"type": "string"
},
"calibrationVersion": {
"type": "string"
},
"calibrationSource": {
"type": "string"
},
"limitation": {
"type": "string"
}
},
"required": [
"version",
"axis",
"contrast",
"display",
"calibrationLanguage",
"candidateLanguage",
"model",
"scoreVersion",
"calibrationVersion",
"calibrationSource",
"limitation"
],
"additionalProperties": false
},
"question": {
"type": "string",
"enum": [
"author",
"human"
]
},
"probability": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
]
},
"label": {
"type": "string",
"description": "Bande en clair, dérivée de `probability` pour la question posée : « Signe cette voix », « Plausiblement cette voix », « Ambigu », puis « Voix générique » (q1) ou « Voix étrangère » (q2). Avant le 12/10/2026 : « Auteur probable », « Auteur plausible », « Imposteur probable ». Absent quand `unavailable` est présent."
},
"band": {
"type": "string",
"enum": [
"signature",
"plausible",
"ambiguous",
"foreign"
],
"description": "La bande de `label`, en clé stable : `signature`, `plausible`, `ambiguous`, `foreign` (sur q1, `foreign` est une écriture générique ; sur q2, une autre voix). Présent exactement quand `label` l’est. Depuis le contrat 5.3.0."
},
"unavailable": {
"type": "string",
"enum": [
"self_overlap",
"unsupported_language",
"voice_language_mismatch",
"mixed_language",
"embedding_layer",
"out_of_distribution",
"calibration_mismatch"
],
"description": "self_overlap — Le texte à juger est déjà, pour l’essentiel, dans la référence qui le juge : la mesure porterait sur elle-même. Juge un texte que la référence ne contient pas — ou retire-le du corpus de cette voix. · unsupported_language — Le texte ne se lit ni en français ni en anglais, même en départageant ces deux seules langues : le verdict n’est calibré que sur elles, chacune avec son propre moteur. Lis le champ `language` de la réponse avant d’appeler : hors du français et de l’anglais, ne demande pas de verdict. · voice_language_mismatch — Le texte et la voix de référence ne sont pas écrits dans la même langue : chaque moteur ne compare un texte qu’à une voix de sa langue. Juge ce texte avec une voix écrite dans sa langue — crée-la si elle n’existe pas. Ne le traduis pas pour contourner ce refus. · mixed_language — Le texte est dans la langue de la voix, mais au moins une phrase entière est dans l’autre langue servie : la mesure mêlerait deux moteurs. Corrige ou retire les passages renvoyés dans `passages` (positions dans le texte), puis relance. Les mots isolés — anglicismes, marques — et les citations entre guillemets ne déclenchent pas ce refus. · embedding_layer — La couche de mesure profonde n’a pas répondu ; sans elle, aucune probabilité n’est calibrée. Réessaie dans un instant si la couche de mesure redevient disponible. · out_of_distribution — Le panel de contraste ne couvre pas le registre de cette voix : la marge existerait, elle ne voudrait rien dire. Verse dans la voix des textes de référence plus proches du registre mesuré. · calibration_mismatch — La version du moteur ne correspond pas à une calibration validée. Attends la correction de la configuration du moteur. Ne modifie ni ne traduis le texte pour contourner ce refus."
},
"language": {
"type": "string"
},
"score": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"version": {
"type": "string"
},
"explanation": {
"type": "object",
"properties": {
"version": {
"type": "string"
},
"summary": {
"type": "string"
},
"caveat": {
"type": "string"
},
"factors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"cadence",
"registre",
"structure",
"lexique"
]
},
"label": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"aligned",
"mixed",
"different",
"unmeasured"
]
},
"gap": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
]
},
"detail": {
"type": "string"
}
},
"required": [
"id",
"label",
"status",
"gap",
"detail"
],
"additionalProperties": {}
}
}
},
"required": [
"version",
"summary",
"caveat",
"factors"
],
"additionalProperties": {}
},
"passages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"text": {
"type": "string"
},
"start": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"end": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"language": {
"type": "string",
"enum": [
"fr",
"en"
]
}
},
"required": [
"text",
"start",
"end",
"language"
],
"additionalProperties": {}
},
"description": "Présent uniquement avec `unavailable: \"mixed_language\"` : les phrases écrites dans l’autre langue, avec leurs positions (`start`, `end`) dans le texte jugé. Les corriger ou les retirer, puis relancer."
},
"receipt": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "kaneme.measurement-receipt.v1"
},
"measuredAt": {
"type": "string"
},
"candidateDigest": {
"type": "string"
},
"referenceId": {
"type": "string"
},
"profileId": {
"type": "string"
},
"profileRevision": {
"type": "string"
},
"axis": {
"type": "string",
"enum": [
"q1",
"q2"
]
},
"engineVersion": {
"type": "string"
},
"language": {
"type": "string"
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"reportedContextId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"contextBinding": {
"type": "string",
"const": "caller_reported"
},
"probability": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
]
},
"unavailable": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"measurement": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "kaneme.measurement.v1"
},
"axis": {
"type": "string",
"enum": [
"q1",
"q2"
]
},
"contrast": {
"type": "string"
},
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"calibrationLanguage": {
"type": "string",
"enum": [
"fr",
"en"
]
},
"candidateLanguage": {
"type": "string"
},
"engine": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"model": {
"type": "string"
},
"scoreVersion": {
"type": "string"
},
"calibrationVersion": {
"type": "string"
},
"calibrationSource": {
"type": "string"
},
"limitation": {
"type": "string"
}
},
"required": [
"version",
"axis",
"contrast",
"display",
"calibrationLanguage",
"candidateLanguage",
"model",
"scoreVersion",
"calibrationVersion",
"calibrationSource",
"limitation"
],
"additionalProperties": false
}
},
"required": [
"version",
"measuredAt",
"candidateDigest",
"referenceId",
"profileId",
"profileRevision",
"axis",
"engineVersion",
"language",
"format",
"reportedContextId",
"contextBinding",
"probability",
"unavailable",
"measurement"
],
"additionalProperties": false
},
"measurementId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"axis": {
"type": "string",
"enum": [
"q1",
"q2"
]
},
"profileId": {
"type": "string"
},
"confidence": {
"type": "string"
},
"carries": {
"type": "boolean"
},
"selfOverlap": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"creditsUsed": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"disclaimer": {
"type": "string"
},
"fidelity": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "kaneme.fidelity-verdict.v1"
},
"primary": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"measured",
"unavailable"
]
},
"label": {
"type": "string"
},
"probability": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"label",
"probability"
],
"additionalProperties": {}
},
"details": {
"type": "object",
"properties": {
"q1": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"measured",
"unavailable"
]
},
"probability": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
]
},
"label": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"confidence": {
"type": "string",
"enum": [
"none",
"low",
"medium",
"high"
]
},
"unavailable": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"probability",
"label",
"confidence",
"unavailable"
],
"additionalProperties": {}
},
"style": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"measured",
"partial",
"unavailable"
]
},
"version": {
"type": "string"
},
"dimensions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"passages": {
"type": "array",
"items": {
"type": "object",
"properties": {
"start": {
"type": "number"
},
"end": {
"type": "number"
},
"quote": {
"type": "string"
},
"observation": {
"type": "string"
},
"basis": {
"type": "string",
"enum": [
"reference",
"preference",
"observation"
]
}
},
"required": [
"start",
"end",
"quote",
"observation",
"basis"
],
"additionalProperties": false
}
},
"id": {
"type": "string",
"enum": [
"rythme",
"lexique",
"structure",
"signature"
]
},
"label": {
"type": "string"
},
"measured": {
"type": "boolean"
},
"score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"detail": {
"type": "string"
}
},
"required": [
"id",
"label",
"measured",
"score",
"detail"
],
"additionalProperties": {}
}
}
},
"required": [
"status",
"version",
"dimensions"
],
"additionalProperties": {}
},
"meaning": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"guarded",
"warning",
"not_measured"
]
},
"lexicalRetention": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1
},
{
"type": "null"
}
]
},
"checks": {
"type": "array",
"items": {
"type": "string",
"enum": [
"numbers",
"negation",
"quotes",
"protected"
]
}
},
"detail": {
"type": "string"
},
"limitation": {
"type": "string"
}
},
"required": [
"status",
"lexicalRetention",
"checks",
"detail",
"limitation"
],
"additionalProperties": {}
},
"format": {
"type": "object",
"properties": {
"format": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"type": "string",
"enum": [
"learned",
"provisional",
"q1_unmeasured",
"unknown"
]
},
"q1Measurable": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"humanDocuments": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"humanWords": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"requiredDocuments": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"requiredWords": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"detail": {
"type": "string"
}
},
"required": [
"format",
"status",
"q1Measurable",
"humanDocuments",
"humanWords",
"requiredDocuments",
"requiredWords",
"detail"
],
"additionalProperties": {}
}
},
"required": [
"q1",
"style",
"meaning",
"format"
],
"additionalProperties": {}
},
"benchmarkPolicy": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"const": "periodic_benchmark"
},
"comparedPerUserGeneration": {
"type": "boolean",
"const": false
},
"note": {
"type": "string"
}
},
"required": [
"mode",
"comparedPerUserGeneration",
"note"
],
"additionalProperties": {}
},
"limitation": {
"type": "string"
}
},
"required": [
"version",
"primary",
"details",
"benchmarkPolicy",
"limitation"
],
"additionalProperties": {}
},
"executionReceipt": {
"type": "object",
"properties": {
"version": {
"type": "string",
"const": "kaneme.portable-execution.v1"
},
"executionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"status": {
"type": "string",
"enum": [
"context_prepared",
"cost_estimated",
"verifying",
"verified"
]
},
"createdAt": {
"type": "string"
},
"completedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"expiresAt": {
"type": "string"
},
"voice": {
"type": "object",
"properties": {
"profileId": {
"type": "string"
},
"voiceRevision": {
"type": "string"
},
"referenceId": {
"type": "string"
},
"contextId": {
"type": "string"
},
"language": {
"type": "string"
},
"format": {
"type": "string"
}
},
"required": [
"profileId",
"voiceRevision",
"referenceId",
"contextId",
"language",
"format"
],
"additionalProperties": false
},
"channel": {
"type": "string"
},
"clientVersion": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"estimate": {
"anyOf": [
{
"type": "object",
"properties": {
"operation": {
"type": "string",
"const": "verify"
},
"credits": {
"type": "number"
},
"conditional": {
"type": "boolean"
}
},
"required": [
"operation",
"credits",
"conditional"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"candidateDigest": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"measurementId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"outcome": {
"anyOf": [
{
"type": "string",
"enum": [
"measured",
"abstained"
]
},
{
"type": "null"
}
]
},
"steps": {
"minItems": 4,
"maxItems": 4,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"enum": [
"context_prepared",
"cost_estimated",
"text_submitted",
"voice_verified"
]
},
"status": {
"type": "string",
"enum": [
"completed",
"pending"
]
},
"evidence": {
"type": "string",
"enum": [
"server_observed",
"client_submitted"
]
},
"completedAt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"status",
"evidence",
"completedAt"
],
"additionalProperties": {}
}
},
"limitation": {
"type": "string"
}
},
"required": [
"version",
"executionId",
"status",
"createdAt",
"completedAt",
"expiresAt",
"voice",
"channel",
"clientVersion",
"estimate",
"candidateDigest",
"measurementId",
"outcome",
"steps",
"limitation"
],
"additionalProperties": {}
}
},
"required": [
"question",
"probability",
"score",
"version",
"axis",
"profileId",
"confidence",
"carries",
"selfOverlap",
"creditsUsed",
"disclaimer",
"fidelity"
],
"additionalProperties": {}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/kaneme-com-authorship-verdict"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.