For the complete documentation index, see llms.txt. This page is also available as Markdown.

Projects

Replace build-on-merge domain allow-list rules for a project

put

Replaces all branch-scoped domain allow-list rules for the build-on-merge flow.

When build-on-merge runs for a branch, only the domains allow-listed for the first matching branchPattern are built; every other impacted domain is skipped. No matching rule (or an empty list) imposes no restriction.

Branch patterns support wildcards: main, release/*, *. Domains are matched by exact, case-insensitive name (a release config's releaseName).

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

Repository identifier (e.g., flxbl-io/sf-core)

Example: flxbl-io/sf-core
Responses
200

Domain allow-list rules updated

No content

put/sfp/api/projects/config/build-on-merge

No content

Replace changeset template settings for a project

put

Replaces the project-scoped changeset selection mode and template list.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
selectionModestring · enumRequiredDefault: anyPossible values:
repositoryIdentifierstringRequired

Project/repository identifier

Responses
200

Changeset settings updated

No content

put/sfp/api/projects/config/changesets

No content

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
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":["devhub1@example.com","devhub2@example.com"],"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
identifierstringOptional

Repository identifier (e.g., "org/repo" for GitHub, "org/project/repo" for Azure DevOps). Must be lowercase. If omitted, auto-derived from remoteUrl.

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
201

The project has been successfully created.

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":["devhub1@example.com","devhub2@example.com"],"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"}]
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
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":["devhub1@example.com","devhub2@example.com"],"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}

Delete a project

delete

Permanently deletes a project and its stored configuration. Only owners can delete projects. This does not delete external resources (webhooks, environments, etc.).

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
204

Project deleted successfully.

No content

delete/sfp/api/projects/{identifier}

No content

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.

Renaming: Pass identifier in the body to rename the project. The old identifier is deleted and a new one is created with all existing data.

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
identifierstringOptional

New repository identifier. Renames the project key in the store. Must be lowercase in format org/repo or org/project/repo.

Example: flxbl-io/sf-core-renamed
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
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":["devhub1@example.com","devhub2@example.com"],"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

Was this helpful?