Manage Team Members
Team member management in Nexla allows you to control who has access to team resources and what level of administrative control they possess. The system provides flexible endpoints for adding, updating, and replacing team members while maintaining proper access control.
List Team Members
Listing team members allows you to see who currently has access to team resources and their administrative privileges. This information is essential for understanding team composition and access levels.
List Endpoint
Make a GET request to the /teams/{team_id}/members endpoint to list only the members of the specified team. A successful request returns with status 200 and a JSON response containing an array of team member objects.
Member Listing Request
To retrieve team member information:
GET /teams/{team_id}/members
- Nexla API
GET /teams/1001/members
Member Listing Response
The response includes all team members with their identification and administrative status.
- Nexla API
[
{
"id": 42,
"email": "john.smith@example.com",
"admin": true
},
{
"id": 43,
"email": "jane.doe@example.com",
"admin": true
}
]
Update Team Members
Updating team members allows you to add new members or modify the administrative status of existing users. This endpoint provides incremental updates to team membership.
Update Endpoint
Make a PUT request to the /teams/{team_id}/members endpoint to add members or to change the admin status of existing users. This endpoint behaves exactly as PUT /teams/{team_id} does when that endpoint receives a request body including a members attribute.
Update Limitations
Note: You cannot remove members or replace the entire member list using this endpoint. See the following sections for those operations.
Update Request
To add members or update admin status:
PUT /teams/{team_id}/members
- Nexla API
PUT /teams/1001/members
{
"members": [
{
"email": "jane.doe@example.com",
"admin": false
}
]
}
Update Response
The response shows the updated team membership with all current members and their administrative status.
- Nexla API
[
{
"id": 42,
"email": "john.smith@example.com",
"admin": true
},
{
"id": 43,
"email": "jane.doe@example.com",
"admin": false
}
]
Replace Team Members
Replacing team members allows you to completely reset the team membership with a new list. This is useful for major team restructuring or when you need to remove multiple members at once.
Replace Endpoint
Make a POST request to the /teams/{team_id}/members endpoint to replace the existing list of members with a new one. You can remove all members by passing an empty list to this endpoint.
Replace Request
To replace the entire team membership:
POST /teams/{team_id}/members
- Nexla API
POST /teams/1001/members
{
"members": [
{
"email": "bob.wilson@example.com",
"admin": true
},
{
"email": "alice.johnson@example.com",
"admin": false
}
]
}
Replace Response
A successful POST request returns with status 200 and a JSON response containing the new array of team member objects.
Remove Team Members
Removing team members allows you to revoke access for specific users while maintaining the team structure and other members.
Remove Team Members Endpoint
Make a DELETE request to the /teams/{team_id}/members endpoint to remove specific members from the team.
Remove Team Members Request
To remove specific team members:
DELETE /teams/{team_id}/members
- Nexla API
DELETE /teams/1001/members
{
"members": [
{
"email": "removed.user@example.com"
}
]
}
Remove Team Members Response
A successful removal returns with status 200 and the updated team membership list.
Team Member Operations
The Nexla API provides comprehensive team member management capabilities for different use cases.
Member Addition
Adding new members to teams:
- Email-based: Add members using their email addresses
- ID-based: Add members using their user IDs
- Admin Rights: Specify whether new members have administrative privileges
Member Updates
Modifying existing member attributes:
- Admin Status: Change whether members can administer the team
- Role Changes: Update member permissions and access levels
- Status Updates: Modify member status and capabilities
Member Removal
Removing members from teams:
- Selective Removal: Remove specific members while keeping others
- Bulk Removal: Remove multiple members in a single operation
- Complete Reset: Replace entire membership with new list
Member Information Fields
Team members have several important attributes:
id: Unique user identifieremail: User's email addressadmin: Whether the user has team administration rightsfull_name: User's display name (when available)
Access Control Considerations
Permission Inheritance
Team members automatically inherit:
- Resource Access: Access to resources granted to the team
- Data Permissions: Permissions for data sources and destinations
- Flow Access: Access to data processing flows
- Credential Access: Access to shared credentials
Permission Removal
When members are removed from teams:
- Access Revocation: Team-level access rights are removed
- Individual Rights: Personal access rights are preserved
- Resource Impact: May affect access to team-shared resources
Best Practices
To effectively manage team members:
- Clear Roles: Define clear roles and responsibilities for team members
- Minimal Admin Rights: Grant administrative privileges only when necessary
- Regular Review: Periodically review team membership and access levels
- Document Changes: Keep records of membership changes and reasons
- Access Auditing: Monitor team access patterns and usage
Error Handling
Common team member management issues and solutions:
- Invalid User: Ensure specified users exist and are accessible
- Permission Issues: Verify you have appropriate team management rights
- Organization Conflicts: Check organization membership requirements
- Access Conflicts: Resolve conflicts between team and individual permissions
Related Operations
After managing team members, you may need to:
View Team Details
GET /teams/{team_id}
Manage Team Settings
PUT /teams/{team_id}
Control Resource Access
GET /resource_access
PUT /resource_access
View Team Activity
GET /teams/{team_id}/audit_log