A Consulta de Mandados de Prisão integra com o Banco Nacional de Mandados de Prisão (BNMP 2.0) por CPF, Nome ou RJI e devolve, no padrão JSON da Judit, a ordem judicial, a pena calculada, as leis infringidas e os dados completos do indivíduo procurado. Cobre mandados preventivos, temporários, definitivos e mandados de recaptura.
🤖 Fluxo assíncrono. Mesma rota da consulta processual: POST https://requests.production.judit.io/requests com response_type: "warrant". Para baixar o anexo (PDF do mandado), use with_attachments: true.
Quando usar
Compliance / KYC reforçado Identifique mandados ativos contra a contraparte durante o onboarding ou revisão periódica.
Recursos Humanos Avaliação de antecedentes em processos seletivos para cargos sensíveis ou de confiança.
Investigação privada Localização e perfil judicial de indivíduos com fundamentação legal pública.
Defensoria pública Verificação de ordens em aberto antes de audiências, com recuperação automática do PDF do mandado.
Passo 1: Criar a Requisição (POST)
POST https://requests.production.judit.io/requests
Exemplos por tipo de busca
Por CPF
Por CPF + anexo PDF
Por Nome
Por RJI (BNMP)
{
"search" : {
"search_type" : "cpf" ,
"search_key" : "999.999.999-99" ,
"response_type" : "warrant"
},
"with_attachments" : false
}
{
"search" : {
"search_type" : "cpf" ,
"search_key" : "999.999.999-99" ,
"response_type" : "warrant"
},
"with_attachments" : true
}
{
"search" : {
"search_type" : "name" ,
"search_key" : "João Silva" ,
"response_type" : "warrant"
},
"with_attachments" : false
}
{
"search" : {
"search_type" : "rji" ,
"search_key" : "00000000000000000000" ,
"response_type" : "warrant"
},
"with_attachments" : false
}
response_type deve ser sempre "warrant" . search_type aceita "cpf", "name" ou "rji" (numeração atribuída pelo BNMP 2.0 à pessoa).
Parâmetros do Payload
Parâmetro Tipo Obrigatório Descrição search.search_typestring Sim "cpf", "name" ou "rji".search.search_keystring Sim CPF, nome completo ou número RJI a buscar. search.response_typestring Sim Sempre "warrant". with_attachmentsboolean Não Se true, baixamos o PDF do mandado emitido. callback_urlstring Não URL HTTPS para receber a resposta via Webhook .
Exemplo de Requisição (POST)
curl -X POST 'https://requests.production.judit.io/requests' \
--header 'api-key: '" $JUDIT_API_KEY " \
--header 'Content-Type: application/json' \
--data '{
"search": {
"search_type": "cpf",
"search_key": "999.999.999-99",
"response_type": "warrant"
},
"with_attachments": true
}'
const res = await fetch ( "https://requests.production.judit.io/requests" , {
method: "POST" ,
headers: {
"api-key" : process . env . JUDIT_API_KEY ,
"Content-Type" : "application/json" ,
},
body: JSON . stringify ({
search: {
search_type: "cpf" ,
search_key: "999.999.999-99" ,
response_type: "warrant" ,
},
with_attachments: true ,
}),
});
console . log ( await res . json ());
<? php
$ch = curl_init ( 'https://requests.production.judit.io/requests' );
curl_setopt_array ( $ch , [
CURLOPT_RETURNTRANSFER => true ,
CURLOPT_POST => true ,
CURLOPT_HTTPHEADER => [
'api-key: ' . getenv ( 'JUDIT_API_KEY' ),
'Content-Type: application/json' ,
],
CURLOPT_POSTFIELDS => json_encode ([
'search' => [
'search_type' => 'cpf' ,
'search_key' => '999.999.999-99' ,
'response_type' => 'warrant' ,
],
'with_attachments' => true ,
]),
]);
echo curl_exec ( $ch );
import os, requests
resp = requests.post(
"https://requests.production.judit.io/requests" ,
headers = {
"api-key" : os.environ[ "JUDIT_API_KEY" ],
"Content-Type" : "application/json" ,
},
json = {
"search" : {
"search_type" : "cpf" ,
"search_key" : "999.999.999-99" ,
"response_type" : "warrant" ,
},
"with_attachments" : True ,
},
timeout = 15 ,
)
resp.raise_for_status()
print (resp.json())
package main
import (
" bytes "
" encoding/json "
" io "
" net/http "
" os "
)
func main () {
body , _ := json . Marshal ( map [ string ] any {
"search" : map [ string ] string {
"search_type" : "cpf" ,
"search_key" : "999.999.999-99" ,
"response_type" : "warrant" ,
},
"with_attachments" : true ,
})
req , _ := http . NewRequest ( "POST" ,
"https://requests.production.judit.io/requests" ,
bytes . NewReader ( body ))
req . Header . Set ( "api-key" , os . Getenv ( "JUDIT_API_KEY" ))
req . Header . Set ( "Content-Type" , "application/json" )
res , _ := http . DefaultClient . Do ( req )
defer res . Body . Close ()
out , _ := io . ReadAll ( res . Body )
println ( string ( out ))
}
Resposta da criação
{
"request_id" : "87d9f7bf-0071-41ee-a721-e6e1b4082bc9" ,
"search" : {
"search_type" : "cpf" ,
"search_key" : "999.999.999-99" ,
"response_type" : "warrant"
},
"with_attachments" : true ,
"status" : "pending" ,
"created_at" : "2024-03-14T07:35:14.272Z"
}
Passo 2: Buscar a resposta
A consulta é assíncrona — você pode aguardar pelo Webhook ou consultar via GET /responses?request_id={request_id}.
curl --location 'https://requests.production.judit.io/responses?request_id=<REQUEST_ID>' \
--header 'api-key: '" $JUDIT_API_KEY "
resp = requests.get(
f "https://requests.production.judit.io/responses?request_id= { request_id } " ,
headers = { "api-key" : os.environ[ "JUDIT_API_KEY" ]},
)
print (resp.json())
Estrutura da resposta
Campo Descrição warrant_typeTipo do mandado (warrant_of_arrest, recapture, etc.). arrest_typeModalidade da prisão (preventive, temporary, definitive). law_typeLei e artigos infringidos. issue_date / expiration_dateDatas de emissão e validade do mandado. statusSituação do mandado — ver tabela abaixo. duration_years/months/daysPena calculada. regimeRegime de cumprimento (Aberto, Semiaberto, Fechado). recapturetrue se for mandado de recaptura.entityDados completos da pessoa procurada (segue Schema Entity ). judgementSummaryTexto da sentença/despacho que originou o mandado.
Valores possíveis para status
Status Comportamento Pendente de Cumpriment