Releases
sfp server API reference for Releases: 3 endpoints.
/sfp/api/releases/change-summaryAuthorization
access-token In: header
Query Parameters
Repository identifier. GitHub uses owner/repo; Azure DevOps may use organization/project/repository.
Optional release domain filter
Optional environment filter. Only deployments to this environment are considered.
Baseline release for release-range mode. Excluded from the result.
Target release for release-range mode. Included in the result.
Inclusive deployment start timestamp for date-range mode
Inclusive deployment end timestamp for date-range mode
Response Body
application/json
curl -X GET "https://example.com/sfp/api/releases/change-summary?repositoryIdentifier=flxbl-io%2Fsf-core"{ "repositoryIdentifier": "flxbl-io/sf-core", "filters": { "domain": "frameworks", "environmentName": "production", "fromReleaseName": "frameworks-01MAY26-1777603932862", "toReleaseName": "frameworks-01MAY26-1777604503461", "since": "2026-05-01T00:00:00.000Z", "until": "2026-05-07T23:59:59.000Z" }, "summary": { "totalReleases": 3, "totalCommits": 27, "totalWorkItems": 8, "totalPackageChanges": 12 }, "workItems": [ "SFP-123", "SFP-124" ], "releases": [ { "releaseName": "sales-01MAY26-1777606086749", "domain": "sales", "matchedDeploymentDates": [ "2026-05-01T03:30:00.000Z" ], "matchedEnvironments": [ "production" ], "workItems": [ "SFP-123", "SFP-124" ], "packageChanges": [ { "packageName": "salespkg", "changeType": "updated", "fromVersion": "1.4.43.1777605095", "toVersion": "1.4.44.1777606086749", "commits": 5, "workItems": [ "SFP-123", "SFP-124" ] } ] } ], "missingChangelogReleases": [ { "releaseName": "frameworks-01MAY26-1777604503461", "domain": "frameworks" } ], "unmatchedRanges": [ "Domain sales does not contain release range from \"Release-1\" to \"Release-3\"." ]}/sfp/api/releases/rollback-annotationCalled by the rollback flow on completion. Marks the target release's per-environment record as the result of a rollback (with the reverse, undone per-package delta) so the Releases UI can distinguish it from a forward deploy of the same release.
Authorization
access-token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
curl -X POST "https://example.com/sfp/api/releases/rollback-annotation" \ -H "Content-Type: application/json" \ -d '{ "repositoryIdentifier": "flxbl-io/sf-core", "environment": "prod", "target": "sales:RC-FEB25-01", "rolledBackFrom": "sales:RC-FEB25-02", "rolledBackBy": "jane.doe@example.com" }'/sfp/api/releasesAuthorization
access-token In: header
Query Parameters
Repository identifier in format owner/repo
Filter by domain (e.g., core, auth, origination)
Filter by specific release name
Include changelog information (default: false)
Only show active releases (default: true)
Number of releases to fetch (1-200, default: 50)
Offset for pagination (default: 0)
Force refresh cache (default: false)
Skip fetching lock status for performance (default: true)
Include approval data for each environment deployment (default: false)
Response Body
application/json
curl -X GET "https://example.com/sfp/api/releases?repositoryIdentifier=flxbl-io%2Fsf-core"{ "repositoryIdentifier": "myorg/myrepo", "releases": [ { "name": "v1.2.3", "domain": "core", "environments": [ { "name": "staging", "environmentId": "123e4567-e89b-12d3-a456-426614174000", "deployedAt": "2024-01-15T10:30:00.000Z", "packages": { "core": "1.2.3", "ui": "2.0.1" }, "packageDetails": [ { "name": "core", "version": "1.2.3", "skipped": false, "status": "Success", "versionInOrg": "1.2.2", "isLeading": true, "error": null, "startTime": "2024-01-15T10:30:00.000Z", "endTime": "2024-01-15T10:35:00.000Z" } ], "changesFromPrevious": [ { "packageName": "core", "fromVersion": "1.2.2", "toVersion": "1.2.3", "totalCommits": 5, "totalWorkItems": 3, "totalPullRequests": 2, "workItems": { "issues": { "JIRA-123": [ "abc123", "def456" ], "JIRA-124": [ "ghi789" ] }, "pullRequests": { "456": [ "abc123" ], "789": [ "def456" ] }, "byType": { "jira": { "JIRA-123": [ "abc123" ] }, "github": { "456": [ "def456" ] }, "other": { "TASK-789": [ "ghi789" ] } } }, "commitRange": { "from": "abc123", "to": "def456" } } ], "releaseChangelog": {}, "orchestrationOrder": 1, "metadata": {}, "rollback": { "rolledBackFrom": "sales:RC-FEB25-02", "rolledBackAt": "2026-06-10T00:11:00.000Z", "rolledBackBy": "jane.doe@example.com", "skipAnalysis": false, "packageChanges": [ { "name": "salespkg", "from": "1.4.44", "to": "1.4.43", "direction": "downgrade" } ] }, "deploymentCounts": { "deployed": 2, "skipped": 36, "failed": 0, "total": 38 }, "approval": { "status": "approved", "requestedBy": "dev@company.com", "approvedBy": "lead@company.com", "approvedAt": "2026-04-18T10:30:00.000Z", "responseTimeMs": 14523, "source": "webhook" } } ], "firstDeployedAt": "2024-01-15T10:30:00.000Z", "lastDeployedAt": "2024-01-20T15:45:00.000Z", "deploymentCount": 4, "deploymentStatus": { "status": "in_progress", "totalPackages": 3, "packagesCompleted": [ "core", "ui" ], "packagesInProgress": [ "api" ], "packagesWithIssues": [ { "packageName": "auth", "issue": "Package has been rolled back in staging" } ], "missingFromEnvironments": [ "production" ], "recommendations": [ "Consider marking this release as obsolete" ] }, "packageStatuses": [ { "packageName": "core", "releaseVersion": "1.2.3", "isFullyDeployed": false, "isAbandoned": false, "trajectory": "progressing" } ], "releaseDefinition": { "core": "1.2.3", "ui": "2.0.1" }, "releaseChangelog": {} } ], "totalCount": 10, "changelogStats": { "uniqueDiffsCalculated": 5, "totalEnvironments": 12, "cacheHits": 7, "processingTimeMs": 250 }, "retrievedAt": "2024-01-15T10:30:00.000Z", "filters": { "domain": "core", "includeChangelog": true }}