Pular para o conteúdo principal
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

{
    "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âmetroTipoObrigatórioDescrição
search.search_typestringSim"cpf", "name" ou "rji".
search.search_keystringSimCPF, nome completo ou número RJI a buscar.
search.response_typestringSimSempre "warrant".
with_attachmentsbooleanNãoSe true, baixamos o PDF do mandado emitido.
callback_urlstringNãoURL 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

CampoDescriçã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

StatusComportamento
Pendente de Cumpriment