Returns the pull requests behind one engineer's row in the PR Health report: their open PRs bucketed ROTTING / AGING / ACTIVE / DRAFT by the organization's inactivity thresholds, and their PRs closed without merging whose closed timestamp falls in [startDate, endDate]. author is the provider login exactly as returned in the report's engineers[].authorLogin; the report groups rows with no provider login together with any row whose real provider login is literally unknown under that same login, and passing unknown here selects both kinds of row, matching the report exactly. Bucketing uses the same classifier as the report, so counts.rotting, counts.aging and counts.closedUnmerged equal that engineer's rottingPrs, agingPrs and closedUnmerged in the report, and counts.rotting + counts.aging + counts.active equals its openPrs; drafts are counted separately in counts.draft and belong to none of those figures, matching the report. Known bot authors are excluded from both lists. Open-PR figures reflect the current synced state; only the closed list is window-scoped. Both lists are ordered by inactivity (days since the PR's last provider-side activity) descending and each is capped at 200 rows, flagged by openTruncated / closedUnmergedTruncated; the counts are computed before the cap, so a truncated list still reconciles against them. Rows carry the same reviewDecision the report does, APPROVED, CHANGES_REQUESTED or absent, on the same basis. The window may span at most 366 days and startDate must not be after endDate; either violation is a 400. An author with no matching rows is a 200 with empty lists and zero counts, never a 404. source=gitlab returns empty lists: GitLab writes no per-PR rows today, the same behaviour the report gives.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||