User Activity
sfp server API reference for User Activity: 1 endpoint.
GET
/sfp/api/users/me/activityAggregates the authenticated user's recent activity for one or more registered projects (each repositoryIdentifier must be a registered project; unregistered repos are rejected with 400): - Open PRs, plus recently merged / closed / in-review PRs (from the review-status cache) - Review environments attached to those PRs - Build status of recently merged PRs (from the builds-v2 cache) - Dev sandboxes currently held by the user (across all pools)
Identity is resolved from linked git provider identities (DR 018). When none is linked, pass githubUsername / adoUsername, otherwise the PR sections return empty with a hint. All reads are served from cache and never trigger a cold rebuild.Authorization
access-token AuthorizationBearer <token>
In: header
Query Parameters
githubUsername?string
GitHub username override
adoUsername?string
Azure DevOps username override
Response Body
application/json
curl -X GET "https://example.com/sfp/api/users/me/activity"{ "identity": { "email": "jane.doe@example.com", "providerLinked": true, "usernames": { "github": "azlam-abdulsalam", "azureDevops": "string", "gitlab": "string" }, "source": "linked", "hint": "string" }, "repositories": [ { "repositoryIdentifier": "flxbl-io/sf-core", "stale": false, "pullRequests": { "open": [ { "issueTitle": "Update README.md", "issueUrl": "https://github.com/owner/repo/pull/1", "number": 1, "branch": "feature-branch", "baseBranch": "main", "author": "azlam-abdulsalam", "authorAvatarUrl": "https://avatars.githubusercontent.com/u/43767972?v=4", "labels": [ { "key": "bug", "description": {}, "color": "d73a4a" } ], "elapsedTime": 86400000, "state": "open", "merged": false, "headSha": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2", "mergeCommitSha": "e5bd391...", "files": { "added": [ "src/newFile.js" ], "deleted": [ "src/oldFile.js" ], "modified": [ "src/main.js" ] }, "commitsAhead": 5, "commitsBehind": 2, "metadata": {}, "reviewEnvironment": { "orgId": "00DH40000002ngk", "username": "test-7hok51hnlykm@example.com", "browserLoginUrl": "https://flxbl-dev.flxbl.io/review-env/pr-159897253?repo=org%2Frepo&type=pr&pr=42", "apiAuthUrl": "/sfp/api/auth/salesforce/frontdoor?target=159897253&redirect=false", "type": "scratchorg", "branch": "main", "pool": "ci", "environmentName": "00DH40000002ngk", "status": "Available", "isActive": true, "name": "00DH40000002ngk", "issue": "310", "loginUrl": "https://***", "expiryDate": "2025-06-01", "assignedAt": 1748357101332, "createdAt": 1748331323128, "isImmortal": false }, "error": "Failed to fetch PR files: API rate limit exceeded", "buildActionLink": "https://github.com/owner/repo/actions/runs/123456789", "checkStatus": "completed", "checkConclusion": "success", "validationActionLink": "https://github.com/owner/repo/actions/runs/123456789/job/987654321", "build": { "commitId": "string", "overallState": "Completed", "ciService": "github", "buildUrl": "string", "buildNumber": "string", "lastUpdatedAt": "string", "domains": [ { "domain": "core", "state": "Completed" } ] } } ], "inReview": [ { "issueTitle": "Update README.md", "issueUrl": "https://github.com/owner/repo/pull/1", "number": 1, "branch": "feature-branch", "baseBranch": "main", "author": "azlam-abdulsalam", "authorAvatarUrl": "https://avatars.githubusercontent.com/u/43767972?v=4", "labels": [ { "key": "bug", "description": {}, "color": "d73a4a" } ], "elapsedTime": 86400000, "state": "open", "merged": false, "headSha": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2", "mergeCommitSha": "e5bd391...", "files": { "added": [ "src/newFile.js" ], "deleted": [ "src/oldFile.js" ], "modified": [ "src/main.js" ] }, "commitsAhead": 5, "commitsBehind": 2, "metadata": {}, "reviewEnvironment": { "orgId": "00DH40000002ngk", "username": "test-7hok51hnlykm@example.com", "browserLoginUrl": "https://flxbl-dev.flxbl.io/review-env/pr-159897253?repo=org%2Frepo&type=pr&pr=42", "apiAuthUrl": "/sfp/api/auth/salesforce/frontdoor?target=159897253&redirect=false", "type": "scratchorg", "branch": "main", "pool": "ci", "environmentName": "00DH40000002ngk", "status": "Available", "isActive": true, "name": "00DH40000002ngk", "issue": "310", "loginUrl": "https://***", "expiryDate": "2025-06-01", "assignedAt": 1748357101332, "createdAt": 1748331323128, "isImmortal": false }, "error": "Failed to fetch PR files: API rate limit exceeded", "buildActionLink": "https://github.com/owner/repo/actions/runs/123456789", "checkStatus": "completed", "checkConclusion": "success", "validationActionLink": "https://github.com/owner/repo/actions/runs/123456789/job/987654321", "build": { "commitId": "string", "overallState": "Completed", "ciService": "github", "buildUrl": "string", "buildNumber": "string", "lastUpdatedAt": "string", "domains": [ { "domain": "core", "state": "Completed" } ] } } ], "mergedRecently": [ { "issueTitle": "Update README.md", "issueUrl": "https://github.com/owner/repo/pull/1", "number": 1, "branch": "feature-branch", "baseBranch": "main", "author": "azlam-abdulsalam", "authorAvatarUrl": "https://avatars.githubusercontent.com/u/43767972?v=4", "labels": [ { "key": "bug", "description": {}, "color": "d73a4a" } ], "elapsedTime": 86400000, "state": "open", "merged": false, "headSha": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2", "mergeCommitSha": "e5bd391...", "files": { "added": [ "src/newFile.js" ], "deleted": [ "src/oldFile.js" ], "modified": [ "src/main.js" ] }, "commitsAhead": 5, "commitsBehind": 2, "metadata": {}, "reviewEnvironment": { "orgId": "00DH40000002ngk", "username": "test-7hok51hnlykm@example.com", "browserLoginUrl": "https://flxbl-dev.flxbl.io/review-env/pr-159897253?repo=org%2Frepo&type=pr&pr=42", "apiAuthUrl": "/sfp/api/auth/salesforce/frontdoor?target=159897253&redirect=false", "type": "scratchorg", "branch": "main", "pool": "ci", "environmentName": "00DH40000002ngk", "status": "Available", "isActive": true, "name": "00DH40000002ngk", "issue": "310", "loginUrl": "https://***", "expiryDate": "2025-06-01", "assignedAt": 1748357101332, "createdAt": 1748331323128, "isImmortal": false }, "error": "Failed to fetch PR files: API rate limit exceeded", "buildActionLink": "https://github.com/owner/repo/actions/runs/123456789", "checkStatus": "completed", "checkConclusion": "success", "validationActionLink": "https://github.com/owner/repo/actions/runs/123456789/job/987654321", "build": { "commitId": "string", "overallState": "Completed", "ciService": "github", "buildUrl": "string", "buildNumber": "string", "lastUpdatedAt": "string", "domains": [ { "domain": "core", "state": "Completed" } ] } } ], "closedRecently": [ { "issueTitle": "Update README.md", "issueUrl": "https://github.com/owner/repo/pull/1", "number": 1, "branch": "feature-branch", "baseBranch": "main", "author": "azlam-abdulsalam", "authorAvatarUrl": "https://avatars.githubusercontent.com/u/43767972?v=4", "labels": [ { "key": "bug", "description": {}, "color": "d73a4a" } ], "elapsedTime": 86400000, "state": "open", "merged": false, "headSha": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2", "mergeCommitSha": "e5bd391...", "files": { "added": [ "src/newFile.js" ], "deleted": [ "src/oldFile.js" ], "modified": [ "src/main.js" ] }, "commitsAhead": 5, "commitsBehind": 2, "metadata": {}, "reviewEnvironment": { "orgId": "00DH40000002ngk", "username": "test-7hok51hnlykm@example.com", "browserLoginUrl": "https://flxbl-dev.flxbl.io/review-env/pr-159897253?repo=org%2Frepo&type=pr&pr=42", "apiAuthUrl": "/sfp/api/auth/salesforce/frontdoor?target=159897253&redirect=false", "type": "scratchorg", "branch": "main", "pool": "ci", "environmentName": "00DH40000002ngk", "status": "Available", "isActive": true, "name": "00DH40000002ngk", "issue": "310", "loginUrl": "https://***", "expiryDate": "2025-06-01", "assignedAt": 1748357101332, "createdAt": 1748331323128, "isImmortal": false }, "error": "Failed to fetch PR files: API rate limit exceeded", "buildActionLink": "https://github.com/owner/repo/actions/runs/123456789", "checkStatus": "completed", "checkConclusion": "success", "validationActionLink": "https://github.com/owner/repo/actions/runs/123456789/job/987654321", "build": { "commitId": "string", "overallState": "Completed", "ciService": "github", "buildUrl": "string", "buildNumber": "string", "lastUpdatedAt": "string", "domains": [ { "domain": "core", "state": "Completed" } ] } } ] }, "reviewEnvironments": [ { "orgId": "00DH40000002ngk", "username": "test-7hok51hnlykm@example.com", "browserLoginUrl": "https://flxbl-dev.flxbl.io/review-env/pr-159897253?repo=org%2Frepo&type=pr&pr=42", "apiAuthUrl": "/sfp/api/auth/salesforce/frontdoor?target=159897253&redirect=false", "type": "scratchorg", "branch": "main", "pool": "ci", "environmentName": "00DH40000002ngk", "status": "Available", "isActive": true, "name": "00DH40000002ngk", "issue": "310", "loginUrl": "https://***", "expiryDate": "2025-06-01", "assignedAt": 1748357101332, "createdAt": 1748331323128, "isImmortal": false, "prNumber": 310, "repositoryIdentifier": "flxbl-io/sf-core" } ] } ], "devEnvironments": [ { "poolTag": "core_dev", "sandboxName": "dev1", "alias": "my-dev", "status": "ASSIGNED", "instanceUrl": "string", "repositoryIdentifier": "string", "assignedAt": "string", "expiresAt": "string", "isImmortal": true } ], "generatedAt": "2026-06-06T12:00:00.000Z"}