Users & Teams
Manage users within your organization and organize them into teams with resource assignments. Endpoints for user invites, team creation, membership, and resource assignment.
Manage users within your organization and organize them into teams with resource assignments.
Users
List Users
/usersList all users in your organization. Supports ?search= (case-insensitive substring over name/email, paginated), ?page= / ?limit= (default 20, max 100), and ?email= for a server-side exact-email lookup that returns the single matching member (use ?email= rather than ?search= when you need one specific member — substring search can push the exact address past the requested page).
Invite User
/usersInvite a new user to your organization by email.
Update User
/users/{email}Update a user's role or details.
Remove User
/users/{email}Remove a user from your organization.
Teams
List Teams
/teamsList all teams in your organization.
Create Team
/teamsCreate a new team.
curl -X POST https://zopnight.com/api/teams \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Platform Engineering",
"description": "Manages shared infrastructure and developer tooling"
}'{
"data": {
"id": "team_abc123",
"name": "Platform Engineering",
"description": "Manages shared infrastructure and developer tooling",
"members": [],
"resources": [],
"createdBy": "admin@company.com",
"createdAt": "2025-03-10T09:00:00Z",
"updatedAt": "2025-03-10T09:00:00Z"
}
}Get Team
/teams/{teamID}Get a team with its members and assigned resources.
Update Team
/teams/{teamID}Update team name or description.
Delete Team
/teams/{teamID}Delete a team. Members and resource assignments are removed.
Team Members
List Members
/teams/{teamID}/membersList all members of a team.
Add Member
In the team detail page, Add Member opens a picker of existing organization users rather than a free-text email field. Each user is listed with their name, email, and the teams they already belong to, so you can confirm who you're adding. Users who are already on the team are filtered out, so you can't add a duplicate, and you can add several members at once. Selecting a user and a team role calls the endpoint below — the email is taken from the chosen user, never typed by hand.
/teams/{teamID}/membersAdd a user to a team by email.
curl -X POST https://zopnight.com/api/teams/team_abc123/members \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"email": "engineer@company.com"
}'{
"data": {
"teamID": "team_abc123",
"email": "engineer@company.com",
"addedBy": "admin@company.com",
"addedAt": "2025-03-10T09:15:00Z"
}
}Remove Member
/teams/{teamID}/members/{email}Remove a member from a team.
Team Resources
List Assigned Resources
/teams/{teamID}/resourcesList all resources assigned to a team.
Assign Resource
/teams/{teamID}/resourcesAssign a cloud resource to a team.
curl -X POST https://zopnight.com/api/teams/team_abc123/resources \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"resourceUID": "aws:us-east-1:i-0abc123def456"
}'{
"data": {
"teamID": "team_abc123",
"resourceUID": "aws:us-east-1:i-0abc123def456",
"assignedBy": "admin@company.com",
"assignedAt": "2025-03-10T09:30:00Z"
}
}Unassign Resource
/teams/{teamID}/resources/{resourceUID}Remove a resource assignment from a team.
Team Object
| Field | Type | Description |
|---|---|---|
id | string | Unique team ID |
name | string | Team display name |
description | string | Optional description |
members | TeamMember[] | List of team members |
resources | AssignedResource[] | List of assigned resources |
createdBy | string | Email of the creator |
createdAt | string | ISO 8601 creation timestamp |
updatedAt | string | ISO 8601 last update timestamp |