Release Candidates

List active release candidates (excludes finalized)

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
repositoryIdentifierstringRequired

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

domainstringOptional

Filter by domain (e.g., core, auth, origination)

branchstringOptional

Filter by branch (e.g., main, develop)

limitnumberOptional

Limit results (1-200, default: 50)

offsetnumberOptional

Offset for pagination (default: 0)

statusstringOptional

Filter by status. Statuses: pending, in_progress, aborted. Note: finalized candidates are excluded by default.

Responses
chevron-right
200

List of release candidates

application/json
totalnumberRequired

Total count of release candidates

limitnumberRequired

Number of items returned

offsetnumberRequired

Offset for pagination

get
/sfp/api/release-candidates

Create or update a release candidate

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

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

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name

commitShastringRequired

Git commit SHA

branchstringOptional

Git branch name

tagstringOptional

Git tag

valueobjectRequired

Release definition and metadata

statusobjectOptional

Initial status for the release candidate. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed (e.g., testing, staging).

Default: pendingExample: pending
Responses
post
/sfp/api/release-candidates

Get the latest release candidate for a domain

get
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
repositoryIdentifierstringRequired

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

domainstringRequired

Domain name (e.g., core, auth, origination)

branchstringOptional

Filter by branch (e.g., main, develop)

Responses
chevron-right
200

Latest release candidate

application/json
idstringRequired

Unique identifier

repositoryIdentifierstringRequired

Repository identifier

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name

commitShastringRequired

Git commit SHA

branchstringOptional

Git branch name

tagstringOptional

Git tag

valueobjectRequired

Release definition and metadata

versionnumberRequired

Version number

createdAtstringRequired

Creation timestamp

updatedAtstringRequired

Last update timestamp

createdBystringRequired

Created by (email or "application")

updatedBystringRequired

Updated by (email or "application")

statusobjectRequired

Release candidate status. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed.

Example: pending
statusChangedAtstringOptional

Timestamp when status was last changed

statusChangedBystringOptional

Who changed the status

get
/sfp/api/release-candidates/latest

Get release candidates for a specific commit, grouped by domain

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

Git commit SHA

Query parameters
repositoryIdentifierstringRequired

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

Responses
chevron-right
200

Release candidates grouped by domain

No content

get
/sfp/api/release-candidates/by-commit/{commitSha}

No content

Get a specific release candidate

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

Release candidate ID

Responses
chevron-right
200

Release candidate details

application/json
idstringRequired

Unique identifier

repositoryIdentifierstringRequired

Repository identifier

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name

commitShastringRequired

Git commit SHA

branchstringOptional

Git branch name

tagstringOptional

Git tag

valueobjectRequired

Release definition and metadata

versionnumberRequired

Version number

createdAtstringRequired

Creation timestamp

updatedAtstringRequired

Last update timestamp

createdBystringRequired

Created by (email or "application")

updatedBystringRequired

Updated by (email or "application")

statusobjectRequired

Release candidate status. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed.

Example: pending
statusChangedAtstringOptional

Timestamp when status was last changed

statusChangedBystringOptional

Who changed the status

get
/sfp/api/release-candidates/{id}

Delete a release candidate

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

Release candidate ID

Responses
delete
/sfp/api/release-candidates/{id}

No content

Compare release candidate with an environment

post

Compares the release candidate packages against packages installed in a registered environment. When includeChangelog=true, computes detailed changelog with commits and work items for changed packages.

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

Release candidate ID

Query parameters
includeChangelogbooleanOptional

Include detailed changelog with commits and work items (default: false)

Body
environmentIdstringOptional

Environment ID to compare against

environmentNamestringOptional

Environment name to compare against (alternative to environmentId)

Responses
chevron-right
200

Comparison results

application/json
environmentobjectRequired

Environment being compared against

estimatedDeploymentTimenumberRequired

Estimated deployment time in minutes

changelogobjectOptional

Changelog data if includeChangelog=true was specified

linkedCandidatesobjectRequired

Linked release candidates from other domains (non-finalized only)

post
/sfp/api/release-candidates/{id}/compare

Compare release candidate with provided package versions

post

Compares the release candidate packages against a provided set of package versions. Useful for comparing RC against local git state (from artifact tags at a specific ref). When includeChangelog=true, computes detailed changelog with commits and work items for changed packages.

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

Release candidate ID

Query parameters
includeChangelogbooleanOptional

Include detailed changelog with commits and work items (default: false)

Body
packagesobjectRequired

Package versions to compare against. Key is package name, value is version.

Example: {"sales-pkg":"1.4.44.10","core-pkg":"2.0.0"}
baseLabelstringOptional

Label for the comparison base (e.g., git ref, environment name)

Example: main
Responses
chevron-right
200

Comparison results

application/json
baseLabelstringRequired

Label for the comparison base

comparisonobjectRequired

Comparison results

changelogobjectOptional

Changelog data if available

linkedCandidatesobjectRequired

Linked release candidates from other domains (non-finalized only)

post
/sfp/api/release-candidates/{id}/compare-to-packages

Get change analysis for a release candidate

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

Release candidate ID

Query parameters
sincestringOptional

Compare changes since this commit SHA or date

Responses
chevron-right
200

Change analysis

application/json
packagesstring[]Required

Package changes

workItemsstring[]Required

Work items extracted from commits

commitsstring[]Required

Commit information

get
/sfp/api/release-candidates/{id}/changes

Update release candidate status

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

Release candidate ID

Body
statusobjectRequired

New status for the release candidate. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed (e.g., testing, staging). Note: aborted and finalized statuses are locked and cannot be changed once set.

Example: pending
Responses
chevron-right
200

Status updated

application/json
idstringRequired

Unique identifier

repositoryIdentifierstringRequired

Repository identifier

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name

commitShastringRequired

Git commit SHA

branchstringOptional

Git branch name

tagstringOptional

Git tag

valueobjectRequired

Release definition and metadata

versionnumberRequired

Version number

createdAtstringRequired

Creation timestamp

updatedAtstringRequired

Last update timestamp

createdBystringRequired

Created by (email or "application")

updatedBystringRequired

Updated by (email or "application")

statusobjectRequired

Release candidate status. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed.

Example: pending
statusChangedAtstringOptional

Timestamp when status was last changed

statusChangedBystringOptional

Who changed the status

patch
/sfp/api/release-candidates/{id}/status

Find release candidate by repository, domain, and name

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

Repository identifier

domainstringRequired

Domain name

releaseNamestringRequired

Release name

Responses
chevron-right
200

Release candidate found

application/json
idstringRequired

Unique identifier

repositoryIdentifierstringRequired

Repository identifier

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name

commitShastringRequired

Git commit SHA

branchstringOptional

Git branch name

tagstringOptional

Git tag

valueobjectRequired

Release definition and metadata

versionnumberRequired

Version number

createdAtstringRequired

Creation timestamp

updatedAtstringRequired

Last update timestamp

createdBystringRequired

Created by (email or "application")

updatedBystringRequired

Updated by (email or "application")

statusobjectRequired

Release candidate status. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed.

Example: pending
statusChangedAtstringOptional

Timestamp when status was last changed

statusChangedBystringOptional

Who changed the status

post
/sfp/api/release-candidates/find

Update release candidate status by repository, domain, and name

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

Status updated

application/json
idstringRequired

Unique identifier

repositoryIdentifierstringRequired

Repository identifier

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name

commitShastringRequired

Git commit SHA

branchstringOptional

Git branch name

tagstringOptional

Git tag

valueobjectRequired

Release definition and metadata

versionnumberRequired

Version number

createdAtstringRequired

Creation timestamp

updatedAtstringRequired

Last update timestamp

createdBystringRequired

Created by (email or "application")

updatedBystringRequired

Updated by (email or "application")

statusobjectRequired

Release candidate status. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed.

Example: pending
statusChangedAtstringOptional

Timestamp when status was last changed

statusChangedBystringOptional

Who changed the status

patch
/sfp/api/release-candidates/status-by-name

Abort a release candidate

post

Marks a release candidate as aborted. Once aborted, the release candidate's status cannot be changed. Note: Finalized release candidates cannot be aborted.

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

Repository identifier

domainstringRequired

Domain name

releaseNamestringRequired

Release name

reasonstringOptional

Reason for aborting the release candidate

Responses
chevron-right
200

Release candidate aborted

application/json
idstringRequired

Unique identifier

repositoryIdentifierstringRequired

Repository identifier

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name

commitShastringRequired

Git commit SHA

branchstringOptional

Git branch name

tagstringOptional

Git tag

valueobjectRequired

Release definition and metadata

versionnumberRequired

Version number

createdAtstringRequired

Creation timestamp

updatedAtstringRequired

Last update timestamp

createdBystringRequired

Created by (email or "application")

updatedBystringRequired

Updated by (email or "application")

statusobjectRequired

Release candidate status. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed.

Example: pending
statusChangedAtstringOptional

Timestamp when status was last changed

statusChangedBystringOptional

Who changed the status

post
/sfp/api/release-candidates/abort

Update packages in a release candidate

patch

Allows excluding packages from a release candidate or overriding their versions. Note: Cannot update release candidates with locked statuses (finalized, aborted).

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

Repository identifier

domainstringRequired

Domain name

releaseNamestringRequired

Release name

excludePackagesstring[]Optional

Package names to exclude from the release candidate

Example: ["package-a","package-b"]
overrideVersionsobjectOptional

Package versions to override. Key is package name, value is new version.

Example: {"package-a":"1.2.3","package-b":"2.0.0"}
Responses
chevron-right
200

Release candidate updated

application/json
idstringRequired

Unique identifier

repositoryIdentifierstringRequired

Repository identifier

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name

commitShastringRequired

Git commit SHA

branchstringOptional

Git branch name

tagstringOptional

Git tag

valueobjectRequired

Release definition and metadata

versionnumberRequired

Version number

createdAtstringRequired

Creation timestamp

updatedAtstringRequired

Last update timestamp

createdBystringRequired

Created by (email or "application")

updatedBystringRequired

Updated by (email or "application")

statusobjectRequired

Release candidate status. Reserved statuses: pending, in_progress, finalized, aborted. Custom statuses are also allowed.

Example: pending
statusChangedAtstringOptional

Timestamp when status was last changed

statusChangedBystringOptional

Who changed the status

patch
/sfp/api/release-candidates/update-packages

Notify release candidate of a deployment event

post

Called when a release is deployed to an environment. This endpoint automatically updates the release candidate status based on the environment category and deployment status: - Only successful deployments (Success) trigger status progression - Any successful deployment → status becomes 'in_progress' (if currently pending) - Auto-finalization occurs only when deployed to ALL release category environments for the domain (if autoReleaseFinalization is enabled in project settings)

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

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

domainstringRequired

Domain/release configuration name

releaseNamestringRequired

Release name that was deployed

environmentNamestringRequired

Environment name where the release was deployed

deploymentStatusstring · enumOptional

Deployment status: Success, PartialSuccess, or Failure. Only successful deployments trigger status progression.

Default: SuccessPossible values:
Responses
chevron-right
200

Release event processed

application/json
updatedbooleanRequired

Whether the release candidate was updated

newStatusobjectOptional

The new status of the release candidate

previousStatusobjectOptional

Previous status before the update

intermediateCandidatesFinalizednumberOptional

Number of intermediate candidates auto-finalized

messagestringOptional

Message explaining what happened

post
/sfp/api/release-candidates/release-event

Get rolling analysis from baseline to latest candidate

get

Performs comprehensive rolling analysis showing progression from last completed release to latest candidate. Results are cached (TTL configurable via ROLLING_ANALYSIS_CACHE_TTL_SECONDS env var, default 15 minutes).

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

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

domainstringRequired

Domain name (e.g., core, auth, origination)

Query parameters
branchstringOptional

Filter by branch (e.g., main, develop)

includeChangelogbooleanOptional

Include package changelogs (default: false)

forcebooleanOptional

Bypass cache and fetch fresh data (default: false)

Header parameters
X-Cache-KeystringOptional

Cache key used for this request

X-Cache-StatusstringOptional

HIT if served from cache, MISS if freshly computed

Responses
chevron-right
200

Rolling analysis data

application/json
repositorystringRequired

Repository identifier

domainstringRequired

Domain name

orchestrationOrderstring[]Required

Environment orchestration order

analyzedAtstringRequired

Analysis timestamp

get
/sfp/api/release-candidates/rolling-analysis/{repository}/{domain}

Get environment-specific progression analysis

get

Analyzes progression for a specific environment including pending candidates

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

Repository identifier (e.g., myorg/myrepo)

domainstringRequired

Domain name

environmentstringRequired

Environment name

Query parameters
includeChangelogbooleanOptional

Include package changelogs

Responses
chevron-right
200

Environment progression analysis

No content

get
/sfp/api/release-candidates/rolling-analysis/{repository}/{domain}/environment/{environment}

No content

Assess deployment risk for next candidate

get

Provides risk assessment for the next deployment to a specific environment

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

Repository identifier (e.g., myorg/myrepo)

domainstringRequired

Domain name

environmentstringRequired

Environment name

Responses
chevron-right
200

Deployment risk assessment

No content

get
/sfp/api/release-candidates/rolling-analysis/{repository}/{domain}/environment/{environment}/risk

No content

Last updated