API Reference · Gestão do núcleo

Convenções

As rotas recebem Authorization: Bearer <credencial>. O corpo de erro, a paginação por cursor (cursor; limit de 1 a 200, padrão 50) e os erros transversais seguem as convenções da API Reference da Área de Trabalho. Toda operação pode responder 401 UNAUTHORIZED sem credencial válida e 500 INTERNAL em falha não tratada.

Situação das operações. As operações desta página estão implementadas na API, no ramo development. O documento da ata e da resolução é gerado no próprio Hub, em HTML, a partir de GET /v1/meeting-minutes/{id} e GET /v1/resolutions/{id}; a API não gera nem guarda arquivo desses documentos. A leitura das reuniões, a remarcação, o cancelamento e o adiamento usam as operações da Área de Trabalho, listadas no sitemap. Os núcleos legíveis, os membros e o catálogo de tipos de reunião estão na API Reference da Organização.

Ata — campos de saída

CampoTipoDescrição
idstringIdentificador da ata.
workItemIdstringReunião de origem; no máximo uma ata por reunião.
nucleusIdstringNúcleo responsável pela reunião.
contentstringTexto da ata.
agendaarray de stringsItens da pauta.
attendeesarrayPresentes.
attendees[].namestringNome.
attendees[].rolestringPapel na reunião.
absenteesarrayAusentes, com name e role.
statusdraft ou registeredSituação da ata.
versionnumberVersão atual; aumenta a cada salvamento.
authorUserIdstringQuem criou a ata.
registeredAtdata-hora ou nullInstante do registro.
registeredBystring ou nullQuem registrou.
createdAt, updatedAtdata-horaCriação e último salvamento.
transcriptAvailablebooleanEm GET /v1/meeting-minutes e GET /v1/meeting-minutes/{id}: true só quando quem lê pode abrir a transcrição e a reunião tem sala do Google Meet e horário; indica que o botão da transcrição aparece, não que a transcrição já exista (nead-hub-api#162).

Resolução — campos de saída

CampoTipoDescrição
idstringIdentificador da resolução.
nucleusIdstringNúcleo que resolve.
numbernumberNúmero na sequência do núcleo no ano; exibido com dois dígitos.
yearnumberAno do registro.
ementastringLinha curta que resume a decisão.
considerandostringO problema que a resolução enfrenta.
comandostringA decisão, em parágrafos corridos.
effectiveFromdata YYYY-MM-DDInício de vigência.
statusvigente, revogada ou cumpridaSituação.
revokesIdstring ou nullResolução revogada por esta.
meetingMinutesIdstring ou nullAta de origem.
authorUserIdstringQuem registrou; é o signatário mostrado no documento da resolução.
createdAt, updatedAtdata-horaRegistro e última alteração.

Reunião do núcleo

POST /v1/work-items

Cria um Trabalho, conforme a API Reference da Área de Trabalho. Esta seção descreve os campos da reunião do núcleo.

Autenticação e autorização: as da criação de Trabalho. Com nucleusSigla, exige também a liderança do núcleo indicado (RN-ORGANIZACAO-001); a recusa vem antes de qualquer leitura do núcleo.

Entrada — acréscimo

LocalCampoTipoObrigatórioCondição
CorponucleusSiglastringNãoNúcleo que agenda. Na mesma transação, o núcleo é designado como responsável (assignee, alvo org_unit). Não é alterável depois.
CorpomeetingKindordinaria ou extraordinariaNãoSó com nucleusSigla e category meeting; ausente vale extraordinaria.
CorpomeetingTypeCodestringNa ordináriaTipo do catálogo aplicável ao núcleo; proibido na extraordinária.

Saída

HTTPCampoTipoDescrição
201corpoTrabalhoO Compromisso criado, com a sigla do núcleo em nucleos. O número da reunião é lido em GET /v1/nucleus-meetings.

Erros — acréscimo

HTTPerrorCodeCondição
403FORBIDDENnucleusSigla informado por quem não exerce a liderança do núcleo; nada é gravado.
404NOT_FOUNDNúcleo sem versão vigente.
422RULE_VIOLATIONmeetingKind ou meetingTypeCode sem nucleusSigla ou fora da categoria meeting; ordinária sem meetingTypeCode; tipo inexistente ou que o núcleo não agenda; extraordinária com tipo.

Condições: a criação com nucleusSigla avisa os participantes e os membros ativos do núcleo (RN-GESTAO-004). Na reunião do núcleo, PATCH /v1/work-items/{id} avisa os mesmos destinatários quando muda scheduledAt, location ou meetingUrl ou quando leva a cancelled, e POST /v1/work-items/{id}/postpone também avisa; remarcar, adiar e cancelar são da liderança do núcleo, do Acesso Global ou superior e dos membros dos núcleos da área de Alta Gestão (ALTG: Presidência e Assessoria) (RN-GESTAO-028). Compromisso sem número, inclusive o que recebe um núcleo designado depois, não avisa o núcleo. Na categoria meeting, a criação gera o número da reunião na mesma transação.


GET /v1/nucleus-meetings

Lista as reuniões numeradas de um núcleo.

Autenticação e autorização: quem pode ver o núcleo (RN-ORGANIZACAO-002).

Entrada

LocalCampoTipoObrigatórioCondição
QuerynucleusSiglastring, 2 a 16 letras ou dígitosSimNúcleo.
QueryworkItemIdUUIDNãoSó a reunião deste Compromisso.
QuerycursorstringNãoCursor da página anterior.
Querylimitnúmero de 1 a 200, padrão 50SimTamanho da página.

Saída

HTTPCampoTipoDescrição
200items[].idstringIdentificador do número da reunião.
200items[].workItemIdstringO Compromisso da reunião.
200items[].nucleusSiglastringSigla do núcleo.
200items[].kindordinaria ou extraordinariaNatureza.
200items[].typeCodestring ou nullTipo do catálogo; null na extraordinária.
200items[].typeNamestring ou nullNome do tipo; null na extraordinária.
200items[].numbernumberNúmero na série.
200items[].yearnumberAno da data marcada.
200items[].codestringNúmero NN/AAAA-SÉRIE, que é também o da ata.
200items[].createdAtdata-horaCriação.
200nextCursorstring ou nullCursor da próxima página.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDFiltro fora do contrato ou cursor ilegível.
404NOT_FOUNDNúcleo inexistente ou fora do alcance.

Ata

POST /v1/meeting-minutes

Abre a ata de uma reunião do núcleo, em rascunho.

Autenticação e autorização: participante da reunião ou liderança do núcleo (RN-GESTAO-006).

Entrada — JSON

LocalCampoTipoObrigatórioCondição
CorpoworkItemIdUUIDSimReunião do núcleo.
CorpocontentstringNãoTexto inicial; um parágrafo por deliberação.
Corpoagendaarray de stringsNãoItens da pauta.
Corpoattendeesarray de {name, role}NãoPresentes; name e role de 1 a 255 caracteres.
Corpoabsenteesarray de {name, role}NãoAusentes; mesmas regras.

Saída

HTTPCampoTipoDescrição
201corpoAtaA ata criada, em draft.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDCorpo fora do contrato.
403FORBIDDENQuem cria não é participante da reunião nem liderança do núcleo.
404NOT_FOUNDReunião inexistente ou fora do alcance.
409CONFLICTA reunião já tem ata (RN-GESTAO-020).
422RULE_VIOLATIONO Compromisso não é reunião ou não tem núcleo designado.

GET /v1/meeting-minutes

Lista a ata de uma reunião; a página tem no máximo um item.

Autenticação e autorização: quem alcança a reunião (RN-GESTAO-022).

Entrada

LocalCampoTipoObrigatórioCondição
QueryworkItemIdUUIDSimReunião de origem.
QuerycursorstringNãoCursor da página anterior.
Querylimitnúmero de 1 a 200, padrão 50SimTamanho da página.

Saída

HTTPCampoTipoDescrição
200itemsarray de AtaAta da reunião.
200nextCursorstring ou nullCursor da próxima página.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDworkItemId ausente ou cursor ilegível.
404NOT_FOUNDReunião inexistente ou fora do alcance.

GET /v1/meeting-minutes/{id}

Consulta uma ata com a versão atual.

Autenticação e autorização: quem alcança a reunião.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimAta.

Saída

HTTPCampoTipoDescrição
200corpoAtaA ata, com version atual.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDIdentificador inválido.
404NOT_FOUNDAta inexistente ou reunião fora do alcance.

PATCH /v1/meeting-minutes/{id}

Salva a ata em rascunho, informando a versão lida. Esta operação é substituída pela edição simultânea (RN-GESTAO-043) quando o canal existir.

Autenticação e autorização: participante da reunião ou liderança do núcleo.

Entrada — JSON

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimAta.
CorpocontentstringSimTexto da ata.
CorpoexpectedVersioninteiro, mínimo 1SimVersão lida antes da edição.
Corpoagendaarray de stringsNãoSubstitui a pauta.
Corpoattendeesarray de {name, role}NãoSubstitui os presentes.
Corpoabsenteesarray de {name, role}NãoSubstitui os ausentes.

Saída

HTTPCampoTipoDescrição
200corpoAtaA ata salva, com a nova version.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDIdentificador inválido ou corpo fora do contrato.
403FORBIDDENQuem salva não é participante da reunião nem liderança do núcleo.
404NOT_FOUNDAta inexistente ou reunião fora do alcance.
409CONFLICTOutra pessoa já salvou uma versão mais nova. Contrato vigente até existir o canal de edição simultânea; a RN-GESTAO-043 substitui a RN-GESTAO-007.
422RULE_VIOLATIONAta registrada é só leitura.

POST /v1/meeting-minutes/{id}/register

Registra a ata; daí em diante ela é só leitura e aparece nos documentos do núcleo.

Autenticação e autorização: liderança do núcleo (RN-GESTAO-008).

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimAta em rascunho.

Saída

HTTPCampoTipoDescrição
200corpoAtaA ata em registered.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDIdentificador inválido.
403FORBIDDENQuem registra não exerce a liderança do núcleo.
404NOT_FOUNDAta inexistente ou reunião fora do alcance.
422RULE_VIOLATIONAta já registrada.

Resolução

POST /v1/resolutions

Registra a resolução com o número seguinte do núcleo no ano do registro; ela passa a aparecer nos documentos do núcleo.

Autenticação e autorização: liderança do núcleo (RN-GESTAO-014).

Entrada — JSON

LocalCampoTipoObrigatórioCondição
CorponucleusSiglastringSimNúcleo que resolve.
Corpoementastring, 1 a 160 caracteresSimLinha curta que resume a decisão.
Corpoconsiderandostring, mínimo 1 caractereSimO problema, em um ou mais parágrafos.
Corpocomandostring, mínimo 1 caractereSimA decisão em parágrafos corridos, sem dispositivos numerados.
CorpoeffectiveFromdata YYYY-MM-DDNãoInício de vigência; ausente, a data do registro no fuso do escritório.
CorporevokesIdUUIDNãoResolução vigente do mesmo núcleo que esta revoga (RN-GESTAO-013).
CorpomeetingMinutesIdUUIDNãoAta registrada do mesmo núcleo de que a resolução nasceu.

O signatário não é campo de entrada: o documento da resolução mostra quem registra, com a função “Liderança do Núcleo <nome do núcleo>”.

Saída

HTTPCampoTipoDescrição
201corpoResoluçãoA resolução em vigente, com number e year.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDCorpo fora do contrato.
403FORBIDDENQuem registra não exerce a liderança do núcleo.
404NOT_FOUNDNúcleo inexistente.
422RULE_VIOLATIONResolução indicada em revokesId não vigente ou de outro núcleo; ata de origem de outro núcleo ou não registrada.

GET /v1/resolutions

Lista as resoluções de um núcleo.

Autenticação e autorização: quem pode ver o núcleo.

Entrada

LocalCampoTipoObrigatórioCondição
QuerynucleusSiglastring, 2 a 16 letras ou dígitosSimNúcleo.
Querystatusvigente, revogada ou cumpridaNãoFiltra pela situação.
Queryqstring, até 200 caracteresNãoTrecho procurado na ementa, no considerando ou no comando, sem distinguir maiúsculas.
QuerycursorstringNãoCursor da página anterior.
Querylimitnúmero de 1 a 200, padrão 50SimTamanho da página.

Saída

HTTPCampoTipoDescrição
200itemsarray de ResoluçãoResoluções do núcleo.
200nextCursorstring ou nullCursor da próxima página.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDFiltro fora do contrato ou cursor ilegível.
404NOT_FOUNDNúcleo inexistente ou fora do alcance.

GET /v1/resolutions/{id}

Consulta uma resolução.

Autenticação e autorização: quem pode ver o núcleo da resolução.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimResolução.

Saída

HTTPCampoTipoDescrição
200corpoResoluçãoA resolução.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDIdentificador inválido.
404NOT_FOUNDResolução inexistente ou fora do alcance.

POST /v1/resolutions/{id}/revoke

Revoga a resolução vigente.

Autenticação e autorização: liderança do núcleo.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimResolução.

Saída

HTTPCampoTipoDescrição
200corpoResoluçãoA resolução em revogada.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDIdentificador inválido.
403FORBIDDENQuem revoga não exerce a liderança do núcleo.
404NOT_FOUNDResolução inexistente ou fora do alcance.
422RULE_VIOLATIONResolução não está vigente.

POST /v1/resolutions/{id}/fulfill

Marca a resolução vigente como cumprida.

Autenticação e autorização: liderança do núcleo.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimResolução.

Saída

HTTPCampoTipoDescrição
200corpoResoluçãoA resolução em cumprida.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDIdentificador inválido.
403FORBIDDENQuem marca não exerce a liderança do núcleo.
404NOT_FOUNDResolução inexistente ou fora do alcance.
422RULE_VIOLATIONResolução não está vigente.

Reunião fora do núcleo

As operações desta seção estão em development (nead-hub-api#163). Remarcar, adiar e cancelar a reunião fora do núcleo usam PATCH /v1/work-items/{id} e POST /v1/work-items/{id}/postpone, da Área de Trabalho, restritos à Alta Gestão e ao Acesso Global (RN-GESTAO-031).

Tipo de reunião — campos acrescentados em GET /v1/meeting-types

CampoTipoDescrição
displayNamestringNome de exibição; o código nunca aparece na tela (RN-GESTAO-023).
pagesarrayPáginas em que a reunião aparece (RN-GESTAO-032).
pages[].pagenucleus, area ou presidencyPágina.
pages[].siglasarray de strings ou nullNúcleos ou áreas que exibem o tipo; null para qualquer um. Na Conversa individual com a Presidência, o núcleo é o indicado no agendamento.
audiencenucleus, everyone, leaders, participants_and_high_management ou participantsQuem vê a reunião além do dono e dos participantes.
confidentialByDefaultbooleanA reunião nasce sigilosa (RN-GESTAO-036).
hasMinutesbooleanfalse quando a reunião não tem ata (RN-GESTAO-035).
requiresNucleusbooleanO agendamento exige nucleusSigla (Conversa individual com a Presidência).

Na ata (GET /v1/meeting-minutes/{id}), nucleusId passa a aceitar null, valor da ata de reunião fora do núcleo.


POST /v1/institutional-meetings

Agenda a reunião fora do núcleo com o número seguinte do tipo no ano (RN-GESTAO-037) e liga os participantes do catálogo (RN-GESTAO-039).

Autenticação e autorização: membros dos núcleos da área de Alta Gestão (ALTG: PRES e AESP) e Acesso Global (RN-GESTAO-031).

Entrada

LocalCampoTipoObrigatórioCondição
CorpotypeCodestring, 2 a 16 letras ou dígitosSimTipo do catálogo que não é ordinário do núcleo.
Corpotitlestring, 1 a 255 caracteresSimTítulo da reunião.
CorponucleusSiglastring, 2 a 16 letras ou dígitosNa Conversa individual com a PresidênciaNúcleo cuja liderança participa; proibido nos demais tipos.
CorponotifyUserIdsarray de UUIDNãoUsuários avisados ao agendar, remarcar, adiar e cancelar; cada um precisa poder ver a reunião (RN-GESTAO-038).
CorpoconfidentialbooleanNãoSigilo da reunião.
CorposcheduledAtdata-horaNãoHora marcada.
CorpodurationMinnúmero, mínimo 1NãoDuração prevista, em minutos.
Corpolocationstring, até 255 caracteresNãoLocal.
CorpomeetingFormatin_person, remote ou hybridNãoFormato do encontro.
CorpomeetingUrlstring, até 300 caracteresNãoEndereço do encontro remoto.
CorpobodystringNãoPauta.

Saída

HTTPCampoTipoDescrição
201corpoReunião fora do núcleoA reunião agendada, com os campos descritos em GET /v1/institutional-meetings.

Erros

HTTPerrorCodeCondição
400PendenteCorpo fora do contrato.
403PendenteQuem agenda não é da Alta Gestão nem tem Acesso Global.
404PendenteNúcleo indicado inexistente.
422PendenteTipo inexistente ou ordinário do núcleo; nucleusSigla faltando ou indevido; usuário avisado que não pode ver a reunião.

GET /v1/institutional-meetings

Lista as reuniões que o catálogo destina à página e que quem consulta pode ver (RN-GESTAO-032).

Autenticação e autorização: qualquer identidade autenticada; cada reunião aparece só para quem pode vê-la (RN-GESTAO-029 e RN-GESTAO-036).

Entrada

LocalCampoTipoObrigatórioCondição
Querypagenucleus, area ou presidencySimPágina que lista as reuniões.
Querysiglastring, 2 a 16 letras ou dígitosNa página do núcleo e na da áreaSigla do núcleo ou da área; ignorada na Presidência.
QueryworkItemIdUUIDNãoSó a reunião deste Compromisso.
QuerycursorstringNãoCursor da página anterior.
Querylimitnúmero de 1 a 200, padrão 50SimTamanho da página.

Saída

HTTPCampoTipoDescrição
200items[].idstringIdentificador da reunião fora do núcleo.
200items[].workItemIdstringO Compromisso da reunião; detalhes em GET /v1/work-items/{id}.
200items[].typeCodestringCódigo do tipo; só na API.
200items[].typeNamestringNome de exibição do tipo.
200items[].numbernumberNúmero na sequência do tipo no ano.
200items[].yearnumberAno.
200items[].codestringNúmero NN/AAAA-TIPO; a tela mostra só “Ata NN/AAAA”.
200items[].nucleusSiglastring ou nullNúcleo indicado no agendamento (Conversa individual com a Presidência).
200items[].confidentialbooleanSigilo.
200items[].hasMinutesbooleanfalse quando o tipo não tem ata.
200items[].titlestringTítulo.
200items[].scheduledAtdata-hora ou nullHora marcada.
200items[].statuspending, in_progress, completed, cancelled, postponed, no_show ou overdueSituação do Compromisso; overdue é derivado da hora marcada.
200items[].createdAtdata-horaCriação.
200nextCursorstring ou nullCursor da próxima página.

Erros

HTTPerrorCodeCondição
400PendenteFiltro fora do contrato ou cursor ilegível.
404PendenteNúcleo inexistente ou fora do alcance.

Transcrição

GET /v1/meeting-minutes/{id}/transcript

Espelha, na janela da ata, a transcrição do Google Meet da reunião (RN-GESTAO-033). A operação e o campo transcriptAvailable estão em development (nead-hub-api#162, com a folga de 15 minutos e a recusa de reuniões sobrepostas em #166). Quando duas reuniões da mesma sala se sobrepõem, nenhuma recebe a transcrição e o Meet não é consultado. A leitura real da transcrição depende de rota nova no serviço do Meet (lsa-messenger).

Autenticação e autorização: a liderança do núcleo e a Alta Gestão; na reunião sigilosa, só os participantes. Sem permissão, a resposta é 404.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidstringSimAta da reunião.

Saída

HTTPCampoTipoDescrição
200minuteIdUUIDAta.
200workItemIdUUIDCompromisso da reunião.
200transcriptobjeto ou nullA transcrição como o Meet a devolve, com a situação em estado; null quando a reunião não tem sala do Google Meet ou horário marcado, ou quando nenhuma conferência da sala começou entre 15 minutos antes do início marcado e o fim previsto (início somado à duração; sem duração informada, 1 hora). A conferência ligada vale inteira, mesmo depois do fim previsto, enquanto houver alguém na sala. Os demais campos internos seguem o Meet.

Erros

HTTPerrorCodeCondição
400PendenteIdentificador inválido ou resposta recusada pelo Meet.
404PendenteAta inexistente, reunião fora do alcance ou transcrição não liberada a quem pede.
502PendenteResposta inválida ou falha no Meet.
503PendenteMeet desabilitado ou não configurado.
504PendenteO Meet não respondeu a tempo.

Histórico do núcleo

GET /v1/history/{resourceType}/{resourceId}

Devolve a linha do tempo de um recurso. O feed do núcleo (RN-GESTAO-034) usa resourceType igual a nucleus. O serviço de histórico é compartilhado; os campos de cada entrada estão na API Reference da Área de Trabalho. A leitura do núcleo, o parâmetro orderDir e os tipos do feed estão em development (nead-hub-api#161 e #165). As reuniões do núcleo e os documentos anexados ao núcleo entram no feed; as reuniões fora do núcleo não entram.

Autenticação e autorização: quem pode ver o núcleo (RN-ORGANIZACAO-002), sem os eventos de reuniões sigilosas.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoresourceTypestringSimnucleus.
CaminhoresourceIdstringSimIdentificador do núcleo.
QueryorderDirasc ou desc, padrão ascNãodesc lista do mais recente ao mais antigo, ordem do feed do núcleo.
QueryresourceTypework-item, meeting-minutes, resolution, document ou nucleusNãoFiltro por tipo do feed: reuniões, atas, resoluções, documentos e composição.
QuerycursorstringNãoCursor da página anterior.
Querylimitnúmero de 1 a 200, padrão 50SimTamanho da página.

Saída

HTTPCampoTipoDescrição
200items[]array de entradas do históricoEntradas da linha do tempo.
200nextCursorstring ou nullCursor da próxima página.

Erros

HTTPerrorCodeCondição
400PendenteIdentificador, filtro, cursor ou limit inválido.
404PendenteRecurso inexistente ou fora do escopo de quem consulta.

Operações a criar

NecessidadeSituação
Autorizar a abertura da Página da Presidência e da Página da Área (RN-GESTAO-041 e RN-GESTAO-042)A criar (nead-hub-api#154). As páginas usam GET /v1/me/nuclei, GET /v1/organization/areas, GET /v1/organization/nuclei, GET /v1/institutional-meetings, GET /v1/nucleus-meetings e GET /v1/resolutions.
Leitura consolidada de reuniões, resoluções e atas de vários núcleosA criar (nead-hub-api#154).
Canal de edição simultânea e de presença da ata (RN-GESTAO-043 a RN-GESTAO-045)A criar (nead-hub-api#156).

Camadas do domínio