flxbl docs
slackGitHub
  • flxbl
  • sfp
  • sfops
  • Overview
  • Getting Started
    • Pre-Requisites
    • Install sfp
    • Configure Your Project
    • Build & Install an Artifact
    • Congratulations!
    • Docker Images
      • sfp-pro
  • CONCEPTS
    • Overview
    • SF CLI vs. SFP
    • Domains
    • Packages
    • Supported package types
      • Unlocked Packages
      • Org-Dependent Unlocked Packages
      • Source Packages
      • Diff Package
      • Data Packages
    • Artifacts
    • Package vs Artifacts
    • Identifying types of a package
    • Dependency management
    • Transitive Dependency Resolution
    • Destructive Changes
  • configuring a project
    • Project structure
    • Setup Salesforce Org
    • Creating a package
    • Defining a domain
    • Release Config
  • BUILDING ARTIFACTS
    • Overview
    • Determining whether an artifact need to be built
    • Building a domain
    • Building an artifact for package individually
    • Limiting artifacts to be built
    • Controlling aspects of the build command
      • Ignoring packages from being built
      • Building a collection of packages together
      • Selective ignoring of components from being built
      • Use of multiple config file in build command
    • Configuring installation behaviour of a package
      • Always deploy a package
      • Skip Install on Certain Orgs
      • Optimized Installation
      • Pre/Post Deployment Script
      • Reconciling Profiles
      • PermissionSet Assignment
      • Updating Picklist
      • Entitlement Deployment Helper
      • Field History & Feed Tracking
      • Aliasfy Packages
        • Aliasfy Packages - Merge Mode
      • State management for Flows
  • Installing an artifact
    • Overview
    • Controlling Aspects of Installation
    • Applying attributes of an artifact
    • BuiltIn Deployment Helpers
      • PermissionSet Group Awaiter
  • publishing and fetching artifacts
    • Publish Artifact
    • Fetching Artifacts
  • Releasing artifacts
    • Overview
    • Release Definitions
    • Generating a release definition
    • Generating a changelog
  • Validating a change
    • Overview
    • Different types of validation
    • Limiting Validation by Domain
    • Controlling validation attributes of a package
      • Skip Testing
      • Skip Coverage Validation
      • Test Synchronously
  • Analysing a Project
    • Overview
    • Duplicate Check
  • Environment Management
    • Pools
      • Scratch Org Pools
        • Defining a pool
        • Setting up your Salesforce Org for Scratch Org Pools
        • Pool Operations
          • Preparing pools
            • Handling dependencies
          • List Scratch Orgs in a pool
          • Fetch a scratch org
          • Delete Pools
      • Sandbox Pools
        • Sandbox Pool Initialization
        • Fetch a Sandbox from Pool
        • Monitor Sandbox Pools
    • Review Environments
      • Commands
        • Fetch a Review Environment
        • Check Review Environment Status
        • Extend a Review Environment
        • Transition Review Environment Status
        • Unassign a Review Environment
      • Considerations
    • Sandbox
      • Create Sandbox
      • Delete Sandbox
      • List Sandbox
      • Login to Sandbox
      • Update Sandbox
  • Development
    • Development Environment
    • Pull Changes from your org
    • Push Changes to your org
    • Dependency Management
      • Expand Dependencies
      • Shrink Dependencies
      • Explain Dependencies
  • Running sfp as a server
    • Introduction
    • sfp-pro-server: Architecture Overview (Alpha)
      • Task Processing System
      • Authentication & Security Architecture
      • Authentication System: Deep Dive
      • Database Architecture
      • Network Architecture and Integration System
      • Integration Architecture: Building Extensions
    • Installing SFP Server
      • Connecting GitHub as a CI/CD provider
    • Initializing SFP server
  • API Reference
    • Health
    • Authentication
    • Token
    • Salesforce
    • Team
    • Users
    • Tasks
    • Key Value
    • Repository
    • WebHooks
  • Metrics
    • Available Metrics
    • Custom Metrics
    • Configuring Collectors
      • Datadog
      • Splunk
      • New Relic
      • StatsD
  • Helpers
    • Managing Shared Resources
  • Command Guide
    • Core
      • Build
      • Quickbuild
      • Publish
      • Install
      • Release
    • Advanced
      • Validate
      • Artifacts
      • Changelog
      • Impact
      • Pool
      • Metrics
      • Repo
    • Utilities
      • Apex Tests
      • Flow
      • Dependency
      • Profile
  • FAQs
    • Common Errors
      • Org Shapes
      • Troubleshooting Unlocked Packages Build Failure Due to Code Coverage
    • Common Questions
      • Email Templates Deployment: Classic vs Lightning
      • Dealing with Long Build Times in Salesforce
      • Standard ValueSets and unlocked packages
      • Common Issues encountered with aliasfied packages
      • API Version
      • Understanding alwaysDeploy and skipIfAlreadyInstalled in Deployment Pipelines
    • sfp versioning and upgrade Process
  • References
  • Legal
    • Terms of Service for sfp
    • Terms of Service for 'sfp-pro' Software
  • LLMs.txt
Powered by GitBook
On this page
  1. API Reference

Team

Last updated 29 days ago

Delete a team

delete

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.
Authorizations
Path parameters
slugstringRequired

Team slug

Responses
200
Team deleted successfully
application/json
400
Bad request
401
Unauthorized
delete
DELETE /sfp/api/teams/{slug} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
{
  "success": true,
  "error": "Team not found"
}

Remove a member from a team

delete

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.
Authorizations
Path parameters
slugstringRequired

Team slug

emailstringRequired

Member email

Responses
200
Member removed successfully
application/json
400
Bad request
401
Unauthorized
403
Forbidden
delete
DELETE /sfp/api/teams/{slug}/members/{email} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
{
  "success": true,
  "error": "User not found in team"
}

List members of a team

get

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. Users must be members of the team to view its member list. Team membership is verified based on the requesting user's permissions.
Authorizations
Path parameters
slugstringRequired

Team slug

Query parameters
limitnumberOptional

Maximum number of members to return

Example: 10
offsetnumberOptional

Offset for pagination

Example: 0
rolestring · enumOptional

Filter by role

Example: ownerPossible values:
Responses
200
List of team members retrieved successfully
application/json
400
Bad request
401
Unauthorized
403
Forbidden
get
GET /sfp/api/teams/{slug}/members HTTP/1.1
Host: 
Authorization: Bearer JWT
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
}
  • DELETEDelete a team
  • DELETERemove a member from a team
  • PUTUpdate a team member's role
  • POSTCreate a new team
  • GETList members of a team
  • POSTAdd a member to a team

Update a team member's role

put

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.
Authorizations
Path parameters
slugstringRequired

Team slug

emailstringRequired

Member email

Body
rolestring · enumRequired

The new role for the team member

Possible values:
Responses
200
Member role updated successfully
application/json
400
Bad request
401
Unauthorized
403
Forbidden
put
PUT /sfp/api/teams/{slug}/members/{email}/role HTTP/1.1
Host: 
Authorization: Bearer JWT
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"
}

Create a new team

post

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.
Authorizations
Body
namestringRequired

The name of the team

Example: Engineering Team
slugstringRequired

The slug for the team URL

Example: engineering-team
descriptionstringOptional

Optional description of the team

Example: Team responsible for product engineering
Responses
201
Team created successfully
application/json
400
Bad request
401
Unauthorized
post
POST /sfp/api/teams HTTP/1.1
Host: 
Authorization: Bearer JWT
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"
}

Add a member to a team

post

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.
Authorizations
Path parameters
slugstringRequired

Team slug

Body
emailstringRequired

Email of the user to add to the team

Example: user@example.com
rolestring · enumRequired

Role for the user in the team

Example: memberPossible values:
Responses
201
Member added successfully
application/json
400
Bad request
401
Unauthorized
403
Forbidden
post
POST /sfp/api/teams/{slug}/members HTTP/1.1
Host: 
Authorization: Bearer JWT
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"
}