Instituições
Instituições, política de privacidade e termo de uso de cada uma.
Lista as instituições que a pessoa enxerga
GET /instituicoes
Acesso: Exige a capacidade LER, em algum escopo (a resposta traz só o que a pessoa pode ver). Status de sucesso: 200.
Parâmetros de consulta
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
busca | string | não | a 100 caracteres | Texto para buscar (nome ou e-mail, conforme a rota). |
limite | integer | não | 1…200; padrão: 50 | Quantos itens por página (1 a 200; o padrão varia por rota, em geral 50). |
deslocamento | integer | não | 0…100000; padrão: 0 | Quantos itens pular, para paginar (até 100000). |
inativos | "true" | "false" | não | padrão: "false" | true inclui também os registros inativos. |
Resposta
lista de InstituicaoDto (+ total)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
sigla | string | sim | ||
nome | string | sim | ||
ativo | boolean | sim | ||
locale | "pt-BR" | "es" | "en-US" ou nulo | sim | ||
timezone | string | sim | ||
retencaoMeses | integer ou nulo | sim | ||
controladorNome | string ou nulo | não | Dados de privacidade da instituição; a API sempre os envia (nulos quando não informados). | |
encarregadoNome | string ou nulo | não | ||
contatoPrivacidade | string ou nulo | não |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/instituicoes" -H "Authorization: Bearer $TOKEN"Cria uma instituição e convida o primeiro curador
POST /instituicoes
Acesso: Exige a capacidade PLATAFORMA. Status de sucesso: 201.
Corpo da requisição (InstituicaoCriar)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
sigla | string | sim | ^[A-Za-z0-9][A-Za-z0-9._-]{1,19}$ | |
nome | string | sim | 1–200 caracteres | |
locale | "pt-BR" | "es" | "en-US" ou nulo | não | ||
timezone | Fuso | não | ||
retencaoMeses | integer ou nulo | não | 1…600 | |
curador | object | não | Primeiro curador da instituição: recebe o convite por e-mail. | |
curador.email | sim | |||
curador.nome | string | sim | 1–200 caracteres |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
sigla | string | sim | ||
nome | string | sim | ||
ativo | boolean | sim | ||
locale | "pt-BR" | "es" | "en-US" ou nulo | sim | ||
timezone | string | sim | ||
retencaoMeses | integer ou nulo | sim | ||
controladorNome | string ou nulo | não | Dados de privacidade da instituição; a API sempre os envia (nulos quando não informados). | |
encarregadoNome | string ou nulo | não | ||
contatoPrivacidade | string ou nulo | não |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/instituicoes" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"sigla":"texto","nome":"texto"}'Lê uma instituição
GET /instituicoes/{instituicaoId}
Acesso: Exige a capacidade LER sobre instituição (params.instituicaoId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
instituicaoId | string (uuid) | sim | Id da instituição. |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
sigla | string | sim | ||
nome | string | sim | ||
ativo | boolean | sim | ||
locale | "pt-BR" | "es" | "en-US" ou nulo | sim | ||
timezone | string | sim | ||
retencaoMeses | integer ou nulo | sim | ||
controladorNome | string ou nulo | não | Dados de privacidade da instituição; a API sempre os envia (nulos quando não informados). | |
encarregadoNome | string ou nulo | não | ||
contatoPrivacidade | string ou nulo | não |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/instituicoes/{instituicaoId}" -H "Authorization: Bearer $TOKEN"Atualiza uma instituição
PATCH /instituicoes/{instituicaoId}
Acesso: Exige a capacidade ADMINISTRAR sobre instituição (params.instituicaoId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
instituicaoId | string (uuid) | sim | Id da instituição. |
Corpo da requisição (InstituicaoAtualizar)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
nome | string | não | 1–200 caracteres | |
locale | "pt-BR" | "es" | "en-US" ou nulo | não | ||
timezone | Fuso | não | ||
retencaoMeses | integer ou nulo | não | 1…600 | |
controladorNome | string ou nulo | não | 1–200 caracteres | Privacidade (LGPD): null apaga o valor e volta ao padrão da plataforma. |
encarregadoNome | string ou nulo | não | 1–200 caracteres | |
contatoPrivacidade | Email ou nulo | não | ||
ativo | boolean | não |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
sigla | string | sim | ||
nome | string | sim | ||
ativo | boolean | sim | ||
locale | "pt-BR" | "es" | "en-US" ou nulo | sim | ||
timezone | string | sim | ||
retencaoMeses | integer ou nulo | sim | ||
controladorNome | string ou nulo | não | Dados de privacidade da instituição; a API sempre os envia (nulos quando não informados). | |
encarregadoNome | string ou nulo | não | ||
contatoPrivacidade | string ou nulo | não |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X PATCH "$API/instituicoes/{instituicaoId}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{}'Lê a política de privacidade vigente da instituição
GET /instituicoes/{instituicaoId}/politica-privacidade
Acesso: Exige a capacidade LER sobre instituição (params.instituicaoId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
instituicaoId | string (uuid) | sim | Id da instituição. |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
versao | integer ou nulo | sim | ||
textos | TermoTextos | sim | ||
publicadoEm | string (date-time) ou nulo | sim | ||
urlPublica | string | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/instituicoes/{instituicaoId}/politica-privacidade" -H "Authorization: Bearer $TOKEN"Publica uma nova versão da política de privacidade
PUT /instituicoes/{instituicaoId}/politica-privacidade
Acesso: Exige a capacidade ADMINISTRAR sobre instituição (params.instituicaoId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
instituicaoId | string (uuid) | sim | Id da instituição. |
Corpo da requisição (TermoPublicar)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
textos | TermoTextos | sim |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
versao | integer ou nulo | sim | ||
textos | TermoTextos | sim | ||
publicadoEm | string (date-time) ou nulo | sim | ||
urlPublica | string | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X PUT "$API/instituicoes/{instituicaoId}/politica-privacidade" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"textos":{}}'Lê o termo de uso vigente da instituição
GET /instituicoes/{instituicaoId}/termo
Acesso: Exige a capacidade LER sobre instituição (params.instituicaoId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
instituicaoId | string (uuid) | sim | Id da instituição. |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
versao | integer ou nulo | sim | ||
textos | TermoTextos | sim | ||
publicadoEm | string (date-time) ou nulo | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/instituicoes/{instituicaoId}/termo" -H "Authorization: Bearer $TOKEN"Publica uma nova versão do termo de uso
PUT /instituicoes/{instituicaoId}/termo
Acesso: Exige a capacidade ADMINISTRAR sobre instituição (params.instituicaoId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
instituicaoId | string (uuid) | sim | Id da instituição. |
Corpo da requisição (TermoPublicar)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
textos | TermoTextos | sim |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
versao | integer ou nulo | sim | ||
textos | TermoTextos | sim | ||
publicadoEm | string (date-time) ou nulo | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X PUT "$API/instituicoes/{instituicaoId}/termo" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"textos":{}}'