> ## Documentation Index
> Fetch the complete documentation index at: https://noorle.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Team Management

> Invite team members, assign roles, and manage permissions for collaborative development.

Noorle Platform supports team-based collaboration with role-based access control. Invite team members, assign roles, and control what resources each person can access.

## Team Roles

### Owner

* Full control over account and all resources
* Can invite/remove team members
* Can manage billing and subscriptions
* Can delete the account
* Always at least one owner per account

**Best for:** Account administrators, founders

### Admin

* Can manage team members and permissions
* Can create and modify agents, gateways, and capabilities
* Can view billing information (read-only)
* Cannot delete account or modify subscriptions

**Best for:** Team leads, senior engineers

### Developer

* Can create and modify agents, gateways, and capabilities
* Can view team members (read-only)
* Cannot manage permissions or billing
* Cannot invite new members

**Best for:** Engineers building features

### Viewer

* Read-only access to all resources
* Can view agents, gateways, capabilities, usage
* Cannot create or modify anything
* Cannot manage team

**Best for:** Stakeholders, managers, audit reviewers

## Permission Matrix

| Action             | Owner | Admin | Developer | Viewer |
| ------------------ | ----- | ----- | --------- | ------ |
| View Resources     | ✓     | ✓     | ✓         | ✓      |
| Create Resources   | ✓     | ✓     | ✓         | -      |
| Edit Resources     | ✓     | ✓     | ✓         | -      |
| Delete Resources   | ✓     | ✓     | ✓         | -      |
| Manage Team        | ✓     | ✓     | -         | -      |
| Invite Members     | ✓     | ✓     | -         | -      |
| Manage Permissions | ✓     | ✓     | -         | -      |
| View Billing       | ✓     | ✓\*   | -         | -      |
| Modify Billing     | ✓     | -     | -         | -      |
| Delete Account     | ✓     | -     | -         | -      |

\*Admin can view but not modify

## Inviting Team Members

### Send an Invitation

1. Go to **Team** in the left sidebar
2. Click **Invite Member**
3. Enter the member's email address
4. Select their role (Owner, Admin, Developer, or Viewer)
5. Optionally add a custom message
6. Click **Send Invitation**

The member will receive an email invitation. They can accept it by signing up with that email or logging in if they already have an account.

### Manage Pending Invitations

1. Go to **Team**
2. Click **Pending Invitations** tab
3. View status of sent invitations
4. Click **Resend** to send another copy
5. Click **Revoke** to cancel an invitation

Invitations expire after 30 days.

## Managing Team Members

### Change a Member's Role

1. Go to **Team**
2. Find the member in the list
3. Click **Edit Role**
4. Select new role
5. Click **Save**

<Note>
  You cannot change the role of the account owner unless someone else is also an owner.
</Note>

### Remove a Team Member

1. Go to **Team**
2. Find the member you want to remove
3. Click **Remove Member**
4. Confirm removal

The member will lose access to the account immediately. They cannot reverse this action.

## Resource-Level Access Control

By default, team members with Developer or higher role can access all resources (agents, gateways, capabilities). You can restrict access by resource:

### Lock Down a Resource

1. Open the resource (agent, gateway, capability)
2. Click **Settings** > **Access Control**
3. Toggle **Restricted Access**
4. Select which team members can access
5. Click **Save**

Now only selected members can view or modify this resource.

### Public vs Private Resources

* **Public** - All team members with appropriate role can access
* **Private** - Only explicitly listed members can access

## Best Practices

### Principle of Least Privilege

* Grant only the minimum role needed
* Use Viewer role for external stakeholders
* Promote to Developer only when they need to build

### Team Structure

* **1 Owner** - Account administrator
* **2-3 Admins** - Team leads with management authority
* **Developers** - Individual contributors
* **Viewers** - Stakeholders, managers, auditors

### Security

* Remove members promptly when they leave
* Audit team membership quarterly
* Use restricted access for sensitive resources
* Change ownership if owner leaves company

### Onboarding

* Add new members with Viewer role first
* Let them explore and understand the platform
* Promote to Developer after orientation
* Move to Admin only if management needed

## Troubleshooting

### Member Can't See Resources

* Check member's role is Developer or higher
* Check resource access control settings
* Ensure member accepted the invitation email

### Can't Invite Member

* You need Owner or Admin role
* Check the email address is correct
* Member might already be on the team

### Can't Change Owner

* You must transfer ownership via account settings
* Only current owner can assign new owner
* New owner must accept transfer request

### Lost Access After Role Change

* An admin reduced your permissions
* Contact an Owner or Admin to restore access
* Change doesn't affect existing resource tokens

## API Access

Manage team members programmatically:

```bash theme={null}
# List team members
curl https://api.noorle.com/v1/team/members \
  -H "Authorization: Bearer {jwt_token}"

# Invite team member
curl -X POST https://api.noorle.com/v1/team/invite \
  -H "Authorization: Bearer {jwt_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "developer@company.com",
    "role": "developer"
  }'

# Change member role
curl -X PATCH https://api.noorle.com/v1/team/members/{user_id} \
  -H "Authorization: Bearer {jwt_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "role": "admin"
  }'

# Remove member
curl -X DELETE https://api.noorle.com/v1/team/members/{user_id} \
  -H "Authorization: Bearer {jwt_token}"
```

See [API Documentation](/reference/introduction) for complete reference.

## Next Steps

* [Manage Service Accounts](/use/platform/service-accounts)
* [Generate API Keys](/use/platform/api-keys)
* [Configure Authentication](/use/platform/mcp-gateway)
