Teams allow you to collaborate with other creators by granting them specific permissions on your projects. This guide covers adding members, configuring roles, and managing ownership.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/modrinth/code/llms.txt
Use this file to discover all available pages before exploring further.
Team Structure
Every project has a team that controls who can:- Edit project details
- Upload new versions
- Manage team members
- View analytics
- Receive revenue payouts
Organization Teams
Projects owned by organizations have two permission layers:- Project team - Specific to this project
- Organization team - Organization-wide permissions
Team Member Structure
Each team member has:- User ID - The Modrinth user
- Role - Display role (e.g., “Developer”, “Artist”)
- Permissions - Specific permission flags
- Payout split - Percentage of revenue (0-5000%)
- Ordering - Display order on project page
- Accepted - Whether the user accepted the invite
Permission System
Project permissions control what actions members can perform:Core Permissions
Upload new versions and filesAllows:
- Creating new versions
- Adding files to existing versions
- Cannot delete versions or modify critical settings
Delete versions from the projectRequired for:
- Removing versions permanently
- Usually reserved for owners/admins
Modify project informationAllows editing:
- Name, description, summary
- Categories and tags
- External links
- Icon and gallery
- License information
Edit the project description/bodySeparate from other details for more granular control.
Team Management Permissions
Send and manage team invitationsAllows:
- Inviting new members
- Canceling pending invites
- Cannot modify existing members
Remove members from the teamMembers can always remove themselves.
The owner cannot be removed.
Modify team member settingsAllows changing:
- Permissions (cannot grant permissions you don’t have)
- Role titles
- Payout splits
- Ordering
Analytics and Revenue
Access project analytics and statisticsView:
- Download counts
- View metrics
- Demographic data
- Revenue (requires
PAYOUTS_READscope)
See payout and revenue informationRequired to view monetary data in analytics.
Adding Team Members
{
"user_id": "AbCdEfGh",
"role": "Developer",
"permissions": 87,
"payouts_split": 20.5,
"ordering": 1
}
Permission bitflags (default: 0)Calculate by combining permission values:
- 0 = No permissions
- 87 = Common contributor permissions
- Use helper libraries to compute bitflags
Revenue share percentage (0-5000, default: 0)
20.5= 20.5% of project revenue- Total across all members can exceed 100%
- Used for revenue distribution
Organization-level permissionsOnly applicable if the project is owned by an organization.
Should NOT be set for regular project teams.
Viewing Team Members
Get all members of a project team:- Project team members
- Organization team members (if applicable)
- Pending invitations (only visible to team members)
organization_permissions set.
Editing Team Members
Update a member’s role and permissions:- Cannot edit the owner’s permissions
- Cannot grant permissions you don’t have
- Organization owners cannot have their project permissions restricted
- Requires
EDIT_MEMBERpermission
Removing Team Members
Remove someone from the team:- Members can always remove themselves
- Requires
REMOVE_MEMBERto remove others - Cannot remove the owner
- Pending invites can be cancelled by the inviter or invitee
Transferring Ownership
Transfer project ownership to another team member:- Must be the current owner (or admin)
- New owner must be an accepted team member
- Cannot transfer organization-owned projects
- Previous owner loses owner status but remains on the team
- New owner gains all permissions automatically
- For organization teams: new owner is removed from all organization projects as a member (they inherit permissions as org owner)
To transfer an organization project, you must first remove it from the organization, transfer ownership, then re-add it.
Organization Project Teams
Projects under organizations have special behavior:Permission Inheritance
Organization members automatically have access based on:- Their organization permissions
- Any project-specific overrides
- User is org member with
UPLOAD_VERSIONorg permission - They can upload to all org projects by default
- Project team can override to grant/restrict more permissions
Adding Organization Members to Projects
When adding an org member to a project team:- Use it to restrict their permissions for this specific project
- Use it to grant additional permissions beyond org defaults
- The owner cannot have their permissions restricted
Organization Owner
The organization owner:- Has full permissions on all organization projects
- Cannot be added to project teams with restricted permissions
- Cannot have their permissions modified
- Automatically removed from project teams when made org owner
Permission Best Practices
- Principle of least privilege - Grant only needed permissions
- Use roles descriptively - Make it clear what each member does
- Review regularly - Remove inactive members
- Test with new members - Ensure permissions work as expected
- Document responsibilities - Explain what each role should do
- Set payout splits fairly - Based on contribution and agreement
Team Member Visibility
Who can see team members:- Public users - See accepted members only
- Team members - See all members including pending invites
- Invitees - See their own pending invite
Common Team Configurations
Solo Developer
- You: Owner, all permissions, 100% payouts
Small Team
- Owner: All permissions, 40% payouts
- Developer: Upload, edit details, view analytics, 30% payouts
- Artist: Edit details (for gallery), 30% payouts
Large Project
- Owner: All permissions, 25% payouts
- Lead Developer: All except member management, 25% payouts
- Developers: Upload versions, view analytics, 10% each
- Translators: Edit details (descriptions), 5% each
- Testers: No permissions, listed for credit
Organization Project
- Organization: Owner through org owner
- Project Lead: Project team member with full permissions, 50% payouts
- Contributors: Org members with inherited
UPLOAD_VERSION
Troubleshooting
Cannot add member- Check you have
MANAGE_INVITESpermission - User ID must be valid
- Cannot grant permissions you don’t have
- Invite shows as pending in team list
- User should receive a notification
- User must accept via
/team/{id}/joinendpoint
- Need
EDIT_MEMBERpermission - Cannot modify owner
- Cannot grant permissions you don’t have
- Org owners cannot have permissions restricted in org projects
- New owner must be an accepted member
- Cannot transfer organization-owned projects
- Must be current owner or admin
