Membros e convites
Todos os caminhos abaixo são relativos a
/v1/management/organizations/{organizationId}, exceto o de aceitar
convite.
Membros
| Endpoint | O que faz |
|---|---|
GET .../members | Lista membros ativos e suspensos da organização. |
PATCH .../members/{memberUserId} | Só owner. Muda role (admin/auditor) e/ou status (active/suspended) de um membro não-owner. |
DELETE .../members/{memberUserId} | Só owner. Revoga o membro (estado terminal — não existe "readicionar", precisa convidar de novo). |
O owner é protegido em toda a cadeia: não pode ser alvo de PATCH nem
DELETE, nem por ele mesmo.
Listagem: ordenação e paginação
Esse endpoint não tinha paginação nenhuma até recentemente — devolvia todos os membros de uma vez. Agora aceita os mesmos parâmetros da listagem de operadores:
limit=<1-100, default 50>
cursor=<opaco, vem em nextCursor>
sortBy=name|email|role|status
sortDirection=asc|desc
- Sem
sortBy: ativos → pendentes → suspensos → demais estados finais, depoisowner→admin→auditor, depois nome (ou e-mail se não houver nome) em ordem alfabética,idcomo desempate. - Com
sortBy=nameousortBy=email: são colunas independentes — diferente do critério default, aqui cada uma ordena só pela própria coluna (linhas sem valor vão para o final, não caem uma na outra).
O mesmo aviso de PDV e caixa sobre cursor
amarrado à ordenação vale aqui — o erro equivalente é
400 ORGANIZATION_MEMBER_CURSOR_SORT_MISMATCH.
Convites
| Endpoint | O que faz |
|---|---|
GET .../invitations | Lista convites pendentes e não expirados. |
POST .../invitations | Só owner. Cria convite (admin ou auditor), enfileira e-mail. Expira em 72h por padrão (expiresInHours, 1–168). |
DELETE .../invitations/{invitationId} | Só owner. Cancela um convite pendente. |
POST /v1/management/invitations/accept | O convidado aceita usando o token recebido por e-mail — precisa estar autenticado com o e-mail que recebeu o convite. |
O convite é de uso único: aceitar cria o vínculo app.organization_members
com o papel definido no convite; token já usado, expirado ou de e-mail
diferente do autenticado retorna 409 genérico (não revela qual dessas
razões, de propósito).
Auditoria
| Endpoint | O que faz |
|---|---|
GET .../audit-logs | Log de ações administrativas (criação de workspace, rotação de senha, mudança de membro, etc), paginado por cursor (limit, cursor). Somente leitura — a gestão nunca edita ledger ou saldo diretamente; qualquer correção financeira precisa gerar uma transação de ajuste auditável na região. |