Parent ↔ Child Links
The junction
A parent is connected to a student through the ParentStudent junction, which carries a
relationship (MOTHER | FATHER | GUARDIAN | OTHER) and an isPrimary flag.
Link a parent to a child
curl -X POST https://localhost:3000/api/parents/{parentId}/children/{studentId} \
-H "Authorization: Bearer <accessToken>" \
-H "Content-Type: application/json" \
-d '{ "relationship": "MOTHER", "isPrimary": true }'Returns 201 ParentStudentRowResponse. This action is Admin-only. {parentId} and
{studentId} are the integer user IDs of the parent and student.
Why the link references User, not StudentProfile
studentUserId points at the User, not the StudentProfile, for deletion semantics: if a
StudentProfile is deleted and later re-created, the parental link survives because it was anchored to
the stable User row.
Parent scope
A parent persona can read its own children’s data: VIEW_OWN_CHILDREN, VIEW_PARENT_REPORTS, and
its own child’s accessibility config. Parents cannot reach any tenancy endpoint (organizations,
schools, classes). See Core Concepts → RBAC.
Last updated on