API Reference · Organização

Convenções

As rotas recebem Authorization: Bearer <credencial>. As listagens paginadas usam cursor: limit tem padrão 50, mínimo 1 e máximo 200; cursor é opaco e vem de nextCursor da página anterior; nextCursor nulo indica o fim. asOf é uma data civil YYYY-MM-DD e, ausente, vale o dia corrente no fuso do escritório. O corpo de erro segue as convenções da API Reference da Área de Trabalho.

Situação das operações. GET /v1/organization/nuclei e GET /v1/organization/nuclei/{sigla} estão publicadas em development. As demais operações e o comando de importação estão implementados no ramo feat/gestao-nucleos da API, ainda fora de development.

Núcleo — campos de saída

CampoTipoDescrição
idstringIdentificador do núcleo.
siglastringSigla do núcleo, única, em maiúsculas.
namestringNome por extenso.
statusativo, em_desenvolvimento, inativo ou encerradoSituação estrutural.
effectiveFromdata YYYY-MM-DDPrimeiro dia de vigência.
effectiveTodata YYYY-MM-DD ou nullÚltimo dia de vigência, inclusive; null enquanto vigente.
areaSiglastring ou nullSigla da área vigente no dia consultado; null quando não há vínculo nesse dia ou quando a área ligada não está vigente.
createdAtdata-horaCriação.
updatedAtdata-horaÚltima alteração.

Núcleos

GET /v1/organization/nuclei

Lista todos os núcleos vigentes no dia consultado, sem aplicar a RN-ORGANIZACAO-002. O menu do usuário usa GET /v1/me/nuclei.

Autenticação e autorização: qualquer identidade autenticada.

Entrada

LocalCampoTipoObrigatórioCondição
QuerycursorstringNãoCursor da página anterior.
Querylimitnúmero de 1 a 200, padrão 50SimTamanho da página.
QueryasOfdata YYYY-MM-DDNãoDia consultado.

Saída

HTTPCampoTipoDescrição
200itemsarray de NúcleoNúcleos vigentes no dia, conforme os campos de saída das Convenções.
200nextCursorstring ou nullCursor da próxima página.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDasOf ou cursor malformado.
401UNAUTHORIZEDSem identidade autenticada.
500INTERNALFalha não tratada.

GET /v1/me/nuclei

Lista os núcleos vigentes que a pessoa autenticada pode ver, conforme a RN-ORGANIZACAO-002, com a área e o papel dela em cada um. Alimenta a seção Núcleos do menu do usuário e a lista de /gestao.

Autenticação e autorização: qualquer identidade autenticada.

Entrada: sem parâmetros.

Saída

HTTPCampoTipoDescrição
200corpoarray, ordenado por siglaNúcleos que a pessoa vê; sem paginação.
200[].idstringIdentificador do núcleo.
200[].siglastringSigla do núcleo.
200[].namestringNome do núcleo.
200[].statusativo, em_desenvolvimento, inativo ou encerradoSituação estrutural.
200[].areaSiglastring ou nullSigla da área vigente hoje; null sem vínculo vigente.
200[].rolemember, leader ou nullPapel da pessoa no núcleo; null quando ela o vê só pelo alcance.

Erros

HTTPerrorCodeCondição
401UNAUTHORIZEDSem identidade autenticada.
500INTERNALFalha não tratada.

GET /v1/organization/nuclei/{sigla}

Consulta o núcleo vigente no dia indicado, com a área vigente nesse dia.

Autenticação e autorização: qualquer identidade autenticada.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhosiglastringSimSigla do núcleo.
QueryasOfdata YYYY-MM-DDNãoDia consultado.

Saída

HTTPCampoTipoDescrição
200corpoNúcleoO núcleo, conforme os campos de saída das Convenções.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDasOf malformado.
401UNAUTHORIZEDSem identidade autenticada.
404NOT_FOUNDNenhuma versão do núcleo vigente no dia.
500INTERNALFalha não tratada.

GET /v1/organization/nuclei/{sigla}/members

Lista as contas ativas vinculadas ao núcleo, a liderança primeiro e depois por nome.

Autenticação e autorização: quem pode ver o núcleo, conforme a RN-ORGANIZACAO-002.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhosiglastringSimSigla do núcleo.

Saída

HTTPCampoTipoDescrição
200corpoarrayContas vinculadas; vazio quando o núcleo não tem vínculos. Sem paginação.
200[].userIdstringIdentificador da conta.
200[].namestringNome da conta.
200[].emailstringE-mail da conta, em minúsculas.
200[].rolemember ou leaderPapel no núcleo.

Erros

HTTPerrorCodeCondição
401UNAUTHORIZEDSem identidade autenticada.
404NOT_FOUNDNúcleo inexistente ou fora do alcance de quem consulta.
500INTERNALFalha não tratada.

Tipos de reunião

GET /v1/meeting-types

Lista o catálogo de tipos de reunião importado do lsa-gestao.

Autenticação e autorização: qualquer identidade autenticada.

Entrada

LocalCampoTipoObrigatórioCondição
QuerynucleusApplicablebooleanNãotrue devolve só os tipos que a Página do Núcleo agenda.

Saída

HTTPCampoTipoDescrição
200corpoarrayTipos de reunião, por código. Sem paginação.
200[].codestringCódigo do catálogo.
200[].namestringNome do tipo.
200[].frequencystring ou nullFrequência prevista.
200[].formatstring ou nullFormato previsto.
200[].defaultAgendaarray de stringsItens da pauta padrão.
200[].nucleusApplicablebooleantrue quando a Página do Núcleo agenda o tipo.
200[].createdAt, [].updatedAtdata-horaCriação e última alteração.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDFiltro fora do contrato.
401UNAUTHORIZEDCredencial ausente ou inválida.
500INTERNALFalha não tratada.

Importação do lsa-gestao

A importação é um comando executado no servidor da API, e não uma rota HTTP. Ela lê o arquivo JSON gerado pelo script de exportação do lsa-gestao, com áreas, núcleos, subnúcleos, lideranças, lotações e o catálogo de tipos de reunião. Cada pessoa vem com o e-mail da sua identidade externa, na ordem Appwrite, Google e Projuris, ou sem e-mail.

bun run nuclei:import <arquivo.json> [--gravar --autor <e-mail>]
ModoEfeito
Simulação (sem --gravar --autor)Nada é gravado; o relatório lista o que seria feito.
Gravação (--gravar --autor <e-mail>)Aplica as alterações pelos serviços de cada cadastro, em nome do autor, com registro no histórico.

O relatório traz as ações, os avisos (divergências, pessoas sem e-mail ou sem conta, subnúcleos não criados, unidades encerradas não criadas) e as contagens de núcleos ativos, líderes, pessoas, pessoas reconhecidas e não reconhecidas. As regras da importação estão em RN-ORGANIZACAO-003 a RN-ORGANIZACAO-007.

Camadas do domínio