List summaries (own, or a permitted user's), filterable.
GET
/summaries
const url = 'https://api.gospl.example/v1/summaries?page=1';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.gospl.example/v1/summaries?page=1' \ --header 'Authorization: Bearer <token>'Defaults to the caller. userId lets a permitted viewer (manager in chain, senior leadership, People Team) list another user’s; 403 otherwise (PR-06). Each row carries a hasResponse flag for the Response column (FR-05).
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ” userId
string format: uuid
month
string
year
integer
page
integer
Responses
Section titled “ Responses ”OK
Media type application/json
object
items
required
Array<object>
object
id
required
string format: uuid
weekStart
required
string format: date
createdAt
required
string format: date-time
scores
required
object
qualityOfWork
required
integer
personalWellbeing
required
integer
professionalWellbeing
required
integer
hasResponse
required
Drives the Response-column doc icon (FR-05).
boolean
page
required
integer
totalPages
required
integer
Example generated
{ "items": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "weekStart": "2026-04-15", "createdAt": "2026-04-15T12:00:00Z", "scores": { "qualityOfWork": 1, "personalWellbeing": 1, "professionalWellbeing": 1 }, "hasResponse": true } ], "page": 1, "totalPages": 1}Missing/invalid credentials.
Media type application/json
object
code
required
string
message
required
string
Example generated
{ "code": "example", "message": "example"}Authenticated but not permitted (incl. out-of-chain, cross-tenant).
Media type application/json
object
code
required
string
message
required
string
Example generated
{ "code": "example", "message": "example"}