Game Framework
Workspace & Teams

Managing Members

Learn how to invite team members, assign roles, and manage access to your workspace.

Inviting Members

Send Invitation

curl -X POST https://registry.yourcompany.com/v1/workspaces/ws_ID/invitations \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "teammate@company.com",
    "role": "developer",
    "message": "Join our package registry"
  }'

Response:

{
  "id": "inv_c0s6t7vjnb0c73f5g6eg",
  "email": "teammate@company.com",
  "role": "developer",
  "status": "pending",
  "expires_at": "2025-01-17T10:00:00Z"
}

Invitation Roles

  • owner - Full workspace control
  • developer - Publish and manage packages
  • tester - Download and test packages
  • viewer - Read-only access

Accepting Invitations

Recipients receive an email with acceptance link:

# Or accept via API
curl -X POST https://registry.yourcompany.com/v1/invitations/inv_ID/accept \
  -H "Authorization: Bearer RECIPIENT_TOKEN"

Listing Members

curl https://registry.yourcompany.com/v1/workspaces/ws_ID/members \
  -H "Authorization: Bearer YOUR_TOKEN"

Response:

{
  "members": [
    {
      "user_id": "usr_owner",
      "email": "owner@company.com",
      "role": "workspace_owner",
      "joined_at": "2025-01-10T10:00:00Z"
    },
    {
      "user_id": "usr_dev",
      "email": "dev@company.com",
      "role": "workspace_developer",
      "joined_at": "2025-01-11T14:30:00Z"
    }
  ],
  "total": 2
}

Changing Member Roles

curl -X PATCH https://registry.yourcompany.com/v1/workspaces/ws_ID/members/usr_ID \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "role": "workspace_developer"
  }'

Only owners can change member roles.

Removing Members

curl -X DELETE https://registry.yourcompany.com/v1/workspaces/ws_ID/members/usr_ID \
  -H "Authorization: Bearer YOUR_TOKEN"

Warning: Removed members lose all workspace access immediately.

Bulk Operations

Invite Multiple Members

curl -X POST https://registry.yourcompany.com/v1/workspaces/ws_ID/invitations/bulk \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "invitations": [
      {"email": "dev1@company.com", "role": "developer"},
      {"email": "dev2@company.com", "role": "developer"},
      {"email": "tester1@company.com", "role": "tester"}
    ]
  }'

Permission Management

View member permissions:

curl https://registry.yourcompany.com/v1/workspaces/ws_ID/members/usr_ID/permissions \
  -H "Authorization: Bearer YOUR_TOKEN"

Response:

{
  "user_id": "usr_ID",
  "role": "workspace_developer",
  "permissions": [
    "packages.create",
    "packages.edit",
    "packages.delete",
    "versions.create",
    "artifacts.upload"
  ]
}

Best Practices

1. Use Appropriate Roles

# ✓ Good - specific roles
Developers: developer role
QA Team: tester role
Management: viewer role

# ✗ Bad - everyone as owner
Everyone: owner role

2. Regular Audits

Review members quarterly:

# List all members
curl https://registry.yourcompany.com/v1/workspaces/ws_ID/members \
  -H "Authorization: Bearer YOUR_TOKEN"

3. Remove Inactive Members

# Check last activity
curl https://registry.yourcompany.com/v1/workspaces/ws_ID/members/usr_ID/activity \
  -H "Authorization: Bearer YOUR_TOKEN"

4. Document Member Responsibilities

Maintain a team roster:

MemberRoleResponsibility
AliceOwnerWorkspace admin
BobDeveloperPackage publishing
CarolTesterQA testing

Team Size Limits

PlanMembers
Free5
Pro25
EnterpriseUnlimited

Next Steps

Need help? Contact support