Gerador de JSON Schema
Transforme exemplos reais dos seus dados em um esquema de validação: com duas amostras, uma com um valor opcional e outra sem ele, esse valor sai como opcional e o resto como obrigatório. Você paga por uso, sem assinatura.
Rode online
Rode nos nossos servidores com a sua conta. As ferramentas grátis rodam no seu navegador; esta aqui é descontada do seu saldo do KIT pelo preço acima.
do exemplo à validação em uma chamada
Por que descrever os seus dados
Uma descrição formal dos seus dados permite que um validador recuse um registro malformado antes de ele chegar à lógica de negócio, que ferramentas de geração de código criem modelos tipados e que um serviço seja testado automaticamente em vez de conferido a olho. O problema é escrevê-la à mão. Qualquer coisa além de uma lista simples de valores fica tediosa logo, ainda mais com listas aninhadas, valores opcionais e tipos misturados, e por isso muitas equipes pulam essa etapa ou deixam a descrição se afastar do que o serviço realmente devolve.
Como os exemplos moldam o resultado
O gerador lê as amostras que você fornece e deduz o tipo de cada valor, a estrutura aninhada e quais valores são obrigatórios. Obrigatório quer dizer presente em todos os exemplos: se um valor aparece em uma amostra e falta em outra, ele é marcado como opcional. Por isso vale incluir alguns casos-limite, como um registro com um valor opcional preenchido e outro sem ele. Um único exemplo também funciona, mas tudo o que ele contém fica obrigatório, e você pode afrouxar essas regras depois.
Custo por documento
Sem assinatura, sem plano: você paga as chamadas que fizer e mais nada. A compra é direta, sem criar conta.
Perguntas frequentes
Quanto custa e como eu pago?
O valor é sempre em dólares americanos, como publicado na página.
Quantos exemplos devo enviar?
Um basta para começar, mas aí todos os valores que ele contém são tratados como obrigatórios. Adicione um segundo exemplo em que falte um valor opcional e o gerador o marca como opcional, porque ele já não aparece em todas as amostras.
Funciona com estruturas aninhadas e listas?
Sim. As estruturas aninhadas e as listas dos seus exemplos são descritas nível por nível, que é justamente a parte mais lenta e sujeita a erros quando escrita à mão.
Para que serve o esquema gerado?
Um validador pode usá-lo para recusar dados malformados antes que cheguem à sua lógica de negócio, ferramentas de geração de código criam modelos tipados a partir dele e você consegue testar automaticamente se um serviço devolve o que prometeu.
Por que não escrever o esquema à mão?
Porque, além de uma lista simples de valores, o trabalho fica tedioso e cheio de erros, sobretudo com listas aninhadas, valores opcionais e tipos misturados. Muitas equipes acabam pulando essa etapa ou deixando o esquema desatualizado.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/dev/json-schema-gen \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"El informe trimestral cerró con 1,2 M€ de ingresos."}'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({
"text": "El informe trimestral cerró con 1,2 M€ de ingresos."
})
});
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={
"text": "El informe trimestral cerró con 1,2 M€ de ingresos."
},
)
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" => '{"text":"El informe trimestral cerró con 1,2 M€ de ingresos."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"El informe trimestral cerró con 1,2 M€ de ingresos."}`)
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)Exemplo de requisição
{
"text": "El informe trimestral cerró con 1,2 M€ de ingresos."
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.json_schema_gen",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
422 | task_failed | A tarefa falhou do nosso lado. Você não paga nada por ela. |
Notas técnicas
Cole um documento JSON real e receba o JSON Schema correspondente: tipos de cada campo, obrigatórios e opcionais, objetos aninhados e arrays já mapeados. É o atalho para validar payloads de APIs, formulários e integrações — em vez de escrever o schema na mão, você parte de um rascunho gerado do dado verdadeiro.
Por que gerar o schema a partir do dado real
Escrever JSON Schema à mão é chato e propenso a erro: um campo esquecido, um tipo errado, e a validação deixa passar payload quebrado. Gerando o schema a partir de um exemplo verdadeiro, a estrutura nasce fiel ao que o sistema realmente envia — cada propriedade com seu tipo, os aninhamentos no lugar, os arrays com o formato dos itens. Você revisa, marca o que é de fato obrigatório e pluga o schema no seu validador.
O fluxo pela API
Mande o JSON de exemplo em uma chamada para /dev/json-schema-gen e receba o schema pronto, também em JSON. O campo $schema indica a versão do padrão usada. Dá para automatizar: um script percorre os payloads salvos dos seus webhooks, gera um schema para cada tipo de evento e commita tudo no repositório de contratos. A partir daí, qualquer payload fora do padrão é barrado na entrada, antes de virar bug em produção.
Custo por documento
US$ 0,003 por chamada, mais US$ 0,0135 por documento processado — cerca de US$ 0,017 por schema, em dólares americanos e com o valor publicado aqui na página. Gerar os schemas de vinte tipos de evento de um sistema inteiro custa menos de US$ 0,40.
Casos de integração
Validar webhooks de pagamento
Sua loja recebe webhooks do gateway de pagamento e o backend confia que o formato nunca muda — até mudar. Gere o schema a partir de um evento real e valide todo payload na chegada: o que vier diferente é logado e rejeitado antes de bagunçar o fluxo de pedidos.
Contrato entre front e back
O time da TecnoSul Soluções Digitais mantém o front e a API em repositórios separados. Com um schema gerado a partir das respostas reais, os dois lados validam contra o mesmo contrato e a clássica discussão “o campo vinha como string” acaba.
Documentar uma API herdada
Você assumiu uma API sem documentação nenhuma. Colete respostas reais de cada endpoint, gere um schema por rota e pronto: nasce uma documentação técnica mínima e verificável do que o sistema devolve hoje.
Perguntas técnicas
O schema já marca os campos obrigatórios?
A partir de um único exemplo, o serviço mapeia todos os campos presentes — mas só você sabe o que é obrigatório de verdade no seu negócio. Revise a lista required antes de usar em produção e ajuste o que for opcional.
Serve para validar dados em qualquer linguagem?
Sim. JSON Schema é um padrão aberto: o schema gerado funciona com os validadores de JavaScript, Python, PHP, Java, Go e por aí vai. Gere uma vez, valide em todo lugar.
Tem problema mandar um JSON com dados pessoais?
O documento é processado no servidor apenas para gerar o schema da sua tarefa. Ainda assim, para payloads com CPF, e-mail ou endereço de clientes, a prática mais limpa — e mais alinhada com a LGPD — é trocar os valores por dados fictícios antes de enviar: para o schema, o que importa é a estrutura, não o conteúdo.
E se o meu JSON for gigante?
Não há limite publicado, mas raramente você precisa do documento inteiro: um exemplo representativo, com todos os campos presentes, gera um schema tão bom quanto — e sai mais barato de processar.