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 controldeveloper- Publish and manage packagestester- Download and test packagesviewer- 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 role2. 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:
| Member | Role | Responsibility |
|---|---|---|
| Alice | Owner | Workspace admin |
| Bob | Developer | Package publishing |
| Carol | Tester | QA testing |
Team Size Limits
| Plan | Members |
|---|---|
| Free | 5 |
| Pro | 25 |
| Enterprise | Unlimited |
Next Steps
- Roles & Permissions - Understand permission model
- Security - Security best practices
- Billing - Upgrade for more members
Need help? Contact support