Viewer-aware Personal Page payload.
GET
/users/{userId}/profile
const url = 'https://api.gospl.example/v1/users/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/profile';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/users/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/profile \ --header 'Authorization: Bearer <token>'Returns the Personal Page for {userId} as seen by the authenticated viewer. The server MUST decide field visibility by the viewer’s relationship/role and MUST omit (not merely hide) restricted fields.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ” userId
required
string format: uuid
Responses
Section titled “ Responses ”OK
Media type application/json
object
user
required
object
id
required
string format: uuid
name
required
string
jobTitle
string
team
string
viewerContext
required
object
isSelf
required
boolean
canSeeAiInsights
required
Drives FR-10; server-authoritative, not a client hint.
boolean
insightsSummary
required
Percentages + colour wheel for the page (FR-03, FR-04).
object
colourWheel
object
key
additional properties
number
percentages
object
key
additional properties
number
fullProfilePdfUrl
FR-02 — link to the complete Insights PDF.
string format: uri
motivatorsSummary
Always returned to authorised viewers (FR-08).
object
motivators
required
Array<object>
object
name
string
score
number
lastSyncedAt
required
Stale-data indicator for the Mojo pull.
string format: date-time
weeklyGoals
required
Read-only summary; references spine (actions→outcomes) IDs.
object
count
required
integer
items
Array<object>
object
goalId
Spine entity ID — not redefined here.
string
title
string
status
string
manageUrl
required
FR-13 link.
string format: uri
quickLinks
required
Array<object>
object
key
required
string
label
required
string
url
required
string format: uri
Example
{ "quickLinks": [ { "key": "homerun" } ]}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. cross-tenant).
Media type application/json
object
code
required
string
message
required
string
Example generated
{ "code": "example", "message": "example"}Not found within the caller’s tenant.
Media type application/json
object
code
required
string
message
required
string
Example generated
{ "code": "example", "message": "example"}