API reference / athlete
athlete
/api/v1/athletesList athletes
- Auth:
- required
- Response:
- { data }
/api/v1/athletesCreate athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:idGet athlete by ID
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:idUpdate athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/season-summarySeason keepsake for a family: real photos, coach recognitions, parent-visible notes
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/achievementsAchievement progress and earned recognitions for an athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/achievementsRecognise an achievement - coach and above, org-scoped, idempotent on key
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/academicsGet academics for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/academicsCreate academic
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/activitiesGet activities for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/activitiesCreate activity
- Auth:
- required
- Response:
- { data }
/api/v1/consent/guardian-requestA child under 13 asked to join. Invites a guardian to set the account up and give consent first. Collects NOTHING about the child — not a name, not an email — because verifiable parental consent has to precede the personal information, not accompany it. Deliberately unauthenticated: the person asking has no account, which is the point. The response is identical whether or not the address is known, so it cannot be used to discover which families use Peer10.
- Auth:
- none
- Response:
- { data }
/api/v1/athletes/:id/consentGet consent for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/consent/summaryA child's consent state on one screen: age tier, who may decide, every category with its current status, and which required ones are still missing. Read-only — granting stays on POST /consent, which enforces the age-tier rule and, under 13, records a pending intent rather than a grant.
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/consentCreate consent
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/consentUpdate consent
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/coursesGet courses for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/coursesCreate cours
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/deletion-requestsGet deletion requests for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/deletion-requestsCreate deletion request
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/eligibilityGet eligibility for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/eligibilityCreate eligibility
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/goalsGet goals for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/goalsCreate goal
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/goalsPartially update goal
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/goalsDelete goal
- Auth:
- required
- Response:
- { success, message }
/api/v1/athletes/:id/linkLink athlete
- Auth:
- required
- Response:
- { success, message }
/api/v1/athletes/:id/linkUnlink athlete
- Auth:
- required
- Response:
- { success, message }
/api/v1/athletes/:id/matchesGet matches for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/measurablesGet measurables for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/measurablesCreate measurable
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/mergeMerge athlete
- Auth:
- required (min role: admin)
- Response:
- { success, message }
/api/v1/athletes/:id/merge/previewList preview
- Auth:
- required (min role: admin)
- Response:
- { data }
/api/v1/athletes/:id/milestonesGet milestones for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/resumeGet resume for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/resumeCreate resume
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/resumeUpdate resume
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/resume/downloadList download
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/resume/generateGenerate generate
- Auth:
- required (min role: coach)
- Response:
- { data }
/api/v1/athletes/:id/training-logsGet training logs for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/training-logsCreate training log
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/training-logsDelete training log
- Auth:
- required
- Response:
- { success, message }
/api/v1/athletes/:id/verificationsGet verifications for athlete
- Auth:
- required
- Response:
- { data }
/api/v1/athletes/:id/verificationsCreate verification
- Auth:
- required
- Response:
- { data }
/api/v1/me/growthChange over time in the signed-in athlete’s own measurables
- Auth:
- required
- Response:
- { data }