Pular para o conteúdo principal

Membros e convites

Todos os caminhos abaixo são relativos a /v1/management/organizations/{organizationId}, exceto o de aceitar convite.

Membros

EndpointO que faz
GET .../membersLista membros ativos e suspensos da organização.
PATCH .../members/{memberUserId}owner. Muda role (admin/auditor) e/ou status (active/suspended) de um membro não-owner.
DELETE .../members/{memberUserId}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, depois owneradminauditor, depois nome (ou e-mail se não houver nome) em ordem alfabética, id como desempate.
  • Com sortBy=name ou sortBy=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

EndpointO que faz
GET .../invitationsLista convites pendentes e não expirados.
POST .../invitationsowner. Cria convite (admin ou auditor), enfileira e-mail. Expira em 72h por padrão (expiresInHours, 1–168).
DELETE .../invitations/{invitationId}owner. Cancela um convite pendente.
POST /v1/management/invitations/acceptO 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

EndpointO que faz
GET .../audit-logsLog 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.