Analysis

Query analysis result summaries

get

Retrieve lightweight analysis summaries for a repository. Returns only the fields needed for list/table views — no markdown content or raw linter data.

Use cases:

  • Table view: list all recent analyses with status badges

  • Filter by base branch to see analyses targeting a specific branch

  • Filter by PR number to see summary for a specific PR

Results are ordered by most recent first.

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

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

Example: flxbl-io/sf-core
pullRequestNumberstringOptional

Filter by PR number

baseBranchstringOptional

Filter by target/base branch (e.g., main, release/1.0)

limitnumberOptional

Maximum results to return (default: 20, max: 100)

Responses
chevron-right
200

Lightweight analysis summaries (no markdown or raw data)

No content

get
/sfp/api/analysis/results

No content

Publish analysis results

post

Store analysis results from sfp analyze. Called by the CLI when --publish-results is used.

Dual write: Stores full results (with markdown and linter data) in the results table and a lightweight summary in the summary table.

Duplicate handling: If results already exist for the same PR + commit, they are overwritten (same commit = updated analysis).

Retention: Keeps last 500 results per repository.

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
pullRequestNumberstringOptional

Pull request number (if PR context)

Example: 123
commitShastringRequired

Git commit SHA that was analyzed

Example: 6dcb09b5b57875f334f61aebed695e2e4193db5e
branchNamestringOptional

Source branch name

baseBranchstringOptional

Target branch name (for PRs)

statusstring · enumRequired

Analysis status

Possible values:
hasIssuesbooleanRequired

Whether any linter found issues

hasFailedLintersbooleanRequired

Whether any linter in the fail-on list found issues

lintersstring[]Required

Linters that were executed

Example: ["duplicates","compliance","architecture","code-analyzer"]
executionTimeMsnumberOptional

Total execution time in milliseconds

markdownSummarystringOptional

Pre-rendered markdown summary of the analysis results. Used for PR comments and UI rendering.

Example: ## PR Analysis ### Compliance - 2 violations found ...
prUrlstringOptional

Direct URL to the pull request on the git provider

Example: https://github.com/flxbl-io/sf-core/pull/123
commitUrlstringOptional

Direct URL to the commit on the git provider

Example: https://github.com/flxbl-io/sf-core/commit/6dcb09b5b57875f334f61aebed695e2e4193db5e
Responses
post
/sfp/api/analysis/results

No content

Get full analysis results for a pull request

get

Retrieve all analysis runs for a specific PR with full data including markdown content and raw linter results.

Use cases:

  • PR detail view: show full linter markdown reports per tab

  • Compare analysis results between commits on the same PR

Each entry represents a separate analysis run (typically one per commit push). Same commit re-analyzed = latest result only (overwritten on publish).

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

Pull request number

Example: 617
Query parameters
repositoryIdentifierstringRequired

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

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

PR analysis runs with full data, sorted by most recent commit first

No content

get
/sfp/api/analysis/pr/{prNumber}

No content

Last updated