API Reference · Processos
Contrato de Processos
Os atributos de entrada e saída usam inglês. O cadastro manual preserva suas operações, permissões e regras. Nomes anteriores não são aliases aceitos pela API.
A fase local usa initial, in_progress, evidence, judgment, appeal, payment e closed. A fase recebida do espelho é texto externo; esses valores locais não definem conversão automática das fases do Projuris. Os demais vocabulários externos também preservam seus valores de origem.
A referência de integração com Projuris Legado depende de revisão do contrato pelo responsável. A origem de pesquisa, a fonte da movimentação e a identidade externa são conceitos distintos.
Convenções
As operações exigem credencial válida. A configuração do transporte da credencial segue Identidade e acesso. As escritas locais exigem identidade de usuário pessoal. O alcance por registro é aplicado pela API; as consultas do espelho usam o acesso à Pessoa cliente.
As listagens usam cursor opaco e limit obrigatório de 1 a 200, com valor padrão 50. A resposta contém items e nextCursor; cursor nulo encerra a paginação. Uma consulta válida sem resultados devolve lista vazia.
Erros comuns
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada ou cursor inválido, incluindo campo não aceito pelo contrato. |
| 401 | UNAUTHORIZED | Credencial ausente ou inválida. |
| 403 | FORBIDDEN | Operação negada quando a identidade não pode realizá-la. |
| 404 | NOT_FOUND | Registro inexistente, excluído ou fora do alcance; o motivo não é distinguido. |
| 409 | CONFLICT | Segunda parte principal ou segunda numeração principal no mesmo processo. |
| 422 | RULE_VIOLATION | Referência ou regra do cadastro inválida. |
| 503 | UPSTREAM_UNAVAILABLE | Adaptador do espelho desabilitado. |
| 500 | INTERNAL | Falha não tratada; aplica-se a todas as operações. |
Estrutura de erro
| Campo | Tipo | Presença | Descrição |
|---|---|---|---|
message | string ou string[] | Sim | Mensagem de erro. |
errorCode | string | Sim | Código específico da falha. |
statusCode | integer | Sim | Status HTTP da resposta. |
error | string | Não | Identificador complementar do erro. |
A aplicação de cada erro está indicada nas operações.
Objetos de saída
Processo local
| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | Identidade local. |
title | string | Título. |
number | string ou null | Número textual do cadastro. |
sphere | judicial ou extrajudicial | Esfera. |
caseStatus | string ou null | Situação livre. |
phase | enum | initial, in_progress, evidence, judgment, appeal, payment ou closed; derivada. |
nucleusCodes | string[] | Siglas dos núcleos responsáveis. |
clientPersonId | UUID ou null | Pessoa cliente. |
clientName | string ou null | Nome derivado do cliente. |
originUnitCode | string ou null | Unidade de origem derivada do cliente. |
consultationId | UUID ou null | Entrevista de origem. |
consultationSubject | objeto ou null | Assunto e área projetados da entrevista de origem. |
distributedAt | data civil ou null | Data da distribuição. Em implementação. |
jurisdiction | string ou null | Órgão julgador ou jurisdição. Em implementação. |
publicUrl | string ou null | Endereço público do processo no tribunal. Em implementação. |
authorUserId | UUID ou null | Autor do cadastro. |
lastMovementAt | data-hora ou null | Data da movimentação mais recente. |
lastMovementText | string ou null | Resumo da movimentação mais recente. |
createdAt | data-hora | Criação. |
updatedAt | data-hora | Atualização. |
Campos de consultationSubject
| Campo | Tipo | Descrição |
|---|---|---|
consultationSubject.slug | string | Slug do assunto no catálogo. |
consultationSubject.name | string | Rótulo do assunto. |
consultationSubject.area | previdenciario, civil ou trabalho | Área do assunto. |
Parte do Processo
| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | Identidade da parte. |
caseId | UUID | Processo local. |
personId | UUID ou null | Pessoa vinculada, quando houver. |
personName | string | Nome de exibição. |
participation | string ou null | Polo ou participação. |
participationType | string ou null | Qualificação da participação. |
isPrimary | boolean | Parte principal. |
isClient | boolean | Indicador de cliente. |
representsPartyId | UUID ou null | Parte do mesmo processo que esta representa, como o advogado da parte adversa; null após a remoção da representada. Em implementação. |
createdAt | data-hora | Criação. |
updatedAt | data-hora | Atualização. |
Número do Processo
| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | Identidade da numeração. |
caseId | UUID | Processo local. |
number | string | Número informado. |
numberingType | string ou null | Espécie de numeração. |
instanceType | string ou null | Instância. |
isPrimary | boolean | Numeração principal. |
createdAt | data-hora | Criação. |
updatedAt | data-hora | Atualização. |
Movimentação local
| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | Identidade da movimentação. |
caseId | UUID | Processo local. |
occurredAt | data-hora | Data do ato, utilizada na ordenação. |
description | string | Descrição. |
kind | string classificada | Tipo derivado do texto: final_judgment, archival, payment, appellate_judgment, appeal, judgment, hearing, expert_examination, decision, order, notice, filing, distribution ou movement. |
source | string | A inclusão manual grava hub. |
summary | string ou null | Resumo da movimentação. Em implementação. |
notifiedAt | data civil ou null | Data da intimação. Em implementação. |
deadlineAt | data civil ou null | Data em que o prazo vence. Em implementação. |
documentId | UUID ou null | Documento da movimentação; null após a exclusão do Documento. Em implementação. |
publicUrl | string ou null | Endereço público da movimentação no tribunal. Em implementação. |
sequence | integer | Número fixo da movimentação no processo, a partir de 1 (RN-PRO-014). Em implementação. |
milestone | string ou null | Marco: initial_petition, expert_report, hearing, judgment, appellate_judgment, decision, defense ou appeal (RN-PRO-015). Em implementação. |
milestoneClass | string ou null | primary ou secondary, derivada de milestone; null sem marco. Em implementação. |
authorUserId | UUID ou null | Autor. |
createdAt | data-hora | Registro da movimentação. |
Registro de histórico
| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | Identidade do evento. |
resourceType, resourceId, resourceLabel | string | Recurso associado e seu rótulo, quando disponível. |
action, eventType, summary | string | Ação, tipo e resumo legível do evento. |
changes[] | array de objetos | Alterações registradas no evento. |
metadata | objeto | Metadados livres do evento. |
actorKind, actorUserId, actorLabel | string, UUID ou null, string | Identificação do ator. |
occurredAt, createdAt | data-hora | Ocorrência e registro do evento. |
Juntada do Processo
| Campo | Tipo | Descrição |
|---|---|---|
id, documentId, personId | UUID | Identidade da juntada, documento e Pessoa vinculada. |
category, suggestedCategory | string, string ou null | Categoria e sugestão de categoria. |
relationType, relationRef, relationLabel | string ou null | Relação documental com o Processo. |
authorUserId, authorName | UUID, string | Autor da juntada. |
nucleos | string[] | Núcleos associados. |
associationId, originUoSigla | UUID ou null, string ou null | Associação e unidade de origem. |
createdAt | data-hora | Criação da juntada. |
GET /v1/cases
Lista os processos locais autorizados.
Autenticação e autorização: Credencial válida; a API restringe a listagem ao alcance do usuário.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Query | cursor | string | Não | Cursor da página anterior. |
| Query | limit | integer | Sim | De 1 a 200; padrão 50. |
| Query | search | string | Não | Título, cliente, número e última movimentação; ignora caixa e acento. |
| Query | sphere | enum | Não | Judicial ou extrajudicial. |
| Query | caseStatus | string | Não | Igualdade exata. |
| Query | number | string | Não | Igualdade na grafia gravada. |
| Query | clientPersonId | UUID | Não | Cliente. |
| Query | consultationId | UUID | Não | Entrevista. |
| Query | authorUserId | UUID | Não | Autor. |
| Query | nucleusCode | string | Não | Sigla de um núcleo. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | items[] | array de objetos | Processo local; campos detalhados em Objetos de saída. |
| 200 | nextCursor | string ou null | Próxima página; null encerra a consulta. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
Condições: Filtros combinam em E. A ordem é por createdAt decrescente e processos excluídos logicamente não aparecem. O seletor de origem e o filtro por fase não pertencem ao contrato vigente desta operação.
POST /v1/cases
Cadastra um processo local.
Autenticação e autorização: Usuário pessoal autenticado; referências devem ser legíveis.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Corpo | title | string | Sim | De 1 a 255 caracteres. |
| Corpo | sphere | enum | Sim | judicial ou extrajudicial. |
| Corpo | number | string | Não | Até 60 caracteres, sem validação de dígito CNJ. |
| Corpo | caseStatus | string | Não | Situação livre de até 60 caracteres. |
| Corpo | nucleusCodes[] | string | Não | Siglas existentes, normalizadas e sem repetição, de 1 a 16 caracteres. |
| Corpo | clientPersonId | UUID | Não | Pessoa existente e legível. |
| Corpo | consultationId | UUID | Não | Entrevista existente e legível. |
| Corpo | distributedAt | data civil YYYY-MM-DD | Não | Data existente. Em implementação. |
| Corpo | jurisdiction | string | Não | De 1 a 255 caracteres. Em implementação. |
| Corpo | publicUrl | string | Não | http ou https com protocolo explícito, até 2048 caracteres. Em implementação. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 201 | Corpo | objeto | Processo local; campos detalhados em Objetos de saída. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 422 | RULE_VIOLATION | Núcleo inexistente ou referência a cliente/entrevista inválida ou inacessível. |
Condições: Fase inicial é initial. Autor e campos derivados não são informados pelo cliente.
GET /v1/cases/{id}
Consulta um processo local.
Autenticação e autorização: Credencial válida; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | id | UUID | Sim | Identificador local. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | Corpo | objeto | Processo local; campos detalhados em Objetos de saída. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
PATCH /v1/cases/{id}
Altera os campos manuais do processo.
Autenticação e autorização: Usuário pessoal autenticado; alcance de alteração sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | id | UUID | Sim | Identificador local. |
| Corpo | title | string | Não | Título do processo. |
| Corpo | sphere | enum | Não | judicial ou extrajudicial. |
| Corpo | number | string | Não | Número textual, sem validação de dígito CNJ. |
| Corpo | caseStatus | string | Não | Situação livre. |
| Corpo | nucleusCodes[] | string | Não | Siglas existentes, normalizadas e sem repetição. |
| Corpo | clientPersonId | UUID ou null | Não | Pessoa existente e legível. null remove o vínculo. |
| Corpo | consultationId | UUID ou null | Não | Entrevista existente e legível. null remove o vínculo. |
| Corpo | distributedAt | data civil YYYY-MM-DD ou null | Não | null apaga. Em implementação. |
| Corpo | jurisdiction | string de 1 a 255 ou null | Não | null apaga. Em implementação. |
| Corpo | publicUrl | string ou null | Não | http ou https, até 2048 caracteres; null apaga. Em implementação. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | Corpo | objeto | Processo local; campos detalhados em Objetos de saída. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
| 422 | RULE_VIOLATION | Núcleo ou referência inválida/inacessível. |
Condições: Campos ausentes são preservados. nucleusCodes substitui a lista inteira. Trocar cliente recalcula nome e unidade de origem. Fase, autoria e resumo da movimentação não são editáveis.
DELETE /v1/cases/{id}
Exclui logicamente o processo.
Autenticação e autorização: Usuário pessoal; alcance institucional ou perfil de área/núcleo com interseção nos núcleos responsáveis.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | id | UUID | Sim | Identificador local. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 204 | — | Sem corpo | Processo excluído logicamente. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 403 | FORBIDDEN | Usuário lê, mas não pode excluir, ou identidade não pessoal. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
Condições: Não oferece restauração nem exclusão física.
GET /v1/cases/{caseId}/parties
Lista partes do processo.
Autenticação e autorização: Credencial válida; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Query | cursor | string | Não | Cursor da página anterior. |
| Query | limit | integer | Sim | De 1 a 200; padrão 50. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | items[] | array de objetos | Parte do Processo; campos detalhados em Objetos de saída. |
| 200 | nextCursor | string ou null | Próxima página; null encerra a consulta. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
POST /v1/cases/{caseId}/parties
Adiciona um registro à coleção de partes.
Autenticação e autorização: Usuário pessoal autenticado; alcance de alteração sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Corpo | personId | UUID | Condicional | Opcional se personName for informado; Pessoa legível. |
| Corpo | personName | string | Condicional | Obrigatório sem personId; pode ser derivado da Pessoa. |
| Corpo | participation | string | Não | Polo ou participação. |
| Corpo | participationType | string | Não | Qualificação. |
| Corpo | isPrimary | boolean | Não | Marca de principal. |
| Corpo | isClient | boolean | Não | Marca de cliente. |
| Corpo | representsPartyId | UUID | Não | Parte do mesmo processo que esta representa. Em implementação. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 201 | Corpo | objeto | Parte do Processo; campos detalhados em Objetos de saída. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
| 409 | CONFLICT | O processo já possui um registro principal desse tipo. |
| 422 | RULE_VIOLATION | Pessoa referenciada inexistente ou inacessível. |
| 422 | RULE_VIOLATION | representsPartyId inexistente ou de outro processo. Em implementação. |
Condições: Não há PATCH. personName aceita até 255 caracteres; participation, até 30; e participationType, até 60. A criação não reconcilia automaticamente cliente ou número do processo.
DELETE /v1/cases/{caseId}/parties/{partyId}
Remove um registro da coleção de partes.
Autenticação e autorização: Usuário pessoal autenticado; alcance de alteração sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Caminho | partyId | UUID | Sim | Identificador local. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 204 | — | Sem corpo | Registro filho removido. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
Condições: A remoção do filho é física; a operação integra o histórico do processo.
GET /v1/cases/{caseId}/numbers
Lista numerações do processo.
Autenticação e autorização: Credencial válida; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Query | cursor | string | Não | Cursor da página anterior. |
| Query | limit | integer | Sim | De 1 a 200; padrão 50. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | items[] | array de objetos | Número do Processo; campos detalhados em Objetos de saída. |
| 200 | nextCursor | string ou null | Próxima página; null encerra a consulta. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
POST /v1/cases/{caseId}/numbers
Adiciona um registro à coleção de numerações.
Autenticação e autorização: Usuário pessoal autenticado; alcance de alteração sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Corpo | number | string | Sim | Número textual; sem validação de dígito CNJ. |
| Corpo | numberingType | string | Não | Espécie da numeração. |
| Corpo | instanceType | string | Não | Instância. |
| Corpo | isPrimary | boolean | Não | Marca de principal. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 201 | Corpo | objeto | Número do Processo; campos detalhados em Objetos de saída. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
| 409 | CONFLICT | O processo já possui um registro principal desse tipo. |
Condições: Não há PATCH. number aceita de 1 a 40 caracteres; numberingType e instanceType, até 30. A criação não reconcilia automaticamente cliente ou número do processo.
DELETE /v1/cases/{caseId}/numbers/{numberId}
Remove um registro da coleção de numerações.
Autenticação e autorização: Usuário pessoal autenticado; alcance de alteração sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Caminho | numberId | UUID | Sim | Identificador local. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 204 | — | Sem corpo | Registro filho removido. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
Condições: A remoção do filho é física; a operação integra o histórico do processo.
GET /v1/cases/{caseId}/movements
Lista as movimentações locais.
Autenticação e autorização: Credencial válida; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Query | cursor | string | Não | Cursor da página anterior. |
| Query | limit | integer | Sim | De 1 a 200; padrão 50. |
| Query | order | asc ou desc | Não | Ordena pelo número da movimentação, do menor para o maior (asc) ou do maior para o menor (desc). O cursor só vale na ordenação que o emitiu. Em implementação. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | items[] | array de objetos | Movimentação local; campos detalhados em Objetos de saída. |
| 200 | nextCursor | string ou null | Próxima página; null encerra a consulta. |
| 200 | totalItems | integer | Total de movimentações do processo, igual em todas as páginas. Em implementação. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
Condições: Sem order, a ordem é pela data do ato, da mais recente para a mais antiga. Com order, a ordem é pelo número da movimentação (RN-PRO-014).
POST /v1/cases/{caseId}/movements
Acrescenta uma movimentação local.
Autenticação e autorização: Usuário pessoal autenticado; alcance de alteração sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Corpo | occurredAt | string de data ou data-hora | Sim | YYYY-MM-DD[THH:MM[:SS]], em data de calendário válida. |
| Corpo | description | string | Sim | De 1 a 10.000 caracteres. |
| Corpo | summary | string | Não | De 1 a 500 caracteres. Em implementação. |
| Corpo | notifiedAt | data civil YYYY-MM-DD | Não | Data da intimação. Em implementação. |
| Corpo | deadlineAt | data civil YYYY-MM-DD | Não | Data em que o prazo vence. Em implementação. |
| Corpo | documentId | UUID | Não | Documento legível pelo ator. Em implementação. |
| Corpo | publicUrl | string | Não | http ou https, até 2048 caracteres. Em implementação. |
| Corpo | milestone | string | Não | initial_petition, expert_report, hearing, judgment, appellate_judgment, decision, defense ou appeal (RN-PRO-015). Em implementação. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 201 | Corpo | objeto | Movimentação local; campos detalhados em Objetos de saída. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
| 422 | RULE_VIOLATION | documentId inexistente ou não legível pelo ator. Em implementação. |
Condições: Tipo, fonte e autor são definidos pelo servidor. O número (sequence) é o próximo do processo e a classe do marco (milestoneClass) deriva de milestone; enviar sequence ou milestoneClass no corpo responde 400. A operação recalcula fase e resumo na mesma transação. Não há DELETE de movimentações; a única alteração é a correção do marco.
PATCH /v1/cases/{caseId}/movements/{movementId}/milestone
Corrige o marco de uma movimentação local (RN-PRO-015). Em implementação.
Autenticação e autorização: Usuário pessoal autenticado; alcance de alteração sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local do processo. |
| Caminho | movementId | UUID | Sim | Movimentação do processo. |
| Corpo | milestone | string ou null | Sim | initial_petition, expert_report, hearing, judgment, appellate_judgment, decision, defense ou appeal; null retira o marco. Nenhum outro campo é aceito. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | Corpo | objeto | Movimentação local com milestone e milestoneClass atualizados; campos detalhados em Objetos de saída. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Identificador fora do formato UUID, milestone ausente ou fora do catálogo, ou campo não aceito. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo inexistente, excluído ou fora do alcance, ou movimentação inexistente ou de outro processo. |
Condições: A classe (milestoneClass) é recalculada a partir de milestone. Número, data e descrição não mudam. A correção é registrada no histórico do processo como case.movement_milestone_changed; informar o marco atual não altera nada.
GET /v1/cases/{id}/events
Consulta o histórico do processo.
Autenticação e autorização: Credencial válida; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | id | UUID | Sim | Identificador local. |
| Query | cursor | string | Não | Cursor da página anterior. |
| Query | limit | integer | Sim | De 1 a 200; padrão 50. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | items[] | array de Registro de histórico | Registros do histórico compartilhado; campos descritos em Objetos de saída. |
| 200 | nextCursor | string ou null | Próxima página. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
Condições: Registra operações e alterações do recurso. A ordenação é da mais recente para a mais antiga.
POST /v1/cases/{id}/summary
Obtém o resumo do Processo a partir das movimentações e do histórico legível do registro.
Autenticação e autorização: Pessoa autenticada; alcance de leitura sobre o processo. Token de Sistema não pode solicitar o resumo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | id | UUID | Sim | Identificador local. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | summary | string | Texto do resumo. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Identificador fora do formato UUID. |
| 401 | UNAUTHORIZED | Credencial ausente ou inválida. |
| 403 | FORBIDDEN | Token de Sistema ou identidade sem permissão para solicitar o resumo. |
| 404 | NOT_FOUND | Processo inexistente ou fora do alcance. |
| 500 | INTERNAL | Falha não tratada. |
| 502 | SUMMARY_PROVIDER_FAILED | O provedor de IA falhou ou não respondeu com texto. |
| 503 | SUMMARY_UNAVAILABLE | Chave ou prompt do resumo não configurados. |
| 503 | SUMMARY_PROVIDER_TIMEOUT | O provedor não respondeu no prazo. |
Condições: Um resumo guardado é retornado sem nova chamada ao provedor. Toda escrita no Processo invalida o resumo; a próxima solicitação gera e guarda uma nova versão. O tamanho do texto é definido pelo prompt configurado.
GET /v1/cases/{id}/service-suggestion
Estado: em implementação na API.
Lê a última Sugestão de atendimento do processo e informa se ele reflete os dados atuais. Ler nunca gera texto (RN-PRO-013).
Autenticação e autorização: Credencial válida; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | id | UUID | Sim | Processo local. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | text | string ou null | Último texto gerado; null quando ainda não houve geração. |
| 200 | generatedAt | data-hora ou null | Quando o texto foi gerado; null sem texto. |
| 200 | upToDate | boolean | true quando o texto reflete os dados atuais; false pede POST …/refresh. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Identificador fora do formato UUID. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Registro inexistente ou fora do alcance. |
| 500 | INTERNAL | Falha não tratada. |
POST /v1/cases/{id}/service-suggestion/refresh
Estado: em implementação na API.
Avalia a mudança dos dados de origem e gera novo texto somente quando ela é material (RN-PRO-013). Não recebe corpo. Falha da avaliação ou do provedor não responde erro: devolve o texto anterior com upToDate: false.
Autenticação e autorização: Credencial de usuário pessoal; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | id | UUID | Sim | Processo local. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | text | string ou null | Último texto gerado; null quando ainda não houve geração. |
| 200 | generatedAt | data-hora ou null | Quando o texto foi gerado; null sem texto. |
| 200 | upToDate | boolean | true quando o texto reflete os dados atuais; false pede POST …/refresh. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Identificador fora do formato UUID. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 403 | FORBIDDEN | Token de Sistema. |
| 404 | NOT_FOUND | Registro inexistente ou fora do alcance. |
| 500 | INTERNAL | Falha não tratada. |
GET /v1/cases/{caseId}/movements/{movementId}/explanation
Estado: em implementação na API.
Lê a última Explicação da movimentação e informa se ele reflete os dados atuais. Ler nunca gera texto (RN-PRO-013).
Autenticação e autorização: Credencial válida; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Processo local. |
| Caminho | movementId | UUID | Sim | Movimentação do processo. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | text | string ou null | Último texto gerado; null quando ainda não houve geração. |
| 200 | generatedAt | data-hora ou null | Quando o texto foi gerado; null sem texto. |
| 200 | upToDate | boolean | true quando o texto reflete os dados atuais; false pede POST …/refresh. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Identificador fora do formato UUID. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Registro inexistente ou fora do alcance. |
| 500 | INTERNAL | Falha não tratada. |
POST /v1/cases/{caseId}/movements/{movementId}/explanation/refresh
Estado: em implementação na API.
Avalia a mudança dos dados de origem e gera novo texto somente quando ela é material (RN-PRO-013). Não recebe corpo. Falha da avaliação ou do provedor não responde erro: devolve o texto anterior com upToDate: false.
Autenticação e autorização: Credencial de usuário pessoal; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Processo local. |
| Caminho | movementId | UUID | Sim | Movimentação do processo. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | text | string ou null | Último texto gerado; null quando ainda não houve geração. |
| 200 | generatedAt | data-hora ou null | Quando o texto foi gerado; null sem texto. |
| 200 | upToDate | boolean | true quando o texto reflete os dados atuais; false pede POST …/refresh. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Identificador fora do formato UUID. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 403 | FORBIDDEN | Token de Sistema. |
| 404 | NOT_FOUND | Registro inexistente ou fora do alcance. |
| 500 | INTERNAL | Falha não tratada. |
GET /v1/cases/{caseId}/dossier
Consulta as juntadas documentais relacionadas ao processo.
Autenticação e autorização: Credencial válida; alcance de leitura sobre o processo.
Entrada
| Local | Campo | Tipo | Obrigatório | Condição |
|---|---|---|---|---|
| Caminho | caseId | UUID | Sim | Identificador local. |
| Query | cursor | string | Não | Cursor da página anterior. |
| Query | limit | integer | Sim | De 1 a 200; padrão 50. |
Saída
| HTTP | Campo | Tipo | Descrição |
|---|---|---|---|
| 200 | items[] | array de Juntada do Processo | Juntadas; campos descritos em Objetos de saída. |
| 200 | nextCursor | string ou null | Próxima página. |
Erros
| HTTP | errorCode | Condição |
|---|---|---|
| 400 | VALIDATION_FAILED | Entrada inválida. |
| 401 | UNAUTHORIZED | Credencial inválida ou ausente. |
| 404 | NOT_FOUND | Processo ou registro filho inexistente, excluído ou fora do alcance. |
Condições: A ordem é da mais antiga para a mais recente. A criação da juntada usa o contrato do dossiê. Não é uma operação de migração do espelho.
Integração com Projuris Legado
A consulta externa e a incorporação explícita pertencem ao módulo Projuris Legado. Ler o acervo não executa incorporação. Processos mantém somente os contratos das entidades nativas deste domínio.