Report state enrollment data to the Ed-Fi ODS using the StudentSchoolAssociation resource with correct entry type and exit descriptors

domain: docs.ed-fi.org · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Obtain the SEA's full descriptor list for entryType (e.g., 'Next year school', 'Re-entry', 'Transfer from public school') and exitWithdrawType descriptors by GET to /ed-fi/entryTypeDescriptors and /ed-fi/exitWithdrawTypeDescriptors.
  2. Map your SIS enrollment codes to the SEA's descriptor URIs; document the mapping in a configuration file rather than hardcoding URIs.
  3. POST to /ed-fi/studentSchoolAssociations with the required fields: studentReference (studentUniqueId), schoolReference (schoolId), entryDate, entryGradeLevelDescriptor, and entryTypeDescriptor.
  4. When a student withdraws, PATCH or PUT the existing association record to add exitWithdrawDate and exitWithdrawTypeDescriptor; do not delete the record as SEAs require audit history.
  5. For state reporting of membership days, also submit StudentEducationOrganizationResponsibilityAssociation records when the enrolling school differs from the serving school.
  6. Validate completeness: the SEA's compliance dashboard will flag records missing required state-specific extension fields (e.g., tuition payer code); resolve these before the state reporting window closes.

Known gotchas

Related routes

Implement state chronic absenteeism reporting by aggregating StudentSchoolAttendanceEvents in the Ed-Fi ODS and writing results to a custom aggregate endpoint
docs.ed-fi.org · 6 steps · unrated
Submit daily student attendance events to the Ed-Fi ODS/API for state reporting
docs.ed-fi.org · 6 steps · unrated
Track student learning data using the Ed-Fi ODS/API
ed-fi.org · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans