Manage Teams
Team management in Nexla provides comprehensive control over team creation, updates, and configuration. The system allows you to create teams, manage membership, and configure team settings to support collaborative workflows and access control.
Create a Team
Creating teams in Nexla allows you to organize users and manage collective access to resources. Teams can be created within organizations or as standalone entities, providing flexibility in organizational structure.
Creation Endpoint
Issue a POST request to the /teams endpoint to create a new team. A team name is required; all other attributes, including members, are optional.
Required Fields
When creating a team, you must specify:
name: A descriptive name for the teamdescription: Optional description of the team's purposemembers: Optional array of initial team members
Member Specification
Include the members array attribute to add users to the new team during creation. Each array element must be an object with either an email or id attribute specifying the user. The object may also optionally contain an admin boolean attribute that specifies whether the user should be able to administer the team. If admin is not present, it is assumed to be false.
Member Format
[
{
"email": "john.smith@example.com",
"admin": true
},
{
"id": 43
}
]
- Nexla API
POST /teams
{
"name": "Example Team",
"description": "A team with two members",
"members": [
{
"email": "john.smith@example.com",
"admin": true
},
{
"email": "jane.doe@example.com"
}
]
}
Creation Response
A successful team creation returns a complete team object with all configuration details and metadata.
- Nexla API
{
"id": 1001,
"owner": {
"id": 42,
"full_name": "John Smith",
"email": "john.smith@example.com"
},
"org": {
"id": 101,
"name": "Acme Corporation",
"email_domain": "acme.com",
"email": null
},
"member": true,
"access_roles": ["member", "owner"],
"name": "Example Team",
"description": "A team with two members",
"members": [
{
"id": 42,
"email": "john.smith@example.com",
"admin": true
},
{
"id": 43,
"email": "jane.doe@example.com",
"admin": false
}
],
"updated_at": "2023-01-15T19:20:01.546Z",
"created_at": "2023-01-15T19:20:01.546Z"
}
Update a Team
Issue a PUT request to the /teams/{team_id} endpoint to update an existing team.
Update Limitations
Note: Team members may only be added or have their team admin rights updated using this endpoint. To replace a team's member list or to delete members from it, use the /teams/{team_id}/members endpoint described below.
Update Endpoint
To update team information:
PUT /teams/{team_id}
- Nexla API
PUT /teams/1001
{
"name": "Updated Team Name",
"description": "Updated team description",
"members": [
{
"email": "bob.wilson@example.com",
"admin": false
}
]
}
Update Response
The response includes the updated team information with all current configuration and metadata.
Team Management Operations
The Nexla API provides comprehensive team management capabilities beyond basic CRUD operations.
Team Information
Teams contain several important fields:
id: Unique identifier for the teamname: Descriptive name for the teamdescription: Optional description of the team's purposeowner: User who owns and can manage the teamorg: Organization the team belongs to (if any)members: List of team members with their rolesaccess_roles: Current user's access level to this teamcreated_at: When the team was createdupdated_at: When the team was last modified
Team Membership
Team members have specific attributes:
id: User identifieremail: User's email addressadmin: Whether the user has team administration rights
Advanced Team Operations
Team Deletion
To remove a team:
DELETE /teams/{team_id}
Note: Deleting a team removes all team-level access rights and may affect team members' access to resources.
Team Audit Logs
To view team activity:
GET /teams/{team_id}/audit_log
Team Configuration Best Practices
To effectively manage teams in your Nexla platform:
- Descriptive Names: Choose clear names that identify team purpose
- Clear Descriptions: Document team responsibilities and scope
- Minimal Admin Rights: Grant admin rights only to necessary users
- Regular Review: Periodically review team membership and purpose
- Document Purpose: Maintain clear documentation of team responsibilities
Team Use Cases
Development Teams
Create teams for different development functions:
- Data Engineering: Access to data sources and processing flows
- Analytics: Access to data destinations and reporting tools
- DevOps: Access to monitoring and operational resources
Project Teams
Organize teams around specific projects:
- Data Migration: Teams for data migration initiatives
- System Integration: Teams for integration projects
- Data Analysis: Teams for analytics initiatives
Department Teams
Structure teams by organizational departments:
- Marketing: Access to customer and campaign data
- Sales: Access to customer and sales data
- Finance: Access to financial and transactional data
Error Handling
Common team management issues and solutions:
- Invalid Team ID: Ensure the team ID exists and is accessible
- Permission Issues: Verify you have appropriate access rights
- Member Validation: Ensure all specified members exist and are accessible
- Organization Conflicts: Check organization membership requirements
Related Operations
After managing teams, you may need to:
Manage Team Members
GET /teams/{team_id}/members
PUT /teams/{team_id}/members
DELETE /teams/{team_id}/members
Control Resource Access
GET /resource_access
PUT /resource_access
View Team Activity
GET /teams/{team_id}/audit_log