Update Profile
The person/principal profile write path (migration 0143): "every user should have a full profile ... first name, name that they go by ... birthday ... email address, telephone number" (Frederick, 2026-08-09).
SELF-SERVICE PLUS ADMIN, reusing the existing admin grant rather than inventing one: a caller may PATCH their OWN profile (principal_id == principal.id) with no extra grant needed -- everyone has a profile and everyone must be ABLE to complete it, since Today (platform/routes.py's profile_completion hook) will not stop asking otherwise -- or, holding 'admin:people:write' (the SAME grant PEOPLE_WRITE above already requires for every other principal edit), any principal's. Anyone else is refused with 403 before any read of the body even happens.
Deliberately gated on auth.current_principal, not PEOPLE_WRITE: this route's whole point is that a person with NO admin grant at all can still fill in their own birthday, phone and emergency contact.
Request
- Base URL: https://api.pigeonly.com (the document declares no server; this is the origin it was published from)
- URL: https://api.pigeonly.com/api/platform/principals/{principal_id}/profile
- Auth: none declared
Path parameters
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 1 revision of this API.