Teams API
Manage teams and team membership. Teams are the primary organizational unit in NodeLoom -- all workflows, credentials, and executions are scoped to a team. Member management endpoints require the ADMIN role.
List Teams
/api/teamsList all teams the authenticated user belongs to
Response
[
{
"id": "uuid",
"name": "Engineering",
"memberCount": 8,
"plan": "PRO",
"role": "ADMIN",
"createdAt": "2026-01-15T10:00:00.000Z"
},
{
"id": "uuid",
"name": "Marketing Ops",
"memberCount": 3,
"plan": "STARTER",
"role": "BUILDER",
"createdAt": "2026-02-01T08:00:00.000Z"
}
]Get Team
/api/teams/:teamIdGet detailed information about a specific team
{
"id": "uuid",
"name": "Engineering",
"description": "Core engineering team",
"memberCount": 8,
"plan": "PRO",
"workflowCount": 24,
"credentialCount": 12,
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-02-10T14:00:00.000Z"
}Create Team
/api/teamsCreate a new team
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Team name |
description | string | No | Optional team description |
{
"name": "Engineering",
"description": "Core engineering team"
}Response
The creating user is automatically added as an ADMIN member.
{
"id": "uuid",
"name": "Engineering",
"description": "Core engineering team",
"createdAt": "2026-02-17T10:00:00.000Z"
}Update Team
/api/teams/:teamIdUpdate team details (requires ADMIN role)
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | No | Updated team name |
description | string | No | Updated description |
Response
Returns the updated team object with a 200 OK status.
Delete Team
/api/teams/:teamIdDelete a team and all associated data (requires ADMIN role)
Destructive operation
{
"message": "Team deleted successfully"
}Team Members
Manage team membership and roles. All member management endpoints require the ADMIN role within the team.
List Members
/api/teams/:teamId/membersList all members of a team
[
{
"userId": "uuid",
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@example.com",
"role": "ADMIN",
"joinedAt": "2026-01-15T10:00:00.000Z"
},
{
"userId": "uuid",
"firstName": "John",
"lastName": "Smith",
"email": "john@example.com",
"role": "BUILDER",
"joinedAt": "2026-01-20T14:00:00.000Z"
}
]Add Member
/api/teams/:teamId/membersAdd a new member to the team (requires ADMIN role)
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Email of the user to add |
role | string | Yes | Role to assign: ADMIN, BUILDER, or OPERATOR |
{
"email": "john@example.com",
"role": "BUILDER"
}Update Member Role
/api/teams/:teamId/members/:userIdUpdate a member's role (requires ADMIN role)
| Field | Type | Required | Description |
|---|---|---|---|
role | string | Yes | New role: ADMIN, BUILDER, or OPERATOR |
{
"role": "ADMIN"
}Remove Member
/api/teams/:teamId/members/:userIdRemove a member from the team (requires ADMIN role)
{
"message": "Member removed successfully"
}Last admin
Role Definitions
| Role | Permissions |
|---|---|
ADMIN | Full access: team settings, member management, billing, plus all BUILDER and OPERATOR permissions |
BUILDER | Create, edit, and delete workflows and credentials. Can also execute workflows. |
OPERATOR | View workflows and execute them. Cannot modify workflow definitions or credentials. |
Error Codes
| Status | Meaning |
|---|---|
400 | Invalid request body or invalid role value |
403 | Insufficient permissions (requires ADMIN role for member management) |
404 | Team or user not found |
409 | User is already a member of the team |