POST
/api/permission-groupsCriar grupo
Cria um grupo com as permissões marcadas e, se quiser, já com as pessoas.
- Exige o token de acesso — como obter
- Permissão “Criar e editar grupos de permissão”
(permission_groups.manage)
Headers
| Nome | Tipo | Obrig. | Descrição |
|---|---|---|---|
Authorization | string | Sim | Bearer {access_token}, com o token que o login devolve. |
Content-Type | string | Sim | application/json |
Corpo da requisição
| Nome | Tipo | Obrig. | Descrição |
|---|---|---|---|
name | string | Sim | Nome. |
description | string | Não | Descrição. |
permissions | string[] | Não | As chaves das permissões, como vêm em catalog. |
user_ids | uuid[] | Não | As pessoas do grupo (só ativas). |
Campos da resposta
| Nome | Tipo | Descrição |
|---|---|---|
id | uuid | O grupo. |
name | string | Nome. Único na clínica. |
description | string | null | Descrição. |
permissions | string[] | As chaves das permissões do grupo (ex.: patients.create). |
is_system | boolean | Grupo padrão da clínica: pode ser editado, não excluído. |
users_count | integer | Quantas pessoas ativas estão nele. |
members | array | As pessoas ativas ({ id, name }). |
created_at | string | ISO 8601. |
Request URL
https://api-endosystem.imagemais.com.br/api/permission-groupscurl -X POST "https://api-endosystem.imagemais.com.br/api/permission-groups" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"Integração","description":"Usuário do Sistema X","permissions":["patients.create","patients.edit"],"user_ids":["6a8c0e2b-4d6f-4a8b-9c1e-3f5a7b9d1c3e"]}'{
"name": "Integração",
"description": "Usuário do Sistema X",
...{
"name": "Integração",
"description": "Usuário do Sistema X",
"permissions": [
"patients.create",
"patients.edit"
],
"user_ids": [
"6a8c0e2b-4d6f-4a8b-9c1e-3f5a7b9d1c3e"
]
}Respostas
{
"id": "1f3b5d7a-9c2e-4b4d-a6f8-0b2d4f6a8c0e",
"name": "Integração",
...{
"id": "1f3b5d7a-9c2e-4b4d-a6f8-0b2d4f6a8c0e",
"name": "Integração",
"description": "Usuário do Sistema X",
"permissions": [
"patients.create",
"patients.edit"
],
"is_system": false,
"users_count": 1,
"members": [
{
"id": "6a8c0e2b-4d6f-4a8b-9c1e-3f5a7b9d1c3e",
"name": "Integração Sistema X"
}
],
"created_at": "2026-10-14T07:55:00-03:00"
}{
"error": "Informe o nome do grupo."
}{
"error": "Informe o nome do grupo."
}{
"error": "Já existe um grupo com esse nome"
}{
"error": "Já existe um grupo com esse nome"
}{
"error": "permissão desconhecida: pacientes.criar"
}{
"error": "permissão desconhecida: pacientes.criar"
}{
"error": "Usuário não encontrado"
}{
"error": "Usuário não encontrado"
}{
"error": "Você não tem a permissão \"Criar e editar grupos de permissão\".",
"code": "sem_permissao"
...{
"error": "Você não tem a permissão \"Criar e editar grupos de permissão\".",
"code": "sem_permissao"
}{
"error": "Funcionalidade não contratada",
"message": "Esta funcionalidade não está habilitada para a sua clínica.",
...{
"error": "Funcionalidade não contratada",
"message": "Esta funcionalidade não está habilitada para a sua clínica.",
"code": "FEATURE_NOT_ENABLED"
}{
"error": "Token ausente",
"message": "Token de autenticação necessário.",
...{
"error": "Token ausente",
"message": "Token de autenticação necessário.",
"code": "TOKEN_MISSING"
}{
"error": "Token expirado",
"message": "Sua sessão expirou. Faça login novamente.",
...{
"error": "Token expirado",
"message": "Sua sessão expirou. Faça login novamente.",
"code": "TOKEN_EXPIRED"
}{
"error": "Token inválido",
"message": "Token de autenticação inválido. Faça login novamente.",
...{
"error": "Token inválido",
"message": "Token de autenticação inválido. Faça login novamente.",
"code": "TOKEN_INVALID"
}{
"error": "Acesso revogado",
"message": "Seu acesso foi desativado. Procure o administrador da clínica.",
...{
"error": "Acesso revogado",
"message": "Seu acesso foi desativado. Procure o administrador da clínica.",
"code": "ACCESS_REVOKED"
}