API Reference · Entrevistas

Convenções

As operações recebem Authorization: Bearer <credencial>. Corpos de criação, edição e transição usam JSON. UUIDs nativos não se confundem com identificadores opacos do espelho. Listagens retornam items e nextCursor; o cliente deve tratar o cursor como opaco.

Os estados admitidos são ABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADA. As áreas são previdenciario, civil ou trabalho. O detalhe acrescenta capacidades do usuário; criação, edição e transição devolvem os campos da entrevista sem essas capacidades adicionais.

Corpo dos erros da aplicação

CampoTipoPresençaDescrição
statusCodenumberSempreStatus HTTP.
messagestring ou string[]SempreMensagem; validação pode retornar uma lista.
errorCodestringQuando atribuído pela aplicaçãoCódigo estável para tratamento do erro; exceções sem código explícito podem omiti-lo.
errorstringCondicionalNome do status; pode faltar em exceções com corpo textual.

As tabelas por operação usam esse envelope. Falhas não tratadas da aplicação retornam 500 INTERNAL; uma falha de infraestrutura não equivale a lista vazia ou registro não encontrado. A matriz detalhada de perfis e vínculos está pendente de revisão, sem alterar as capacidades retornadas no detalhe.

GET /v1/consultations

Lista entrevistas, mais recentes primeiro, com filtros combinados dentro do alcance do usuário.

Autenticação e autorização: Bearer válido; o alcance é aplicado à consulta antes da paginação.

Entrada

LocalCampoTipoObrigatórioCondição
QuerycursorstringNãoCursor opaco devolvido pela página anterior.
Querylimitinteger, 1 a 200NãoPadrão 50.
Querysearchstring, até 200 caracteresNãoBusca por pessoa, assunto e núcleos; não inclui relato. Ignora termos menores que dois caracteres e considera até seis palavras.
Querynucleostring, 1 a 16 caracteresNãoUm núcleo destinatário; ignora caixa.
QueryclientPersonIdUUIDNãoPessoa cliente.
QuerystatusABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADANãoParâmetro repetível; destinos combinam em OU entre si.
Queryareaprevidenciario, civil ou trabalhoNãoÁrea do assunto.
QuerysubjectSlugstring, até 80 caracteresNãoIgualdade exata; slug desconhecido resulta em página vazia.
QueryflagInitialStudytrue ou falseNãoMarca de estudo inicial.
QueryflagAppealResearchtrue ou falseNãoMarca de pesquisa de recurso.
QuerycreatedFromstring ISO 8601NãoLimite inferior inclusivo de createdAt; data sem hora usa meia-noite UTC.
QuerycreatedTostring ISO 8601NãoLimite superior inclusivo de createdAt; não filtra a data civil do atendimento.

Saída

HTTPCampoTipoDescrição
200itemsarrayItens da página.
200nextCursorstring ou nullCursor opaco; null indica fim.
200items[].idUUIDIdentificador da entrevista.
200items[].nucleosstring[]Núcleos destinatários.
200items[].nucleos[]stringSigla normalizada de núcleo.
200items[].subjectSlugstring ou nullSlug do assunto.
200items[].subjectNamestring ou nullNome do assunto.
200items[].areaprevidenciario, civil ou trabalho ou nullÁrea derivada do assunto.
200items[].clientPersonIdUUIDPessoa cliente fixa.
200items[].clientNamestring ou nullNome copiado da pessoa na criação.
200items[].notesstring ou nullRelato do atendimento.
200items[].codestringCódigo ENT-AAAA-NNN…, com ano e sequência de no mínimo três dígitos, gerado pelo servidor. Em implementação.
200items[].titlestring ou nullTítulo da entrevista. Em implementação.
200items[].interviewerUserIdUUID ou nullUsuário que conduziu a entrevista; null após a exclusão do usuário. Em implementação.
200items[].consultationDatestring, data civil YYYY-MM-DDData do atendimento.
200items[].flagInitialStudybooleanMarca de estudo inicial.
200items[].flagAppealResearchbooleanMarca de pesquisa de recurso.
200items[].statusABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADASituação atual.
200items[].originUoSiglastring ou nullUnidade de origem copiada da pessoa.
200items[].authorUserIdUUID ou nullUsuário autor.
200items[].createdAtstring ISO 8601Instante do cadastro.
200items[].updatedAtstring ISO 8601Instante da atualização.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDCursor, limite, UUID, datas, enum ou flags inválidos.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.

Os filtros de eixos diferentes combinam em E. A ordenação usa createdAt DESC, id DESC. Sem resultados: lista vazia e cursor null.


GET /v1/consultations/subjects

Fornece o catálogo de classificação e sugestões de núcleos.

Autenticação e autorização: Bearer válido.

Entrada

LocalCampoTipoObrigatórioCondição
CabeçalhoAuthorizationBearerSimCredencial válida; sem query ou corpo.

Saída

HTTPCampoTipoDescrição
200areasarrayÁreas do catálogo.
200areas[].areaprevidenciario, civil ou trabalhoIdentificador da área.
200areas[].labelstringRótulo da área.
200areas[].suggestedNucleusstringSigla sugerida para encaminhamento.
200subjectsarrayAssuntos em ordem de apresentação.
200subjects[].slugstringIdentificador estável do assunto.
200subjects[].labelstringNome do assunto.
200subjects[].areaprevidenciario, civil ou trabalhoÁrea do assunto.
200receivingNucleistring[]Núcleos oferecidos prioritariamente na interface.
200receivingNuclei[]stringSigla de núcleo.
200wildcardNucleistring[]Núcleos curinga.
200wildcardNuclei[]stringSigla de núcleo curinga.

Erros

HTTPerrorCodeCondição
401UNAUTHORIZEDCredencial ausente ou inválida.

As sugestões do catálogo não substituem a validação das siglas no cadastro de núcleos.


POST /v1/consultations

Cria uma entrevista com situação ABERTA, autor autenticado e histórico de criação.

Autenticação e autorização: Bearer de usuário pessoal autenticado; pessoa cliente legível.

Entrada

LocalCampoTipoObrigatórioCondição
Corponucleosstring[]SimAo menos um núcleo existente; normalização e deduplicação.
Corponucleos[]string, 1 a 16 caracteresSim por itemSigla do núcleo; lista normalizada não pode ficar vazia.
CorposubjectSlugstring, até 80 caracteresNãoAssunto do catálogo; nome e área são derivados.
CorpoclientPersonIdUUIDSimPessoa existente e legível.
Corponotesstring, até 100.000 caracteresNãoRelato; string vazia é aceita.
Corpotitlestring de 1 a 255, aceita nullNãoTítulo da entrevista; null apaga na edição. Em implementação.
CorpointerviewerUserIdUUID, aceita nullNãoUsuário que conduziu a entrevista; precisa existir; null apaga na edição. Em implementação.
CorpoconsultationDatestring, YYYY-MM-DDNãoData civil existente; ausência na criação usa o dia em America/Recife.
CorpoflagInitialStudybooleanNãoPadrão false.
CorpoflagAppealResearchbooleanNãoPadrão false.

Saída

HTTPCampoTipoDescrição
201idUUIDIdentificador da entrevista.
201nucleosstring[]Núcleos destinatários.
201nucleos[]stringSigla normalizada de núcleo.
201subjectSlugstring ou nullSlug do assunto.
201subjectNamestring ou nullNome do assunto.
201areaprevidenciario, civil ou trabalho ou nullÁrea derivada do assunto.
201clientPersonIdUUIDPessoa cliente fixa.
201clientNamestring ou nullNome copiado da pessoa na criação.
201notesstring ou nullRelato do atendimento.
201codestringCódigo ENT-AAAA-NNN…, com ano e sequência de no mínimo três dígitos, gerado pelo servidor. Em implementação.
201titlestring ou nullTítulo da entrevista. Em implementação.
201interviewerUserIdUUID ou nullUsuário que conduziu a entrevista; null após a exclusão do usuário. Em implementação.
201consultationDatestring, data civil YYYY-MM-DDData do atendimento.
201flagInitialStudybooleanMarca de estudo inicial.
201flagAppealResearchbooleanMarca de pesquisa de recurso.
201statusABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADASituação atual.
201originUoSiglastring ou nullUnidade de origem copiada da pessoa.
201authorUserIdUUID ou nullUsuário autor.
201createdAtstring ISO 8601Instante do cadastro.
201updatedAtstring ISO 8601Instante da atualização.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDCampos desconhecidos, tipos inválidos, lista vazia, limites excedidos ou data civil inválida.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENToken de Sistema; a operação exige usuário pessoal.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.
422RULE_VIOLATIONNúcleo inexistente ou lista vazia após normalização.
422RULE_VIOLATIONAssunto fora do catálogo.
422RULE_VIOLATIONinterviewerUserId de usuário inexistente. Em implementação.
422RULE_VIOLATIONPessoa cliente inexistente ou fora do alcance.

subjectName, area, clientName, originUoSigla, authorUserId e status são atribuídos pelo servidor; não entram no corpo.


GET /v1/consultations/{id}

Obtém a entrevista e as capacidades calculadas para o usuário.

Autenticação e autorização: Bearer válido e alcance de leitura sobre a entrevista. Registro inexistente, excluído ou fora do alcance responde 404.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimIdentificador da entrevista nativa.

Saída

HTTPCampoTipoDescrição
200idUUIDIdentificador da entrevista.
200nucleosstring[]Núcleos destinatários.
200nucleos[]stringSigla normalizada de núcleo.
200subjectSlugstring ou nullSlug do assunto.
200subjectNamestring ou nullNome do assunto.
200areaprevidenciario, civil ou trabalho ou nullÁrea derivada do assunto.
200clientPersonIdUUIDPessoa cliente fixa.
200clientNamestring ou nullNome copiado da pessoa na criação.
200notesstring ou nullRelato do atendimento.
200codestringCódigo ENT-AAAA-NNN…, com ano e sequência de no mínimo três dígitos, gerado pelo servidor. Em implementação.
200titlestring ou nullTítulo da entrevista. Em implementação.
200interviewerUserIdUUID ou nullUsuário que conduziu a entrevista; null após a exclusão do usuário. Em implementação.
200consultationDatestring, data civil YYYY-MM-DDData do atendimento.
200flagInitialStudybooleanMarca de estudo inicial.
200flagAppealResearchbooleanMarca de pesquisa de recurso.
200statusABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADASituação atual.
200originUoSiglastring ou nullUnidade de origem copiada da pessoa.
200authorUserIdUUID ou nullUsuário autor.
200createdAtstring ISO 8601Instante do cadastro.
200updatedAtstring ISO 8601Instante da atualização.
200canDeletebooleanSe o usuário pode excluir a entrevista.
200allowedStatusTransitionsarray de situaçõesDestinos permitidos a partir da situação atual.
200allowedStatusTransitions[]ABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADAUm destino permitido.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDUUID inválido.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.
404NOT_FOUNDEntrevista inexistente, excluída ou fora do alcance.

PATCH /v1/consultations/{id}

Atualiza parcialmente a entrevista.

Autenticação e autorização: Bearer de usuário pessoal autenticado e alcance sobre a entrevista. Token de Sistema é recusado. A autorização detalhada por perfil e vínculo permanece pendente de revisão.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimIdentificador da entrevista nativa.
Corponucleosstring[]NãoAo menos um núcleo existente; normalização e deduplicação.
Corponucleos[]string, 1 a 16 caracteresCom a listaSigla do núcleo; lista normalizada não pode ficar vazia.
CorposubjectSlugstring até 80 caracteres ou nullNãonull remove assunto, nome e área.
Corponotesstring, até 100.000 caracteresNãoRelato; string vazia é aceita.
Corpotitlestring de 1 a 255, aceita nullNãoTítulo da entrevista; null apaga na edição. Em implementação.
CorpointerviewerUserIdUUID, aceita nullNãoUsuário que conduziu a entrevista; precisa existir; null apaga na edição. Em implementação.
CorpoconsultationDatestring, YYYY-MM-DDNãoData civil existente; ausência preserva o valor.
CorpoflagInitialStudybooleanNãoAusência preserva o valor.
CorpoflagAppealResearchbooleanNãoAusência preserva o valor.

Saída

HTTPCampoTipoDescrição
200idUUIDIdentificador da entrevista.
200nucleosstring[]Núcleos destinatários.
200nucleos[]stringSigla normalizada de núcleo.
200subjectSlugstring ou nullSlug do assunto.
200subjectNamestring ou nullNome do assunto.
200areaprevidenciario, civil ou trabalho ou nullÁrea derivada do assunto.
200clientPersonIdUUIDPessoa cliente fixa.
200clientNamestring ou nullNome copiado da pessoa na criação.
200notesstring ou nullRelato do atendimento.
200codestringCódigo ENT-AAAA-NNN…, com ano e sequência de no mínimo três dígitos, gerado pelo servidor. Em implementação.
200titlestring ou nullTítulo da entrevista. Em implementação.
200interviewerUserIdUUID ou nullUsuário que conduziu a entrevista; null após a exclusão do usuário. Em implementação.
200consultationDatestring, data civil YYYY-MM-DDData do atendimento.
200flagInitialStudybooleanMarca de estudo inicial.
200flagAppealResearchbooleanMarca de pesquisa de recurso.
200statusABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADASituação atual.
200originUoSiglastring ou nullUnidade de origem copiada da pessoa.
200authorUserIdUUID ou nullUsuário autor.
200createdAtstring ISO 8601Instante do cadastro.
200updatedAtstring ISO 8601Instante da atualização.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDUUID, corpo ou data inválidos; campo não permitido, inclusive clientPersonId ou status.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENToken de Sistema; a operação exige usuário pessoal.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.
404NOT_FOUNDEntrevista inexistente, excluída ou fora do alcance.
422RULE_VIOLATIONNúcleo inexistente ou lista vazia após normalização.
422RULE_VIOLATIONAssunto fora do catálogo.
422RULE_VIOLATIONinterviewerUserId de usuário inexistente. Em implementação.

Campos ausentes preservam valores. A lista de núcleos enviada substitui a anterior; notes: "" limpa o relato. Uma alteração efetiva registra histórico na mesma transação.


POST /v1/consultations/{id}/status

Altera a situação e registra a transição no histórico.

Autenticação e autorização: Bearer de usuário pessoal autenticado e alcance sobre a entrevista. Token de Sistema é recusado. A autorização detalhada por perfil e vínculo permanece pendente de revisão. Reabertura exige capacidade adicional.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimIdentificador da entrevista nativa.
CorpostatusABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADASimEstado de destino, permitido para a situação atual e o usuário.
Corporeasonstring, até 500 caracteresNãoJustificativa da transição.

Saída

HTTPCampoTipoDescrição
200idUUIDIdentificador da entrevista.
200nucleosstring[]Núcleos destinatários.
200nucleos[]stringSigla normalizada de núcleo.
200subjectSlugstring ou nullSlug do assunto.
200subjectNamestring ou nullNome do assunto.
200areaprevidenciario, civil ou trabalho ou nullÁrea derivada do assunto.
200clientPersonIdUUIDPessoa cliente fixa.
200clientNamestring ou nullNome copiado da pessoa na criação.
200notesstring ou nullRelato do atendimento.
200codestringCódigo ENT-AAAA-NNN…, com ano e sequência de no mínimo três dígitos, gerado pelo servidor. Em implementação.
200titlestring ou nullTítulo da entrevista. Em implementação.
200interviewerUserIdUUID ou nullUsuário que conduziu a entrevista; null após a exclusão do usuário. Em implementação.
200consultationDatestring, data civil YYYY-MM-DDData do atendimento.
200flagInitialStudybooleanMarca de estudo inicial.
200flagAppealResearchbooleanMarca de pesquisa de recurso.
200statusABERTA, EM_ANALISE, CONCLUIDA_COM_DIREITO, CONCLUIDA_SEM_DIREITO ou ARQUIVADASituação atual.
200originUoSiglastring ou nullUnidade de origem copiada da pessoa.
200authorUserIdUUID ou nullUsuário autor.
200createdAtstring ISO 8601Instante do cadastro.
200updatedAtstring ISO 8601Instante da atualização.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDUUID, estado de destino ou justificativa inválidos.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENToken de Sistema; a operação exige usuário pessoal.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.
404NOT_FOUNDEntrevista inexistente, excluída ou fora do alcance.
403FORBIDDENReabertura sem capacidade para essa operação.
422RULE_VIOLATIONPar de transição não permitido, inclusive origem igual ao destino.

A tabela de transições está em Regras de negócio. A situação de origem é lida do registro, não recebida no corpo.


DELETE /v1/consultations/{id}

Exclui logicamente a entrevista.

Autenticação e autorização: Bearer de usuário pessoal autenticado e alcance sobre a entrevista. Token de Sistema é recusado. A autorização detalhada por perfil e vínculo permanece pendente de revisão. Requer capacidade de exclusão.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimIdentificador da entrevista nativa.

Saída

HTTPCampoTipoDescrição
204—Sem corpoExclusão registrada; a linha permanece armazenada.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDUUID inválido.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENToken de Sistema; a operação exige usuário pessoal.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.
404NOT_FOUNDEntrevista inexistente, excluída ou fora do alcance.
403FORBIDDENUsuário sem capacidade de exclusão.

Após a exclusão, a entrevista não aparece nas listas e suas rotas respondem 404. Repetir a exclusão responde 404.


GET /v1/consultations/{id}/events

Lista o histórico da entrevista, mais antigo primeiro.

Autenticação e autorização: Bearer válido e alcance de leitura sobre a entrevista. Registro inexistente, excluído ou fora do alcance responde 404.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimIdentificador da entrevista nativa.
QuerycursorstringNãoCursor opaco devolvido pela página anterior.
Querylimitinteger, 1 a 200NãoPadrão 50.

Saída

HTTPCampoTipoDescrição
200itemsarrayItens da página.
200nextCursorstring ou nullCursor opaco; null indica fim.
200items[].idUUIDIdentificador do evento.
200items[].resourceTypestringconsultation.
200items[].resourceIdstringUUID da entrevista.
200items[].resourceLabelstring ou nullRótulo do recurso.
200items[].actioncreated, updated, deleted, restored, transitioned, linked, unlinked, imported ou actionNatureza da operação no histórico compartilhado.
200items[].eventTypestringTipo do evento.
200items[].summarystringDescrição breve.
200items[].changesarrayDiferenças registradas.
200items[].changes[].fieldstringCampo alterado.
200items[].changes[].labelstringRótulo do campo.
200items[].changes[].beforestring ou nullValor anterior representado como texto.
200items[].changes[].afterstring ou nullNovo valor representado como texto.
200items[].changes[].beforeTruncatedbooleanIndica truncamento do valor anterior.
200items[].changes[].afterTruncatedbooleanIndica truncamento do valor novo.
200items[].metadataobjetoContexto adicional do evento.
200items[].metadata.reasonstring, quando informadaJustificativa em evento de transição.
200items[].actorKinduser, machine ou systemNatureza do autor.
200items[].actorUserIdUUID ou nullUsuário autor.
200items[].actorLabelstringIdentificação de exibição do autor.
200items[].occurredAtstring ISO 8601Instante do acontecimento.
200items[].createdAtstring ISO 8601Instante do registro.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDUUID, cursor ou limite inválidos.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.
404NOT_FOUNDEntrevista inexistente, excluída ou fora do alcance.

As diferenças usam os campos before e after; não há garantia de omissão de valores no formato de resposta. A política de conteúdo do histórico permanece em revisão.


GET /v1/consultations/{id}/dossier

Lista as juntadas relacionadas à entrevista, mais antigas primeiro.

Autenticação e autorização: Bearer válido e alcance de leitura sobre a entrevista. Registro inexistente, excluído ou fora do alcance responde 404. A leitura do arquivo mantém autorização própria.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimIdentificador da entrevista nativa.
QuerycursorstringNãoCursor opaco devolvido pela página anterior.
Querylimitinteger, 1 a 200NãoPadrão 50.

Saída

HTTPCampoTipoDescrição
200itemsarrayItens da página.
200nextCursorstring ou nullCursor opaco; null indica fim.
200items[].idUUIDIdentificador da juntada.
200items[].documentIdUUIDDocumento juntado.
200items[].personIdUUIDPessoa do dossiê.
200items[].categoryinstitucional, financeiro, pessoal, trabalhista, previdenciario ou civelCategoria.
200items[].suggestedCategoryinstitucional, financeiro, pessoal, trabalhista, previdenciario ou civel ou nullCategoria sugerida.
200items[].relationTypestringentrevista neste recorte.
200items[].relationRefstringUUID da entrevista.
200items[].relationLabelstring ou nullRótulo da relação.
200items[].authorUserIdUUIDAutor da juntada.
200items[].authorNamestringNome do autor.
200items[].nucleosstring[]Siglas registradas na juntada.
200items[].nucleos[]stringUma sigla.
200items[].associationIdstring ou nullReferência associativa.
200items[].originUoSiglastring ou nullUnidade de origem.
200items[].createdAtstring ISO 8601Instante da juntada.
200items[].documentobjeto ou nullResumo quando o documento é legível.
200items[].document.idUUID, com documentoIdentificador do documento.
200items[].document.originalNamestring, com documentoNome original do arquivo.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDUUID, cursor ou limite inválidos.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.
404NOT_FOUNDEntrevista inexistente, excluída ou fora do alcance.

Uma juntada pode conter document: null. Para enviar e juntar arquivos, a interface usa os serviços compartilhados de Documentos e Dossiês.


POST /v1/consultations/{id}/summary

Retorna o resumo guardado ou gera um novo texto a partir do relato e do histórico legível.

Autenticação e autorização: Bearer de usuário pessoal autenticado e entrevista legível.

Entrada

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimIdentificador da entrevista nativa.

Saída

HTTPCampoTipoDescrição
200summarystringTexto do resumo, sem corte adicional pela API.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDUUID inválido.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENToken de Sistema; a operação exige usuário pessoal.
403FORBIDDENIdentidade sem condições para resolver o alcance de acesso.
404NOT_FOUNDEntrevista inexistente, excluída ou fora do alcance.
502SUMMARY_PROVIDER_FAILEDProvedor falhou ou respondeu sem texto.
503SUMMARY_UNAVAILABLEChave ou prompt não configurados.
503SUMMARY_PROVIDER_TIMEOUTProvedor não respondeu no prazo.

Não recebe corpo. Escritas com evento invalidam o resumo guardado. A nova tentativa após falha é manual.


POST /v1/consultations/{id}/notes/professionalize

Estado: em implementação na API.

Devolve uma prévia do relato revisado na gramática, na ortografia, na pontuação e na fluidez, sem acrescentar, retirar ou reinterpretar fatos. Organiza o resultado em parágrafos de até 300 caracteres, preserva marcações HTML de negrito, itálico, citação e menções e responde somente com um elemento <p> por parágrafo. Nada é gravado: o relato só é salvo quando o usuário confirma e envia o texto por PATCH /v1/consultations/{id}.

Autenticação e autorização: Bearer de usuário pessoal autenticado com permissão para editar a entrevista.

Entrada — JSON

LocalCampoTipoObrigatórioCondição
CaminhoidUUIDSimIdentificador da entrevista nativa.
Corponotesstring HTML, de 1 a 100.000 caracteresSimRelato em edição, ainda não salvo.

Saída

HTTPCampoTipoDescrição
200notesstring HTMLPrévia do relato revisado; não é gravada.

Erros

HTTPerrorCodeCondição
400VALIDATION_FAILEDUUID ou corpo inválido.
401UNAUTHORIZEDCredencial ausente ou inválida.
403FORBIDDENToken de Sistema.
404NOT_FOUNDEntrevista inexistente ou fora do alcance.
500INTERNALFalha não tratada.
502SUMMARY_PROVIDER_FAILEDProvedor falhou ou respondeu sem texto; a nova tentativa é manual.
503SUMMARY_UNAVAILABLEChave ou prompt da revisão não configurados.
503SUMMARY_PROVIDER_TIMEOUTProvedor não respondeu no prazo.

Consulta ao Projuris Legado

A consulta e a incorporação de entrevistas externas pertencem ao módulo Projuris Legado. O contrato de integração está pendente de revisão pelo responsável; esta seção não especifica um endpoint vigente.


Operações compartilhadas

A juntada usa POST /v1/documents e POST /v1/dossier, cujos contratos pertencem ao acervo documental. Os vínculos com Atendimento não acrescentam operações de escrita ao espelho Projuris.

Camadas do domínio