Teams
Retrieves all user-facing teams in the organization. For each team, returns: - Team details (ID, name, slug, description) - Number of visible members (hidden system users are not counted) - The requesting user's role in the team (owner, member, or null when not a member)
This is the authoritative team listing: it includes teams that have no visible members yet,
such as teams freshly created by the managing admin. The hidden admin team is never returned.List of teams retrieved successfully
Total number of teams
4Unauthorized
Forbidden - Requires role: owner, member, application
GET /sfp/api/teams HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"teams": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Engineering Team",
"slug": "engineering-team",
"description": "Team responsible for product engineering",
"memberCount": 5,
"userRole": "owner",
"created_at": "2025-05-04T07:36:07Z"
}
],
"total": 4
}Creates a new team within the organization. Teams are used to: - Group users for collaborative access to resources - Manage permissions at a team level - Organize repositories, environments, and other resources
The team slug must be unique and URL-friendly. The creating user automatically becomes a team owner. Only users with owner role can create new teams.The name of the team
Engineering TeamThe slug for the team URL
engineering-teamOptional description of the team
Team responsible for product engineeringTeam created successfully
Whether the operation was successful
trueError message if operation failed
Team with this slug already existsBad request
Unauthorized
Forbidden - Requires role: owner
POST /sfp/api/teams HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 110
{
"name": "Engineering Team",
"slug": "engineering-team",
"description": "Team responsible for product engineering"
}{
"success": true,
"team": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "Engineering Team",
"slug": "engineering-team",
"description": "Team responsible for product engineering",
"primary_owner_user_id": "123e4567-e89b-12d3-a456-426614174000",
"email": "team@example.com",
"created_at": "2025-05-04T07:36:07Z"
},
"error": "Team with this slug already exists"
}Retrieves a paginated list of members belonging to a specific team. Returns detailed information about each member including: - User details (ID, email, name) - Role within the team (owner or member) - Join date and last activity
Supports filtering by role and pagination via limit/offset. All authenticated users can view team member lists for teams they have access to. Team membership is verified based on the requesting user's permissions.Team slug
Maximum number of members to return
10Offset for pagination
0Filter by role
ownerPossible values: List of team members retrieved successfully
Total number of members
20Bad request
Unauthorized
Forbidden - Requires role: owner, member, application
GET /sfp/api/teams/{slug}/members HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"members": [
{
"user_id": "123e4567-e89b-12d3-a456-426614174000",
"account_id": "123e4567-e89b-12d3-a456-426614174000",
"email": "user@example.com",
"first_name": "Jane",
"last_name": "Doe",
"role": "member",
"created_at": "2025-05-04T07:36:07Z"
}
],
"total": 20
}Adds a new member to an existing team with the specified role. This endpoint: - Creates team membership if user exists in the system - Assigns the specified role (owner or member) - Grants access to team resources based on role - Sends notification to the new member
The user must already have an account in the system. Use the users endpoint to create new users first. Only team owners can add new members.Team slug
Email of the user to add to the team
user@example.comRole for the user in the team
memberPossible values: Member added successfully
Whether the operation was successful
trueError message if operation failed
User not foundBad request
Unauthorized
Forbidden - Requires role: owner
POST /sfp/api/teams/{slug}/members HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 44
{
"email": "user@example.com",
"role": "member"
}{
"success": true,
"membership": {
"user_id": "123e4567-e89b-12d3-a456-426614174000",
"account_id": "123e4567-e89b-12d3-a456-426614174000",
"email": "user@example.com",
"first_name": "Jane",
"last_name": "Doe",
"role": "member",
"created_at": "2025-05-04T07:36:07Z"
},
"error": "User not found"
}Permanently deletes a team and all its associations. This action: - Removes all team memberships - Disassociates team from repositories and resources - Removes team-specific permissions and access - Cannot be undone
All team resources must be reassigned or deleted before team deletion. Only users with owner role can delete teams. The last team in an organization cannot be deleted.Team slug
Team deleted successfully
Whether the operation was successful
trueError message if operation failed
Team not foundBad request
Unauthorized
Forbidden - Requires role: owner
DELETE /sfp/api/teams/{slug} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"success": true,
"error": "Team not found"
}Removes a member from a team, revoking their access to team resources. This action: - Removes team membership immediately - Revokes access to all team repositories and resources - Removes team-specific permissions - Does not delete the user account
Team must maintain at least one owner. Users cannot remove themselves if they are the last owner. Only team owners can remove members.Team slug
Member email
Member removed successfully
Whether the operation was successful
trueError message if operation failed
User not found in teamBad request
Unauthorized
Forbidden - Requires role: owner
DELETE /sfp/api/teams/{slug}/members/{email} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"success": true,
"error": "User not found in team"
}Changes the role of an existing team member. Available roles: - owner: Full team management permissions, can add/remove members - member: Access to team resources but no management permissions
Role changes take effect immediately. Teams must maintain at least one owner. Users cannot demote themselves if they are the last owner. Only team owners can change member roles.Team slug
Member email
The new role for the team member
Member role updated successfully
Whether the operation was successful
trueError message if operation failed
User not foundBad request
Unauthorized
Forbidden - Requires role: owner
PUT /sfp/api/teams/{slug}/members/{email}/role HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16
{
"role": "owner"
}{
"success": true,
"membership": {
"user_id": "123e4567-e89b-12d3-a456-426614174000",
"account_id": "123e4567-e89b-12d3-a456-426614174000",
"email": "user@example.com",
"first_name": "Jane",
"last_name": "Doe",
"role": "member",
"created_at": "2025-05-04T07:36:07Z"
},
"error": "User not found"
}Last updated
Was this helpful?