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

Release Candidates

Diff two release candidates (async, doc-store-backed)

get

Returns the package-version delta and git file-level diff between two release candidates. Async, mirroring code-analysis / AI reports: a cached result is served immediately (status: available); otherwise the generate-release-diff flow is dispatched and status: pending is returned with a jobId. Poll this same endpoint (same from/to) until status becomes available — the result is keyed by (repository, from, to), not by jobId. Concurrent polls reuse the in-flight run.

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

Repository identifier (owner/repo or org/project/repo).

Example: flxbl-io/sf-core
fromstringRequired

Baseline release ref as domain:releaseName.

Example: sales:sales-10JUN26-1
tostringRequired

Target release ref as domain:releaseName.

Example: sales:sales-19JUN26-2
refreshbooleanOptional

Force a recompute, bypassing the cache (an in-flight run is still reused).

Example: false
Responses
200

The diff (available) or the in-flight job (pending).

application/json
statusstring · enumRequired

availabledata holds the cached diff. pending — computation is running; poll the same query until available. error — computation failed.

Possible values:
jobIdstringOptional

Hatchet execution id of the in-flight computation (status pending).

messagestringOptional

Human-readable status detail.

get/sfp/api/release-candidates/diff
GET /sfp/api/release-candidates/diff?repositoryIdentifier=flxbl-io%2Fsf-core&from=sales%3Asales-10JUN26-1&to=sales%3Asales-19JUN26-2 HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "status": "available",
  "data": {
    "repositoryIdentifier": "text",
    "fromRelease": "text",
    "toRelease": "text",
    "packages": [
      {
        "package": "text",
        "fromVersion": "text",
        "toVersion": "text",
        "change": "added"
      }
    ],
    "summary": {},
    "fileDiff": {},
    "computedAt": "text",
    "status": "text",
    "durationMs": 1
  },
  "jobId": "text",
  "message": "text"
}

Store a computed release diff (internal — called by the flow)

post

Callback used by the generate-release-diff flow to persist its result into the doc store. Requires an application token.

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

Repository identifier

fromReleasestringRequired

Baseline release ref (domain:releaseName)

toReleasestringRequired

Target release ref (domain:releaseName)

summaryobjectRequired

Counts by change type

fileDiffobjectOptional

Git file-level diff between the two release commits, grouped by package. Each package lists its changed files with status (A/M/D). Counts are exact; the file listing is capped (filesTruncated flags when the cap was hit). No patch hunks.

computedAtstringOptional

ISO timestamp the diff was computed

statusstringOptional

completed | failed

durationMsnumberOptional
Responses
201

Diff stored.

No content

post/sfp/api/release-candidates/diff/results
POST /sfp/api/release-candidates/diff/results HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 238

{
  "repositoryIdentifier": "text",
  "fromRelease": "text",
  "toRelease": "text",
  "packages": [
    {
      "package": "text",
      "fromVersion": "text",
      "toVersion": "text",
      "change": "added"
    }
  ],
  "summary": {},
  "fileDiff": {},
  "computedAt": "text",
  "status": "text",
  "durationMs": 1
}

No content

Last updated

Was this helpful?