Pular para o conteúdo
odjud

Início rápido

1. Crie a conta e a chave de teste

Cadastre-se em /app/cadastro. Em Chaves de API, crie uma chave do ambiente teste. Ela é exibida uma única vez — guarde-a em um cofre de segredos.

2. Crie uma busca por número CNJ

export ODJUD="https://odjud-api.orvyadigital.com.br"
export ODJUD_KEY="odj_test_…"
curl -X POST "$ODJUD/v1/searches/process-number" \
  -H "Authorization: Bearer $ODJUD_KEY" \
  -H "Idempotency-Key: pedido-0001" \
  -H "Content-Type: application/json" \
  -d '{"cnj": "1000001-85.2025.8.26.0100", "detail": "full"}'

Resposta 202 Accepted:

{
  "id": "srch_k2m…",
  "object": "search",
  "kind": "PROCESS_NUMBER",
  "status": "QUEUED",
  "billing": { "product": "cnj.detailed", "unitCredits": 89, "reservedCredits": 89, "billable": null, "chargedCredits": 0, "priceVersion": "ref-2026-10-29" },
  "links": { "self": "/v1/searches/srch_k2m…", "results": "/v1/searches/srch_k2m…/results" }
}

detail: cover (capa) ou full (capa + andamentos disponíveis). O número é validado pelo dígito verificador (ISO 7064 mód. 97) antes de qualquer cobrança.

3. Acompanhe (polling)

curl "$ODJUD/v1/searches/srch_k2m…" -H "Authorization: Bearer $ODJUD_KEY"

Enquanto status for QUEUED ou RUNNING, a resposta traz Retry-After: 2. Estados finais: SUCCEEDED, PARTIAL, NOT_FOUND, FAILED, CANCELED. Prefira o webhook search.completed em produção.

4. Leia os resultados

curl "$ODJUD/v1/searches/srch_k2m…/results?limit=25" -H "Authorization: Bearer $ODJUD_KEY"

Cada item segue odjud.process.v1:

{
  "schemaVersion": "odjud.process.v1",
  "cnj": "10000018520258260100",
  "cnjFormatted": "1000001-85.2025.8.26.0100",
  "court": { "code": "826", "acronym": "TJSP", "name": "Tribunal de Justiça de São Paulo" },
  "grade": { "code": "G1", "label": "1º grau" },
  "classe": { "code": 7, "name": "Procedimento Comum Cível" },
  "parties": [{ "name": "…", "pole": "ACTIVE", "role": "AUTOR", "lawyers": [{ "name": "…", "oab": "SP000000" }] }],
  "movements": [{ "at": "2026-10-16T02:30", "description": "…", "detail": null, "sequence": 3, "grade": "G1" }],
  "movementsComplete": true,
  "completeness": "COMPLETE",
  "missingFields": ["claimAmount"],
  "publicAccess": true,
  "restrictions": [],
  "source": { "key": "public-courts:TJSP", "name": "TJSP — e-SAJ", "official": true, "fallback": false },
  "collectedAt": "2026-10-29T12:00:00.000Z"
}

Campos que a fonte não publica ficam null e aparecem em missingFields. Documentos (CPF/CNPJ) de partes não são entregues.

Cenários do sandbox

Sequência do número Resultado simulado Cobrança
0000404-… NOT_FOUND não tarifado
0000500-… FAILED (fonte indisponível) não tarifado
0000206-… PARTIAL (andamentos incompletos) tarifado
0000429-… FAILED (fonte pediu pausa) não tarifado
qualquer outro válido SUCCEEDED tarifado

Exemplos válidos: 0000404-71.2025.8.26.0100, 0000500-86.2025.8.26.0100, 0000206-34.2025.8.26.0100.

WhatsApp