Skip to main content

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
List Team Members: Request
GET /teams/1001/members

Member Listing Response

The response includes all team members with their identification and administrative status.

List Team Members: Response
[
{
"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
Update Team Members: Request
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.

Update Team Members: Response
[
{
"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
Replace Team Members: Request
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
Remove Team Members: Request
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 identifier
  • email: User's email address
  • admin: Whether the user has team administration rights
  • full_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:

  1. Clear Roles: Define clear roles and responsibilities for team members
  2. Minimal Admin Rights: Grant administrative privileges only when necessary
  3. Regular Review: Periodically review team membership and access levels
  4. Document Changes: Keep records of membership changes and reasons
  5. 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

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