Skip to main content
🤖 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.

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:
ParâmetroTipoObrigatórioDescrição
search.search_typestringSimDefine a entidade buscada. Para processos, use sempre "lawsuit_cnj".
search.search_keystringSimO número do processo no padrão CNJ (ex: "0009999-99.9999.8.26.9999").
cache_ttl_in_daysintegerNãoOtimiza a busca retornando dados cacheados caso o processo já tenha sido consultado nos últimos X dias.
with_attachmentsbooleanNãoSe true, a Judit fará o download dos arquivos do processo.
judit_iaarrayNãoLista de features de IA aplicadas ao resultado. Envie ["summary"] para receber um resumo humanizado da capa e andamentos.
search_params.lawsuit_instanceintegerNãoForça a busca em uma instância específica (ex: 1 ou 2).
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.

Exemplo de Requisição (POST)

curl --location 'https://requests.prod.judit.io/requests/' \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '{
    "search": {
        "search_type": "lawsuit_cnj",
        "search_key": "0009999-99.9999.8.26.9999"
    },
    "with_attachments": false
}'
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:
curl --location 'https://requests.prod.judit.io/requests/<request_id>' \
--header 'api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data ''
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).
curl --location 'https://requests.prod.judit.io/responses?page_size=100&request_id=%3Crequest_id%3E' \
--header 'api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data ''

O que você recebe de volta?

O retorno é paginado e contém o Objeto Lawsuit dentro do array page_data. Se você solicitou a Judit IA, o resumo virá como um objeto adicional dentro dessa mesma lista.
Disponibilidade dos Anexos: Para garantir que um arquivo foi capturado com sucesso e está pronto para download, verifique a propriedade status dentro do objeto individual do anexo. O valor deve ser obrigatoriamente "done".

Acessando Anexos Capturados (Documentos em PDF/HTML)

Se você enviou "with_attachments": true no Passo 1 da requisição, a Judit fará o download dos arquivos públicos diretamente do tribunal. Assim que a requisição principal for concluída, estes arquivos já estarão capturados e armazenados de forma segura nos buckets da Judit. Os metadados desses arquivos estarão listados dentro do array attachments no JSON do processo.
Fidelidade de Formato: A Judit API não converte os arquivos. O anexo será retornado para você no exato mesmo formato original em que foi capturado e disponibilizado pelo tribunal. Prepare sua aplicação para receber documentos (PDF, HTML, DOCX), imagens (JPG, PNG) e até mídias de audiências (MP3, MP4).
cURL
curl --location 'https://lawsuits.prod.judit.io/lawsuits/<Número do processo>/<instância>/attachments/<attachment_id>' \
--header 'api-key: <api-key>' \
--header 'Content-Type: application/json' \
--data ''

Propriedades do Anexo

  • status: Indica o estado do arquivo no nosso banco. done significa que está pronto para download.
  • private: Se true, significa que o documento está em segredo de justiça no tribunal.
  • extension: Formato do arquivo extraído (ex: pdf, html, jpg).

Atenção ao Faturamento: Não nos responsabilizamos por consultas realizadas com números de CNJ/CPF ou processos judicialmente inválidos. Cobranças poderão ser efetuadas decorrentes de requisições com chaves malformadas enviadas à API.