Projects

List all onboarded projects

get

Returns a list of all projects that have been onboarded to the system. Projects are returned in no particular order. This endpoint is useful for discovering available projects before performing operations on them.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Responses
chevron-right
200

List of projects retrieved successfully.

application/json
identifierstringRequired

Repository identifier

Example: flxbl-io/sf-core
remoteUrlstringRequired

Remote repository URL

Example: https://github.com/flxbl-io/sf-core
platformstring · enumRequired

Platform for the repository (user-specified)

Example: githubPossible values:
createdAtstringRequired

Creation timestamp

Example: 2025-06-21T10:00:00.000Z
updatedAtstringRequired

Last update timestamp

Example: 2025-06-21T10:00:00.000Z
versionnumberRequired

Document version for optimistic concurrency control

Example: 1
configurationobjectOptional

Project configuration object for extensibility.

Includes optional fields for:

  • workItems: Issue tracker integration (Jira, GitHub, Azure DevOps)
  • metricsAlertConfig: Custom alert thresholds for dashboard metrics
  • branches: Tracked branches
  • settings: Build and deployment settings
Example: {"displayName":"SFP Pro","description":"Enterprise Salesforce build system","branches":["main","develop"],"devHubs":["[email protected]","[email protected]"],"autoReleaseFinalization":true,"workItems":{"provider":"jira","jiraProjects":["DP","PROJ"],"baseUrl":"https://company.atlassian.net/browse"},"metricsAlertConfig":{"validation.successRate":{"warning":0.85,"alert":0.7},"build.avgCreationTime":{"warning":15,"alert":30}},"settings":{"buildTimeout":3600,"parallelBuilds":4}}
integrationsarrayOptional

Integration references linked to this project

Example: [{"id":"uuid","provider":"ai_anthropic","authType":"api_key","created_at":"2025-01-01T00:00:00.000Z"}]
get
/sfp/api/projects

Onboard a new repository

post

Creates a new project entry for repository onboarding. Fails if the project already exists to prevent accidental updates through POST requests. Use this endpoint to register repositories with the SFP server for future operations. Only users with the "owner" role can create projects.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
identifierstringRequired

Repository identifier (e.g., "org/repo" for GitHub, "org/project/repo" for Azure DevOps). Must be lowercase.

Example: flxbl-io/sf-core
remoteUrlstringRequired

Remote repository URL

Example: https://github.com/flxbl-io/sf-core
platformstring · enumOptional

Platform for the repository. If not provided, will be inferred from URL (deprecated behavior)

Example: githubPossible values:
Responses
post
/sfp/api/projects

Get a specific project by identifier

get

Retrieves a project by its repository identifier (e.g., "org/repo"). The identifier must match exactly what was used during project creation. This endpoint supports identifiers with slashes for GitHub-style repositories.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
identifierstringRequired

Repository identifier (e.g., "org/repo")

Example: flxbl-io/sf-core
Responses
chevron-right
200

Project retrieved successfully.

application/json
identifierstringRequired

Repository identifier

Example: flxbl-io/sf-core
remoteUrlstringRequired

Remote repository URL

Example: https://github.com/flxbl-io/sf-core
platformstring · enumRequired

Platform for the repository (user-specified)

Example: githubPossible values:
createdAtstringRequired

Creation timestamp

Example: 2025-06-21T10:00:00.000Z
updatedAtstringRequired

Last update timestamp

Example: 2025-06-21T10:00:00.000Z
versionnumberRequired

Document version for optimistic concurrency control

Example: 1
configurationobjectOptional

Project configuration object for extensibility.

Includes optional fields for:

  • workItems: Issue tracker integration (Jira, GitHub, Azure DevOps)
  • metricsAlertConfig: Custom alert thresholds for dashboard metrics
  • branches: Tracked branches
  • settings: Build and deployment settings
Example: {"displayName":"SFP Pro","description":"Enterprise Salesforce build system","branches":["main","develop"],"devHubs":["[email protected]","[email protected]"],"autoReleaseFinalization":true,"workItems":{"provider":"jira","jiraProjects":["DP","PROJ"],"baseUrl":"https://company.atlassian.net/browse"},"metricsAlertConfig":{"validation.successRate":{"warning":0.85,"alert":0.7},"build.avgCreationTime":{"warning":15,"alert":30}},"settings":{"buildTimeout":3600,"parallelBuilds":4}}
integrationsarrayOptional

Integration references linked to this project

Example: [{"id":"uuid","provider":"ai_anthropic","authType":"api_key","created_at":"2025-01-01T00:00:00.000Z"}]
get
/sfp/api/projects/{identifier}

Update project configuration

patch

Updates an existing project's configuration. Supports partial updates via PATCH semantics. Only owners can update projects. Includes optimistic concurrency control through version checking to prevent concurrent update conflicts.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
identifierstringRequired

Repository identifier (e.g., "org/repo")

Example: flxbl-io/sf-core
Body
remoteUrlstringOptional

Remote repository URL

Example: https://github.com/flxbl-io/sf-core
platformstring · enumOptional

Platform for the repository

Example: githubPossible values:
versionnumberOptional

Document version for optimistic concurrency control

Example: 1
Responses
chevron-right
200

Project updated successfully.

application/json
identifierstringRequired

Repository identifier

Example: flxbl-io/sf-core
remoteUrlstringRequired

Remote repository URL

Example: https://github.com/flxbl-io/sf-core
platformstring · enumRequired

Platform for the repository (user-specified)

Example: githubPossible values:
createdAtstringRequired

Creation timestamp

Example: 2025-06-21T10:00:00.000Z
updatedAtstringRequired

Last update timestamp

Example: 2025-06-21T10:00:00.000Z
versionnumberRequired

Document version for optimistic concurrency control

Example: 1
configurationobjectOptional

Project configuration object for extensibility.

Includes optional fields for:

  • workItems: Issue tracker integration (Jira, GitHub, Azure DevOps)
  • metricsAlertConfig: Custom alert thresholds for dashboard metrics
  • branches: Tracked branches
  • settings: Build and deployment settings
Example: {"displayName":"SFP Pro","description":"Enterprise Salesforce build system","branches":["main","develop"],"devHubs":["[email protected]","[email protected]"],"autoReleaseFinalization":true,"workItems":{"provider":"jira","jiraProjects":["DP","PROJ"],"baseUrl":"https://company.atlassian.net/browse"},"metricsAlertConfig":{"validation.successRate":{"warning":0.85,"alert":0.7},"build.avgCreationTime":{"warning":15,"alert":30}},"settings":{"buildTimeout":3600,"parallelBuilds":4}}
integrationsarrayOptional

Integration references linked to this project

Example: [{"id":"uuid","provider":"ai_anthropic","authType":"api_key","created_at":"2025-01-01T00:00:00.000Z"}]
patch
/sfp/api/projects/{identifier}

Last updated