---
title: 15 - API Pública Sisjud
slug: 15-api-publica-sisjud
docTags: 
createdAt: 2026-02-18T13:30:04.066Z
---

# 15 - API Pública SisJud

Manual – API Pública SisJud v1

Este manual descreve a API pública do SisJud para integração de sistemas externos (ERPs, portais, automações). A API é autenticada por chave (API Key) e expõe os principais recursos do escritório: clientes, casos, tarefas, boletos, prospecção, cobrança e negociações.

***

## Índice

1. Visão geral
2. Autenticação
3. URL base e formato
4. Recursos e endpoints
   - 4.1 Clientes
     - 4.1.1 Vínculos entre clientes (subclientes)
   - 4.2 Usuários
   - 4.3 Casos
   - 4.4 Tarefas
   - 4.5 Boletos
   - 4.6 Prospecção
   - 4.7 Cobrança
   - 4.8 Negociações
5. Exemplos por recurso
6. Códigos de resposta e erros
7. Postman / Insomnia

***

## 1. Visão geral

| Item         | Valor                                                 |
| ------------ | ----------------------------------------------------- |
| Versão       | v1                                                    |
| Base URL     | `https://app.sisjud.com.br/api/v1/`                   |
| Autenticação | Header `X-Api-Key` ou `Authorization: Bearer <chave>` |
| Formato      | JSON (request e response)                             |
| CORS         | Habilitado para qualquer origem                       |

A chave é vinculada ao escritório. Todas as requisições retornam ou alteram apenas dados desse escritório.

### Como obter a chave

No SisJud, acesse **Configurações** (menu do escritório) → aba **API Pública** → **Criar chave**. Informe um nome (ex: "Sistema ERP") e copie a chave exibida uma única vez. Guarde em local seguro; não é possível recuperá-la depois.

### Subclientes (novo)

O SisJud agora suporta **vínculo de subclientes**: pessoas vinculadas a um cliente principal que podem participar dos mesmos casos, mas **não são codevedores**. Subclientes têm cadastro completo (CPF, RG, endereço próprio) e podem vincular-se a múltiplos clientes principais (relação N\:N via tabela `cliente_vinculos`).

A participação em casos é registrada na tabela `caso_clientes` (idcaso, idcliente, tipo = 'principal' | 'subcliente'), preservando `casos.idcliente` para retrocompatibilidade.

***

## 2. Autenticação

Envie a chave em um dos formatos abaixo.

### Opção A – Header X-Api-Key

```javascript
GET /api/v1/clientes HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
```

### Opção B – Authorization Bearer

```javascript
GET /api/v1/clientes HTTP/1.1
Host: app.sisjud.com.br
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
```

### Chave inválida ou inativa

A API responde com HTTP 401 e corpo:

```json
{ "error": "unauthorized", "message": "chave inválida ou inativa." }
```

***

## 3. URL base e formato

**Base:** `https://app.sisjud.com.br/api/v1/` + recurso no path.

**Exemplos:**

| Forma                 | Exemplo                     |
| --------------------- | --------------------------- |
| Path                  | `GET /api/v1/clientes`      |
| Query (sempre válido) | `GET /api/v1/?url=clientes` |

**Sub-recursos e IDs:**

Alguns recursos usam segundo segmento:

- `/api/v1/cobranca/boletos`
- `/api/v1/cobranca/calculos`

Para um único item:

- `/api/v1/casos/123` ou `?url=casos/123` ou `?url=casos&id=123`

**Body:** Em POST/PUT, envie JSON com `Content-Type: application/json`. No recurso `prospeccao` (leads/kanban), operações POST aceitam também `application/x-www-form-urlencoded`; para criar lead (`op=create`), o uso de form-urlencoded é recomendado.

***

## 4. Recursos e endpoints

| Recurso     | Métodos                | Descrição                                        |
| ----------- | ---------------------- | ------------------------------------------------ |
| clientes    | GET, POST, PUT, DELETE | CRUD de clientes do escritório                   |
| usuarios    | GET, POST, PUT, DELETE | CRUD de usuários do escritório                   |
| casos       | GET, POST, PUT, DELETE | CRUD de casos                                    |
| tarefas     | GET, POST, PUT, DELETE | CRUD de tarefas                                  |
| boletos     | GET, POST, PUT, DELETE | CRUD de boletos                                  |
| prospeccao  | GET, POST              | Leads e kanban (parâmetro `op`)                  |
| cobranca    | GET                    | Listagem de boletos e cálculos                   |
| negociacoes | GET                    | Listagem de parcelamentos e detalhe com parcelas |

***

### 4.1 Clientes

| Método | URL / Parâmetros          | Descrição                             |
| ------ | ------------------------- | ------------------------------------- |
| GET    | `/api/v1/clientes`        | Lista todos os clientes do escritório |
| GET    | `/api/v1/clientes?id=123` | Cliente por ID                        |
| POST   | `/api/v1/clientes`        | Cria cliente                          |
| PUT    | `/api/v1/clientes`        | Atualiza cliente                      |
| DELETE | `/api/v1/clientes`        | Remove cliente                        |

**Campos principais (POST/PUT):**

| Campo          | Obrigatório | Descrição                          |
| -------------- | ----------- | ---------------------------------- |
| nomecompleto   | Sim         | Nome completo do cliente           |
| cpf            | Sim         | 11 dígitos (PF) ou 14 dígitos (PJ) |
| email          | Não         | E-mail                             |
| celular        | Não         | Celular com DDD                    |
| nomefantasia   | Não         | Nome fantasia (PJ)                 |
| cnpj           | Não         | CNPJ (14 dígitos)                  |
| endereco       | Não         | Logradouro                         |
| bairro         | Não         | Bairro                             |
| cidade         | Não         | Cidade                             |
| estado         | Não         | Estado (UF)                        |
| cep            | Não         | CEP                                |
| telresidencial | Não         | Telefone residencial               |
| telcomercial   | Não         | Telefone comercial                 |

***

### 4.1.1 Vínculos entre clientes (subclientes)

O SisJud permite vincular clientes como **subclientes** de um cliente principal (relação N\:N). Subclientes possuem cadastro completo e podem participar dos mesmos casos, mas **não são codevedores** — apenas o cliente principal responde nas cobranças.

**Tabelas de vínculo:**

| Tabela             | Descrição                                                   |
| ------------------ | ----------------------------------------------------------- |
| `cliente_vinculos` | `idcliente_principal`, `idcliente_vinculado`, `tipo`        |
| `caso_clientes`    | `idcaso`, `idcliente`, `tipo` ('principal' ou 'subcliente') |

**Regras de negócio:**

- Um subcliente pode estar vinculado a múltiplos clientes principais
- `casos.idcliente` permanece como referência ao principal (retrocompatibilidade total)
- Ao listar casos de um cliente, o campo `vinculo_tipo` indica `'principal'` ou `'subcliente'`

**Endpoints internos (autenticados por sessão, não por API Key):**

| Método | URL                                         | Descrição                                                           |
| ------ | ------------------------------------------- | ------------------------------------------------------------------- |
| GET    | `/api/clientes-vinculos-listar?idcliente=X` | Lista subclientes vinculados a X + principais de X                  |
| POST   | `/api/clientes-vinculo-adicionar`           | Cria vínculo (body: `idcliente_principal`, `idcliente_vinculado`)   |
| POST   | `/api/clientes-vinculo-remover`             | Remove vínculo (body: `idcliente_principal`, `idcliente_vinculado`) |

**Resposta do GET&#x20;**`/api/clientes-vinculos-listar`**:**

```json
{
  "success": true,
  "data": [
    {
      "id": 2,
      "nomecompleto": "Maria Souza",
      "cpf": "12345678901",
      "tipo": "subcliente",
      "criado_em": "2026-07-05 18:14:13"
    }
  ],
  "principais": [
    {
      "id": 1,
      "nomecompleto": "João Silva"
    }
  ]
}
```

***

### 4.2 Usuários

| Método | URL                | Descrição                    |
| ------ | ------------------ | ---------------------------- |
| GET    | `/api/v1/usuarios` | Lista usuários do escritório |
| POST   | `/api/v1/usuarios` | Cria usuário                 |
| PUT    | `/api/v1/usuarios` | Atualiza usuário             |
| DELETE | `/api/v1/usuarios` | Remove usuário               |

Campos: nome, email, senha, telefone, cpf, cargo, nivel\_acesso, escritorio.

***

### 4.3 Casos

| Método | URL / Parâmetros                 | Descrição                       |
| ------ | -------------------------------- | ------------------------------- |
| GET    | `/api/v1/casos`                  | Lista casos do escritório       |
| GET    | `/api/v1/casos?cliente_id=5`     | Casos de um cliente             |
| GET    | `/api/v1/casos/123` ou `?id=123` | Um caso por ID                  |
| POST   | `/api/v1/casos`                  | Cria caso                       |
| PUT    | `/api/v1/casos`                  | Atualiza caso (id no body/path) |
| DELETE | `/api/v1/casos`                  | Remove caso                     |

**Campos principais:**

| Campo             | Descrição                                                                        |
| ----------------- | -------------------------------------------------------------------------------- |
| idcliente         | ID do cliente principal                                                          |
| idescritorio      | ID do escritório                                                                 |
| tipocaso          | 1=Judicial, 2=Administrativo, 3=Cobrança                                         |
| parteadversa      | Nome da parte adversa / devedor                                                  |
| numcnj            | Número CNJ (20 dígitos)                                                          |
| numprocesso       | Número do processo administrativo                                                |
| posicaocliente    | 1=Autor, 2=Réu                                                                   |
| areaatuacao       | Área de atuação                                                                  |
| assunto           | Assunto do caso                                                                  |
| localtramite      | Local de trâmite                                                                 |
| comarca           | Comarca                                                                          |
| valorcausa        | Valor da causa                                                                   |
| datadistribuicao  | Data de distribuição                                                             |
| observacao        | Observações                                                                      |
| enderecodev       | Endereço do devedor                                                              |
| telfixodev        | Telefone fixo do devedor                                                         |
| telceldev         | Celular do devedor                                                               |
| cpf               | CPF/CNPJ do devedor                                                              |
| **vinculo\_tipo** | `'principal'` ou `'subcliente'` (presente ao listar casos filtrando por cliente) |

Ao listar casos de um cliente que participa como subcliente (via `caso_clientes`), o campo `vinculo_tipo` retorna `'subcliente'` para distinguir dos casos onde ele é o principal.

***

### 4.4 Tarefas

| Método | URL / Parâmetros         | Descrição                   |
| ------ | ------------------------ | --------------------------- |
| GET    | `/api/v1/tarefas`        | Lista tarefas do escritório |
| GET    | `/api/v1/tarefas?id=123` | Uma tarefa por ID           |
| POST   | `/api/v1/tarefas`        | Cria tarefa                 |
| PUT    | `/api/v1/tarefas`        | Atualiza tarefa             |
| DELETE | `/api/v1/tarefas`        | Remove tarefa               |

Campos típicos: idcliente, idescritorio, titulo, descricao, prazo, status.

***

### 4.5 Boletos

| Método | URL / Parâmetros         | Descrição       |
| ------ | ------------------------ | --------------- |
| GET    | `/api/v1/boletos`        | Lista boletos   |
| GET    | `/api/v1/boletos?id=123` | Boleto por ID   |
| POST   | `/api/v1/boletos`        | Cria boleto     |
| PUT    | `/api/v1/boletos`        | Atualiza boleto |
| DELETE | `/api/v1/boletos`        | Remove boleto   |

***

### 4.6 Prospecção

Todas as chamadas usam o parâmetro `op` (GET ou POST). Base: `/api/v1/prospeccao` ou `/api/v1/prospecao`.

As operações estão agrupadas por área (leads, quadros, colunas, gatilhos, tags, comentários, anexos e conversão).

**Leads**

| op                       | Método | Descrição                                                                |
| ------------------------ | ------ | ------------------------------------------------------------------------ |
| list                     | GET    | Lista leads (filtros: idquadro, status, responsavel\_id, busca)          |
| get                      | GET    | Detalhe de um lead (`id`)                                                |
| create                   | POST   | Cria lead (idquadro, nome, telefone, email, cpf\_cnpj, etc.)             |
| update                   | POST   | Atualiza lead (id + campos)                                              |
| busca\_cliente           | GET    | Busca cliente por CPF/CNPJ (query: cpf\_cnpj)                            |
| usuarios                 | GET    | Lista usuários do escritório (id, nome)                                  |
| update\_data\_vencimento | POST   | Reprograma apenas a data de vencimento (id, data\_vencimento dd/mm/yyyy) |
| update\_observacoes      | POST   | Altera apenas as observações (id, observacoes)                           |
| update\_responsavel      | POST   | Altera apenas o responsável (id, responsavel\_id)                        |

**Quadros**

| op                           | Método | Descrição                                                                    |
| ---------------------------- | ------ | ---------------------------------------------------------------------------- |
| kanban\_quadros              | GET    | Lista quadros do escritório                                                  |
| kanban\_quadro\_save         | POST   | Cria/atualiza quadro (id, nome, descricao, cor, icone, ordem, is\_default)   |
| kanban\_quadro\_delete       | POST   | Remove quadro (id) — não permite excluir o quadro padrão ou quadro com leads |
| kanban\_quadro\_set\_default | POST   | Define o quadro padrão (id)                                                  |
| kanban\_quadros\_ordem       | POST   | Reordena quadros (ordem: array de ids)                                       |

**Colunas**

| op                                   | Método | Descrição                                                                          |
| ------------------------------------ | ------ | ---------------------------------------------------------------------------------- |
| kanban\_colunas                      | GET    | Lista colunas do kanban (idquadro)                                                 |
| kanban\_list                         | GET    | Colunas e cards do kanban (idquadro, busca)                                        |
| kanban\_move                         | POST   | Move card (id, coluna, idquadro) — executa gatilhos da coluna                      |
| kanban\_move\_revert                 | POST   | Reverte movimentação abortada (id, coluna\_origem, coluna\_destino, idquadro)      |
| kanban\_coluna\_save                 | POST   | Cria/atualiza coluna (idquadro, id, nome, slug, ordem, concluida, bloquear\_pular) |
| kanban\_coluna\_set\_concluida       | POST   | Marca coluna como concluída (id, concluida 0/1)                                    |
| kanban\_coluna\_set\_bloquear\_pular | POST   | Marca coluna como etapa obrigatória (id, bloquear\_pular 0/1)                      |
| kanban\_colunas\_ordem               | POST   | Atualiza ordem das colunas (idquadro, ordem: array de ids)                         |
| kanban\_coluna\_apagar               | POST   | Remove coluna (idquadro, id) — leads são migrados para outra coluna                |

**Gatilhos**

| op                      | Método | Descrição                                                                   |
| ----------------------- | ------ | --------------------------------------------------------------------------- |
| kanban\_gatilhos        | GET    | Lista gatilhos (idquadro, id\_coluna opcional)                              |
| kanban\_gatilho\_save   | POST   | Cria/atualiza gatilho (idquadro, id\_coluna, id, tipo\_acao, config, ativo) |
| kanban\_gatilho\_apagar | POST   | Remove gatilho (id)                                                         |

**Tags**

| op                 | Método | Descrição                                           |
| ------------------ | ------ | --------------------------------------------------- |
| tags\_list         | GET    | Lista tags do escritório                            |
| tags\_create       | POST   | Cria tag (nome, cor)                                |
| tags\_update       | POST   | Atualiza tag (id, nome, cor)                        |
| tags\_delete       | POST   | Remove tag (id)                                     |
| lead\_tags\_update | POST   | Adiciona/remove tag do lead (idlead, idtag, action) |

**Comentários**

| op                 | Método | Descrição                                                                                   |
| ------------------ | ------ | ------------------------------------------------------------------------------------------- |
| comentarios\_list  | GET    | Comentários de um lead (id)                                                                 |
| comentario\_add    | POST   | Adiciona comentário (id, comentario, mencoes)                                               |
| comentario\_apagar | POST   | Remove comentário (id do comentário)                                                        |
| reacao\_comentario | POST   | Toggle de reação num comentário (id\_comentario, idlead, tipo: like/dislike/ok/heart/alert) |

**Anexos**

| op            | Método | Descrição                                       |
| ------------- | ------ | ----------------------------------------------- |
| anexos\_list  | GET    | Lista anexos do lead (id)                       |
| anexo\_upload | POST   | Envia anexo (id do lead + arquivo em multipart) |
| anexo\_apagar | POST   | Remove anexo (id do anexo)                      |

**Conversão**

| op                        | Método | Descrição                                                                            |
| ------------------------- | ------ | ------------------------------------------------------------------------------------ |
| lead\_converter\_completo | POST   | Converte lead em cliente + caso (lead\_id, id\_gatilho + dados `cliente_*`/`caso_*`) |

**Criar lead (**`op=create`**):** Envie `op=create` na query ou no body.

Campos aceitos: `nome`, `telefone`, `email`, `cpf_cnpj` (11 ou 14 dígitos), `origem`, `observacoes`, `responsavel_id`, `idquadro` (quadro do kanban; se omitido, usa o quadro padrão) e `data_vencimento` (dd/mm/yyyy; padrão: fim do dia). O lead é criado na **primeira coluna** do quadro.

A resposta inclui o `idquadro` usado e o `idcliente_vinculado`:

```json
{
  "success": true,
  "message": "lead criado",
  "id": 42,
  "idquadro": 5,
  "idcliente_vinculado": null
}
```

**Conversão de lead (**`op=lead_converter_completo`**):** cria (ou atualiza) o cliente e o caso, vincula o lead (`idcliente`, `idcaso`) e move o card para a coluna de destino do gatilho. Requer `lead_id` e `id_gatilho` (gatilho do tipo `converter_lead_cliente`, ativo). Dados do cliente via prefixo `cliente_` (`cliente_nomecompleto`/`cliente_nome`, `cliente_cpf`/`cliente_cnpj`, `cliente_email`, `cliente_celular`, `cliente_endereco`, `cliente_bairro`, `cliente_cidade`, `cliente_estado`, `cliente_cep`, `cliente_rg`, `cliente_nomefantasia`, etc.) e do caso via prefixo `caso_` (`caso_tipocaso`, `caso_parteadversa`, `caso_numcnj`, `caso_numprocesso`, `caso_assunto`, `caso_valorcausa`, `caso_comarca`, etc.). Se o CPF/CNPJ informado já existir, o cliente é apenas atualizado. Anexos do lead são copiados para o caso.

***

### 4.7 Cobrança

Apenas GET. Sub-recurso no path ou em `url`.

| Sub-recurso | URL                                              | Parâmetros (opcional)                | Descrição                      |
| ----------- | ------------------------------------------------ | ------------------------------------ | ------------------------------ |
| boletos     | `/api/v1/cobranca` ou `/api/v1/cobranca/boletos` | idcliente, idcaso, pago (0/1), limit | Lista boletos (boletos\_dados) |
| cálculos    | `/api/v1/cobranca/calculos`                      | idcaso                               | Lista cálculos do escritório   |

**Exemplo:** `GET /api/v1/cobranca/boletos?idcaso=5&pago=0`

***

### 4.8 Negociações

Apenas GET. Lista parcelamentos ou detalhe de um parcelamento (com parcelas).

| Chamada | URL / Parâmetros                                        | Descrição                          |
| ------- | ------------------------------------------------------- | ---------------------------------- |
| listar  | `/api/v1/negociacoes?idcaso=X`                          | Lista parcelamentos de um caso     |
| detalhe | `/api/v1/negociacoes?id=123` ou path `/negociacoes/123` | Parcelamento com array de parcelas |

**Exemplos:**

```javascript
GET /api/v1/negociacoes?idcaso=10
GET /api/v1/negociacoes?id=45
```

***

## 5. Exemplos por recurso

### Listar clientes

```javascript
GET /api/v1/clientes HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
Content-Type: application/json
```

### Criar cliente

```javascript
POST /api/v1/clientes HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
Content-Type: application/json

{
  "nomecompleto": "Maria Silva",
  "cpf": "12345678901",
  "email": "maria@email.com",
  "celular": "11999998888"
}
```

### Listar leads (prospecção)

```javascript
GET /api/v1/prospeccao?op=list&idquadro=5 HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
```

### Kanban da prospecção

```javascript
GET /api/v1/prospeccao?op=kanban_list&idquadro=5 HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
```

### Criar lead (prospecção)

```javascript
POST /api/v1/prospeccao?op=create HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
Content-Type: application/x-www-form-urlencoded

idquadro=5&nome=João Silva&telefone=11999998888&email=joao@email.com&cpf_cnpj=12345678901&origem=site&observacoes=lead vindo do formulário
```

Resposta de sucesso (200):

```json
{
  "success": true,
  "message": "lead criado",
  "id": 42,
  "idcliente_vinculado": null
}
```

### Cobrança – boletos em aberto

```javascript
GET /api/v1/cobranca/boletos?pago=0 HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
```

### Negociações de um caso

```javascript
GET /api/v1/negociacoes?idcaso=12 HTTP/1.1
Host: app.sisjud.com.br
X-Api-Key: sk_live_sua_chave_aqui
```

***

## 6. Códigos de resposta e erros

| Código | Significado                                             |
| ------ | ------------------------------------------------------- |
| 200    | Sucesso (GET, PUT, DELETE ou POST com retorno de dados) |
| 201    | Recurso criado (POST)                                   |
| 400    | Dados inválidos ou incompletos                          |
| 401    | Chave ausente, inválida ou inativa                      |
| 404    | Recurso ou endpoint não encontrado                      |
| 405    | Método não permitido para o recurso                     |
| 500    | Erro interno do servidor                                |

Respostas de erro em JSON costumam seguir o formato:

```json
{ "error": "unauthorized", "message": "chave inválida ou inativa." }
```

ou

```json
{ "message": "Os campos 'nomecompleto' e 'cpf' são obrigatórios." }
```

***

## 7. Postman / Insomnia

Foram disponibilizados uma Postman Collection e um arquivo OpenAPI (Swagger) com os principais endpoints da API v1 e variáveis para URL base e chave.

**Arquivos:**

- `api/postman/SisJud-API-v1.postman_collection.json`
- `api/postman/SisJud-API-v1-openapi.yaml`

**Uso no Postman:**

1. Import → Upload Files → Selecione o JSON
2. Variáveis da collection:
   - `base_url`: ex: `https://app.sisjud.com.br` (sem barra no final)
   - `api_key`: sua chave (ex: `sk_live_...`)

A collection inclui pastas por recurso (clientes, casos, tarefas, boletos, usuários, prospecção, cobrança, negociações) e requisições de exemplo. Ajuste `base_url` e `api_key` no nível da collection ou em environment para usar em todos os requests.

***

Manual SisJud – API Pública v1
Atualizado em Setembro 2026
