Nexla provides the following resources for managing accounts:
Users: User resources describe individual Nexla accounts. Every user has a corresponding User resource and may belong to an org through Org memberships. Each user can belong to none or more than one organization, but there is no cross availability of user's resources across the organizations.
Organizations: Umbrella resource for grouping multiple users together. Resource access controls are walled by organization boundary.
Teams: A team resource defines a collections of users, either within an organization or as individuals with no associated organization.
A team resource defines a collections of users, either within an Org or as individuals with no associated Org.
Note: All members of a team belonging to an Org must be also be members of that Org.
Teams are useful for managing access rights to other Nexla resources. Access rights to data sources and sets, for example, can be granted to a team, which grants the team's access rights to each member of the team.
Users added to an existing team are automatically granted any resource access rights already granted to the team. Those rights are removed when a team member is removed from the team, unless the member has access through another grant.
Any user can create a team, either within an Org they belong to or as an individual user. The user who creates a team is the team's owner, but is not automatically a member of the team (this allows Org admins to create teams to which they do not belong). All team members must be explicitly added using one of the POST or PUT requests described in this section.
Make a GET request to the /teams endpoint to list all of the teams owned by the authenticated user. A successful request returns with status 200 and a JSON response containing an array of team objects.
Make a GET request to the /teams endpoint with a specific team id to retrieve only that resource. A successful /teams/<team_id> request returns with status 200 and a JSON response containing a team object.
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.
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:
Issue a PUT request to the /teams/<team_id> endpoint to update an existing team.
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.
Make a GET request to the /teams/<team_id>/members endpoint to list only the members of the specified team. A successful/teams/<team_id>/members request returns with status 200 and a JSON response containing an array of team member objects.
Make a PUT request to the /teams/<team_id>/members endpoing 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.
Note You cannot remove members or replace the entire member list using this endpoint. See the following sections.
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. A successful POST request to /teams/<team_id>/members returns with status 200 and a JSON response containing an array of team member objects.
Issue a DELETE request to the /teams/<team_id> endpoint to delete a team. The requester must be the owner or an admin of the team.
If the team being deleted is currently granted any access permissions to any resources, DELETE will fail with a response status of 405, Method Not Allowed, unless force=1 is passed as a query parameter.
Otherwise, a successful DELETE request returns a status 200, Ok, and an empty response body.
Delete Team Members: Request
Delete Team Members: Response
"message":"Include force=1 as a query parameter to delete team with active access permissions"