User Management API

Complete API reference for managing users, invitations, roles, and permissions in Blue workspaces and organizations


Overview

The User Management API provides comprehensive tools for managing team members, controlling access permissions, and organizing your workforce across Blue workspaces and organizations. Whether you’re adding new team members, managing existing users, or defining custom permission structures, these APIs handle all aspects of user lifecycle management.

User management in Blue operates at two levels:

  • Workspace-level: Manage users within specific workspaces with workspace-specific permissions
  • Organization-level: Manage users across your entire organization with organization-wide access

Available Operations

Core User Management

OperationDescriptionLink
Invite UserSend invitations to new users with specific access levelsView Details →
List UsersQuery and filter users in workspaces or organizationsView Details →
Remove UserRemove users from workspaces or organizationsView Details →

Role and Permission Management

OperationDescriptionLink
Custom RolesCreate and manage custom roles with granular permissionsView Details →

Access Levels

Blue provides a hierarchical permission system with predefined access levels:

Standard Access Levels

LevelDescriptionCapabilities
OWNERFull control over workspace/organizationAll permissions, can transfer ownership
ADMINAdministrative accessUser management, settings, billing
MEMBERStandard team memberFull workspace functionality, limited admin access
CLIENTExternal client accessLimited workspace visibility, focused on deliverables
COMMENT_ONLYComment-only accessCan view and comment, cannot edit
VIEW_ONLYRead-only accessCan view content only

Permission Hierarchy

Users can only invite or manage users at their level or below:

  • OWNERS can manage all access levels
  • ADMINS can manage ADMIN, MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY
  • MEMBERS can manage MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY
  • CLIENTS can only manage other CLIENTS

Key Concepts

User Invitations

  • Email-based: Users are invited via email address
  • Role assignment: Set access level and optional custom role during invitation
  • Multi-workspace: Single invitation can grant access to multiple workspaces
  • Expiration: Invitations expire after 7 days
  • Automatic notifications: Blue sends email invitations automatically

Workspace vs Organization Access

  • Workspace invitation: Grants access to specific workspace only
  • Organization invitation: Grants organization-level access, optionally including specific workspaces
  • Organization owners: Automatically get ADMIN access to all organization workspaces
  • Scope restrictions: Cannot combine workspace and organization invitation parameters

Custom Roles

  • Granular permissions: Define specific capabilities beyond standard access levels
  • Workspace-specific: Custom roles are scoped to individual workspaces
  • Field-level control: Control access to specific custom fields
  • Action restrictions: Limit specific actions (create, edit, delete, etc.)

Common Patterns

Inviting a New Team Member

mutation InviteTeamMember {
  inviteUser(input: {
    email: "[email protected]"
    projectId: "web-redesign"
    accessLevel: MEMBER
  })
}

Creating an Organization-Wide Invitation

mutation InviteToCompany {
  inviteUser(input: {
    email: "[email protected]"
    companyId: "company_123"
    projectIds: ["project_1", "project_2", "project_3"]
    accessLevel: ADMIN
  })
}

Listing Workspace Users

query ProjectUsers {
  projectUsers(projectId: "web-redesign") {
    id
    user {
      name
      email
      avatar
    }
    accessLevel
    role {
      name
      permissions
    }
    invitedAt
    joinedAt
  }
}

Removing a User

mutation RemoveProjectUser {
  removeUser(input: {
    userId: "user_456"
    projectId: "web-redesign"
  })
}

Creating a Custom Role

mutation CreateCustomRole {
  createProjectUserRole(input: {
    projectId: "web-redesign"
    name: "Content Reviewer"
    permissions: {
      canCreateRecords: false
      canEditOwnRecords: true
      canEditAllRecords: false
      canDeleteRecords: false
      canManageUsers: false
      canViewReports: true
    }
  }) {
    id
    name
    permissions
  }
}

Permission Management

Standard Permissions Matrix

ActionOWNERADMINMEMBERCLIENTCOMMENT_ONLYVIEW_ONLY
Invite Users✅ All levels✅ ADMIN and below✅ MEMBER and below✅ CLIENT only❌ No❌ No
Remove Users✅ All users✅ ADMIN and below✅ MEMBER and below✅ CLIENT only❌ No❌ No
Modify Workspace Settings✅ Yes✅ Yes❌ No❌ No❌ No❌ No
Create Records✅ Yes✅ Yes✅ Yes✅ Limited❌ No❌ No
Edit All Records✅ Yes✅ Yes✅ Yes❌ No❌ No❌ No
Delete Records✅ Yes✅ Yes✅ Yes❌ No❌ No❌ No
View Reports✅ Yes✅ Yes✅ Yes✅ Limited❌ No❌ No

Custom Role Capabilities

  • Field-level permissions: Control access to specific custom fields
  • Action-specific rules: Allow/deny specific operations (create, edit, delete)
  • View restrictions: Limit which records users can see
  • Feature toggles: Enable/disable specific features per role

Best Practices

User Onboarding

  1. Start with standard roles - Use predefined access levels for most users
  2. Progressive permissions - Begin with limited access, expand as needed
  3. Clear communication - Include context when sending invitations
  4. Regular reviews - Audit user access periodically

Security Considerations

  1. Principle of least privilege - Grant minimum necessary permissions
  2. Regular access audits - Review user permissions quarterly
  3. Offboarding process - Remove access immediately when users leave
  4. Custom role documentation - Document custom role purposes and limitations

Team Organization

  1. Consistent naming - Use clear, descriptive role names
  2. Role consolidation - Avoid creating too many similar custom roles
  3. Organization structure - Align permissions with organizational hierarchy
  4. Workspace inheritance - Consider how organization roles affect workspace access

Error Handling

Common errors when managing users:

Error CodeDescriptionSolution
USER_ALREADY_IN_THE_PROJECTUser already has workspace accessCheck current user list before inviting
UNAUTHORIZEDInsufficient permissions to perform actionVerify your access level and permissions
PROJECT_NOT_FOUNDWorkspace doesn’t exist or no accessConfirm workspace ID and access rights
INVITATION_LIMITReached invitation limit for billing tierUpgrade plan or remove inactive users
ADD_SELFCannot invite yourselfUse a different email or have another admin invite you
COMPANY_BANNEDOrganization account is suspendedContact support to resolve account status

Rate Limits

User management operations have the following rate limits:

  • Invitations: 100 per hour per organization
  • User queries: 1000 per hour per user
  • Role modifications: 50 per hour per workspace