Reviews
sfp server API reference for Reviews: 2 endpoints.
/sfp/api/reviews/pull-requestsRetrieves all pull requests for a repository with comprehensive metadata including Salesforce component changes, review environment assignments, validation status, and component overlap detection.
This endpoint always answers from cache and returns in ~1s. The snapshot is rebuilt by the Hatchet refresh-review-cache workflow every 15 minutes.
Passing refresh=true dispatches a refresh for this repository and returns the current snapshot immediately with refreshing: true — it does not wait for the rebuild. Poll this endpoint until cacheVersion changes to pick up the fresh data.
Authorization
access-token In: header
Query Parameters
Repository identifier in the format owner/repo
Optional PR number to filter for a specific pull request
Optional status filter: open, closed, or all (default: all)
Force refresh the cache and fetch fresh data
falseResponse Body
application/json
curl -X GET "https://example.com/sfp/api/reviews/pull-requests?repositoryIdentifier=flxbl-io%2Fsf-core"{ "openPrs": { "10": { "issueTitle": "Update CustomMetadataFeatureSettingsProvider.cls", "linkToIssue": "https://github.com/phieu-flxbl/sf-core/pull/10", "number": 10, "branch": "feature-branch", "author": { "login": "octocat", "avatarUrl": "https://avatars.githubusercontent.com/u/123456?v=4" }, "elapsedTime": 86400000, "merged": false } }, "closedPrs": {}, "cacheVersion": 42, "refreshing": false, "refreshRunId": "string"}/sfp/api/reviews/pull-requests/refreshDispatches the Hatchet refresh-review-cache workflow scoped to this repository and returns immediately with the run id.
The rebuild clones the repository and resolves Salesforce metadata for every open PR, so it takes minutes — it deliberately runs in a worker and never on the API process. Poll GET reviews/pull-requests until cacheVersion changes to observe the result.
Repeat requests within a short window coalesce onto the in-flight run (alreadyRunning: true) instead of queueing another.
Authorization
access-token In: header
Query Parameters
Response Body
application/json
curl -X POST "https://example.com/sfp/api/reviews/pull-requests/refresh?repositoryIdentifier=string"{ "repositoryIdentifier": "string", "dispatched": true, "alreadyRunning": true, "runId": "string", "reason": "hatchet-disabled"}