Skip to main content
Manage your team members and their access levels within EngageFabric. Invite colleagues, assign roles, and control who can view or modify your gamification configurations.

Team Roles

EngageFabric supports four role levels with different permissions:
RoleDescriptionPermissions
OwnerOrganization ownerFull access, transfer ownership, billing
AdminTeam administratorFull access except billing and ownership
MemberTeam memberCreate and manage projects, view analytics
ViewerRead-only accessView projects and analytics only

Permission Matrix

ActionOwnerAdminMemberViewer
View projectsYesYesYesYes
View analyticsYesYesYesYes
Create projectsYesYesYesNo
Modify projectsYesYesYesNo
Manage playersYesYesYesNo
Invite membersYesYesNoNo
Remove membersYesYesNoNo
Manage billingYesNoNoNo
Transfer ownershipYesNoNoNo

Team Member Limits

Team size is limited by your subscription plan:
PlanTeam Members
Free2
Starter5
Professional15
EnterpriseUnlimited

Inviting Team Members

1

Navigate to Settings

Go to Settings > Team in the admin console.
2

Click Invite Member

Click the Invite Member button to open the invitation dialog.
3

Enter Details

Provide the email address and select the role for the new member.
4

Send Invitation

Click Send Invitation to email the invite link.

API: Create Invitation

curl -X POST https://api.engagefabric.com/api/v1/team/invitations \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "colleague@company.com",
    "role": "MEMBER"
  }'
Response:
{
  "id": "inv_abc123",
  "email": "colleague@company.com",
  "role": "MEMBER",
  "status": "PENDING",
  "expiresAt": "2025-01-03T12:00:00.000Z",
  "createdAt": "2025-12-31T12:00:00.000Z"
}
Invitations expire after 72 hours. You can resend or cancel pending invitations from the Settings page.

Managing Invitations

List Pending Invitations

curl -X GET https://api.engagefabric.com/api/v1/team/invitations \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Cancel an Invitation

curl -X DELETE https://api.engagefabric.com/api/v1/team/invitations/inv_abc123 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Resend an Invitation

Resending an invitation generates a new token and extends the expiry:
curl -X POST https://api.engagefabric.com/api/v1/team/invitations/inv_abc123/resend \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Accepting Invitations

When someone receives an invitation email, they can accept it in two ways: The invitation email contains a link that:
  • Validates the invitation token
  • Creates the member account (if new user)
  • Links to the existing account (if existing user)
  • Redirects to the admin console

2. API: Accept Invitation

curl -X POST https://api.engagefabric.com/api/v1/team/invitations/accept \
  -H "Content-Type: application/json" \
  -d '{
    "token": "INVITATION_TOKEN",
    "name": "John Doe"
  }'

Managing Team Members

List Team Members

curl -X GET https://api.engagefabric.com/api/v1/team/members \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
Response:
{
  "data": [
    {
      "id": "mem_owner123",
      "name": "Jane Smith",
      "email": "jane@company.com",
      "role": "OWNER",
      "createdAt": "2025-11-01T00:00:00.000Z"
    },
    {
      "id": "mem_admin456",
      "name": "John Doe",
      "email": "john@company.com",
      "role": "ADMIN",
      "createdAt": "2025-12-15T10:30:00.000Z"
    }
  ],
  "total": 2
}

Update Member Role

Change a team member’s role (requires Owner or Admin role):
curl -X PATCH https://api.engagefabric.com/api/v1/team/members/mem_admin456 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "role": "MEMBER"
  }'
You cannot change the owner’s role or your own role. To transfer ownership, use the ownership transfer feature.

Remove Team Member

curl -X DELETE https://api.engagefabric.com/api/v1/team/members/mem_admin456 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
Removing a team member revokes their access immediately. This action cannot be undone - you’ll need to send a new invitation if you want to re-add them.

Best Practices

Least Privilege

Assign the minimum role needed for each team member’s responsibilities.

Regular Audits

Periodically review team members and remove accounts that are no longer needed.

Limit Admins

Keep the number of Admin accounts small to reduce security risks.

Use SSO

For enterprise teams, enable SSO to centralize access management.

API Reference

Endpoints

MethodEndpointDescription
GET/v1/team/membersList all team members
PATCH/v1/team/members/:idUpdate member role
DELETE/v1/team/members/:idRemove team member
GET/v1/team/invitationsList pending invitations
POST/v1/team/invitationsCreate new invitation
DELETE/v1/team/invitations/:idCancel invitation
GET/v1/team/invitations/verifyVerify invitation token
POST/v1/team/invitations/acceptAccept invitation

Error Codes

CodeDescription
TEAM_MEMBER_LIMIT_EXCEEDEDPlan limit reached for team members
INVITATION_EXPIREDInvitation has expired (72-hour window)
INVITATION_ALREADY_ACCEPTEDInvitation was already used
CANNOT_MODIFY_OWNERCannot change owner’s role
CANNOT_REMOVE_SELFCannot remove your own account