Générateur de JSON Schema
Cet outil produit un JSON Schema à partir d’un document JSON d’exemple. Il déduit le type de chaque champ, repère les objets imbriqués et les tableaux, marque ce qui semble requis et propose un schéma que vous branchez sur votre validateur. Vous partez d’une donnée réelle, il en écrit les règles de validation.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
De l’exemple aux règles
Écrire un JSON Schema à la main est fastidieux et source d’oublis. En lui donnant un objet représentatif, vous obtenez d’un coup les types, la liste des propriétés et l’imbrication complète. Pour une réponse d’API un peu profonde, cela transforme un quart d’heure de saisie méticuleuse en une vérification de quelques secondes : vous relisez et ajustez au lieu de tout rédiger caractère par caractère.
Ce qu’il déduit, ce que vous ajustez
L’outil infère les types à partir des valeurs présentes : une chaîne reste une chaîne, un nombre un nombre. Mais un exemple ne dit pas tout : il ne sait pas quels champs sont facultatifs, ni qu’une chaîne doit respecter un format d’e-mail ou une valeur parmi une liste. Le schéma généré est une base solide ; vous y ajoutez les contraintes que seule la connaissance du domaine apporte.
Draft et compatibilité
Le JSON Schema existe en plusieurs versions, du Draft-07 aux révisions plus récentes, et votre validateur en attend une précise. Vous choisissez la version cible pour que le mot-clé de déclaration et la syntaxe correspondent à votre outillage, sans avoir à convertir le résultat après coup. C’est ce qui évite l’erreur classique : un schéma correct sur le papier, mais rejeté par la bibliothèque de validation faute de bonne version.
Où l’utiliser
Un schéma sert à valider les données qui entrent chez vous : le corps d’une requête d’API, la charge utile d’un webhook, un fichier de configuration. Vous rejetez ainsi une donnée mal formée avant qu’elle ne casse un traitement plus loin. Essayez sur cette page en collant un exemple ; pour l’intégrer à un pipeline ou générer des schémas en série, l’API prend le relais, avec d’autres canaux à venir.
Cas d’usage
Fiabiliser une API
Avant d’accepter le corps d’une requête, l’équipe de Studio Lumen SAS le valide contre un schéma. Elle génère ce schéma depuis un exemple réel, puis y ajoute les champs obligatoires et les formats attendus.
Documenter un format d’échange
Entre le back et le front, un même objet circule. Le schéma généré sert de contrat commun : chacun sait quels champs existent et de quel type, sans réunion pour l’expliquer.
Un point de départ, vite
Nadia récupère un JSON de trois cents lignes venu d’un prestataire. Plutôt que d’en écrire le schéma à la main, elle le génère, puis resserre les contraintes là où c’est utile.
Questions fréquentes
Quelle version de JSON Schema est produite ?
Vous choisissez la version cible, du Draft-07 aux révisions plus récentes, pour rester compatible avec votre validateur. Le schéma emploie la déclaration et la syntaxe correspondantes.
Devine-t-il quels champs sont obligatoires ?
Il propose une hypothèse à partir de l’exemple, mais un seul document ne suffit pas à trancher. Vérifiez la liste des champs requis et ajustez-la selon la réalité de vos données.
Puis-je fournir plusieurs exemples ?
Oui, et c’est recommandé quand vos objets varient. Plusieurs exemples aident l’outil à distinguer les champs toujours présents de ceux qui sont facultatifs, pour un schéma plus juste.
Mes données d’exemple sont-elles conservées ?
Elles sont transmises à nos serveurs le temps de générer le schéma, puis ne sont pas conservées. Utilisez de préférence un exemple représentatif plutôt qu’un enregistrement réel sensible.
Combien ça coûte ?
$0.003 par appel, plus $0.0135 par document traité, en dollars US. Le tarif est affiché, sans abonnement.
Faut-il un compte pour l’utiliser ?
Non. Vous collez votre exemple et lancez la génération. L’achat, pour un usage facturé, est direct et se fait en une fois.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/dev/json-schema-gen \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/dev/json-schema-gen", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/json-schema-gen",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/json-schema-gen", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/json-schema-gen", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.json_schema_gen",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |