Skip to main content

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 team
  • description: Optional description of the team's purpose
  • members: 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
}
]
Create a Team: Request
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.

Create a Team: Response
{
"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}
Update a Team: Request
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 team
  • name: Descriptive name for the team
  • description: Optional description of the team's purpose
  • owner: User who owns and can manage the team
  • org: Organization the team belongs to (if any)
  • members: List of team members with their roles
  • access_roles: Current user's access level to this team
  • created_at: When the team was created
  • updated_at: When the team was last modified

Team Membership

Team members have specific attributes:

  • id: User identifier
  • email: User's email address
  • admin: 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:

  1. Descriptive Names: Choose clear names that identify team purpose
  2. Clear Descriptions: Document team responsibilities and scope
  3. Minimal Admin Rights: Grant admin rights only to necessary users
  4. Regular Review: Periodically review team membership and purpose
  5. 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

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