Skip to main content
Proxied do WorkOS — nao e armazenado no banco de dados da aplicacao.

Esquema

CampoTipoDescricao
membershipIdstringIdentificador unico (formato WorkOS: om_*)
userIdUUIDv7FK para User
organizationIdUUIDv7FK para Organization
roleobjectRole com slug
statusenumACTIVE, INACTIVE, PENDING
createdAtdatetimeTimestamp de criacao
updatedAtdatetimeUltima atualizacao

Exemplo

{
  "membershipId": "om_01JK8MEMBERSHIP12345",
  "userId": "019525fd-7e40-7c5a-b2d8-4e6f8a0c2e4a",
  "organizationId": "019525fd-8b21-7d3c-a1f5-3c7e9b1d5f8a",
  "role": {
    "slug": "admin"
  },
  "status": "ACTIVE",
  "createdAt": "2026-01-15T10:40:00Z",
  "updatedAt": "2026-03-01T12:00:00Z"
}

Relacionamentos

Regras de Negocio

  • Unico por par usuario/organizacao
  • Role pode ser alterada
  • Suporta INACTIVE com reativacao
  • Paginacao baseada em cursor
Cada usuario pode ter no maximo uma Membership por Organization. Tentativas de criar duplicatas resultam em erro.
Memberships com status INACTIVE podem ser reativadas sem perder o historico. Isso e util para casos de saida temporaria de um membro da organizacao.
O campo role e um objeto que contem o slug da role atribuida. A role completa (com permissoes) e resolvida em tempo de execucao via WorkOS.