Pular para o conteúdo principal
Resposta em cache (cached_response)Quando você cria uma consulta processual ou histórica, a Judit primeiro verifica se o dado já está em nossa base. Se estiver, devolvemos imediatamente o resultado — tanto na resposta da API quanto via webhook (se você tiver cadastrado) — com o campo cached_response: true.Em paralelo, a Judit dispara uma atualização nos tribunais. Se houver alguma mudança, você recebe uma segunda resposta com cached_response: false. Esse é o resultado mais atual.Por isso, é normal receber dois webhooks aparentemente iguais para o mesmo request_id:
  • O primeiro vem do cache (cached_response: true)
  • O último é o atualizado (cached_response: false)
Use esse campo para identificar com precisão qual retorno representa o estado mais recente do processo.
Uma extração por dia, por processoEm consultas processuais (search_type: "lawsuit_cnj"), a ida ao tribunal para buscar dados atualizados de um processo específico acontece, por padrão, no máximo uma vez por dia. Se você disparar mais de uma consulta para o mesmo processo no mesmo dia, as chamadas seguintes retornam o dado já em cache (cached_response: true), sem nova extração no tribunal.Isso é uma otimização de performance, não uma isenção de cobrança: cada requisição enviada é contabilizada e cobrada normalmente, conforme estabelecido em contrato, independentemente de o retorno ter vindo do cache ou de uma extração nova no tribunal.
A Busca Processual Assíncrona é a forma mais completa e atualizada de consultar um processo: a Judit vai até o tribunal em tempo real, baixa toda a árvore de dados (capa, partes, advogados, andamentos, classes, anexos) e devolve para você por webhook ou polling.
🤖 A rota de busca processual opera de forma assíncrona. A aplicação cliente deve fazer um POST /requests para iniciar a busca, aguardar o processamento (via Webhook ou consultando via GET /requests/{id}) e, quando o status for completed, capturar os dados via GET /responses.

Quando usar

Atualização forçada

O processo precisa estar com a fotografia mais recente do tribunal — não vale o cache do datalake.

Capa + andamentos completos

Você quer todos os campos da capa, todas as movimentações, anexos (até o limite de 1.000 por consulta) e relacionamentos.

Resumo com IA

Acionar judit_ia: ["summary"] para receber um resumo humanizado pronto para sua UI.

Processos sob segredo

Combine com o Cofre de Credenciais para acessar processos que exigem login no tribunal.
Se a velocidade é mais importante que a frescor (ex.: validação em tela, dashboard interativo), prefira a Consulta Síncrona Hot Storage — a resposta vem em milissegundos do datalake JUDIT.

Fluxo assíncrono on-demand (visão geral)

Entendendo o Fluxo Assíncrono

Como a extração de dados diretamente dos tribunais pode levar alguns segundos ou minutos (dependendo da instabilidade do tribunal), a Judit API utiliza um padrão assíncrono de requisições. O fluxo consiste em 3 passos simples:
  1. Criar a requisição: Você envia o número do processo.
  2. Acompanhar o status: Você verifica se o robô terminou a extração.
  3. Capturar o resultado: Você consome o JSON com os dados do processo.

Passo 1: Criando a Requisição de Busca

Para iniciar uma busca processual, faça uma requisição POST para a rota base de requisições enviando os parâmetros desejados no corpo (body) da chamada.

Parâmetros do Payload (Body)

Consulte a tabela abaixo para configurar sua busca, habilitar anexos ou acionar a Judit IA:
Judit IA (Beta): A funcionalidade de inteligência artificial (judit_ia) está em versão Beta. O tempo de resposta pode variar e a estrutura do resumo está sujeita a melhorias.
Limite de 1.000 anexos por requisição: Quando with_attachments: true, a Judit retorna até 1.000 anexos por consulta. Se o processo tiver mais anexos do que isso, os excedentes não vêm nessa resposta — para capturá-los, faça uma nova consulta processual para o mesmo CNJ, que trará o próximo lote de até 1.000 anexos. Repita o processo (nova consulta a cada lote de 1.000) até obter todos os anexos do processo.

Exemplo de Requisição (POST)

Guarde o valor de request_id, pois você precisará dele para os próximos passos.
🚀 Atalho: Automatize com Webhooks (Recomendado)Se você possui uma URL de Webhook configurada, os Passos 2 e 3 abaixo são totalmente opcionais. Em vez de programar sua aplicação para ficar perguntando o status da requisição, a Judit API enviará os processos encontrados de forma incremental diretamente para o seu servidor assim que eles forem capturados, finalizando o fluxo com um evento de request_completed.👉 Aprenda a configurar e receber Webhooks aqui

Passo 2: Consultar o Status da Requisição

Esta etapa é crucial caso você não esteja utilizando Webhooks. As respostas são inseridas no banco de dados de forma incremental à medida que os robôs interagem com o tribunal.
Para saber se a extração finalizou, consulte o endpoint de histórico de requisições passando o ID gerado no Passo 1:
Aguarde até que a propriedade status mude para "completed".

Passo 3: Capturar o Resultado (O Processo)

Assim que o status estiver completed, você pode resgatar os dados completos do processo judicial (e o resumo da IA, se solicitado).

Exemplo de requisição (GET)

Exemplos de resposta

O que você recebe de volta?

O retorno é paginado e contém o Objeto Lawsuit dentro do array page_data. Se você solicitou a **Judi esa de seus direitos perante o Usuário 2.}