The Parent API provides a COPPA-compliant view of a child’s academic progress. Parents see mastery summaries and soft alerts, but no raw attempt keystroke data or PII beyond what parental consent covers. RawDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/vruizz22/innova-backend-serverless/llms.txt
Use this file to discover all available pages before exploring further.
pKnown floating-point values are intentionally replaced with qualitative bands (low, mid, high) so that parents receive accessible, context-free summaries aligned with privacy obligations. The service is also aligned with Chile’s Law 21.180 on data protection for minors in educational platforms.
All endpoints in this section require a PARENT role JWT. Requests authenticated with TEACHER, STUDENT, or ADMIN tokens will be rejected with
403 Forbidden.ParentLink and consent
Access to a student’s data through the Parent API requires a confirmedParentLink record. A ParentLink is created when:
- A parent registers and provides the student’s enrollment code (or is invited by a teacher).
- The parent completes the consent flow in the client app — this is also the gate for any photo-upload features covered by COPPA and Law 21.180.
- The
confirmedAttimestamp on theParentLinkis set to a non-null value.
confirmedAt is populated, the link is pending and the student will not appear in GET /parent/children or be accessible via GET /parent/children/:studentId.
Endpoints
GET /parent/children
List all confirmed children linked to the authenticated parent. Authentication: JWT (PARENT role required)UUID of the student.
Student display name (first name only, or a pseudonym — never a full legal name via this endpoint).
The declared relationship recorded on the
ParentLink (e.g. mother, father, guardian).GET /parent/children/:studentId
Get a full summary for one confirmed child. The response includes:- Mastery bands per curriculum unit — qualitative progress across all topics, grouped by unit.
- Recent guides — the last 8 published guides from the child’s active courses, with completion progress.
- Soft alerts — the 5 most recent unresolved
TeacherAlertrecords, stripped of any raw diagnostic numbers.
UUID of the student. Must be a confirmed child of the authenticated parent — enforced by
ParentLink check.{ id, displayName } — minimal student identity.Array of unit mastery summaries. Each object contains:
unitId(string): unit UUIDcode(string): unit short codename(string): unit display nameband(string):low(pKnown < 0.40),mid(0.40–0.69), orhigh(≥ 0.70)
Up to 8 most recently published guides across the child’s active courses. Each entry contains:
id(string): guide UUIDtitle(string): guide titlestatus(string): alwaysPUBLISHEDin this listdueAt(string | null): due date ISO 8601, ornullgradedQuestions(number): number of APPROVED questions with at least one GRADED submissiontotalQuestions(number): total APPROVED questions in the guide
Up to 5 most recent unresolved alerts for the student. Each entry contains:
id(string): alert UUIDseverity(string):LOW,MED, orHIGHalertType(string): type code (e.g.LOW_MASTERY)createdAt(string): ISO 8601 timestamp
payload data (e.g. exact pKnown values) is not included here — only the type and severity are exposed.Mastery bands are computed as the mean pKnown across all topics in a unit. If a student has no mastery record for a topic, the topic’s BKT prior (
bktPL0) is used as the default. This means a unit with no attempts will show the prior-based band rather than low.