Skip to content

Viewer-aware Personal Page payload.

GET
/users/{userId}/profile
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.

userId
required
string format: uuid

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
Allowed values: homerun weekly_summary annual_development_plan training_plans
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"
}