Page tree
Skip to end of metadata
Go to start of metadata

Ed-Fi Certification is part of the Ed-Fi Partner Program, which is currently running in pilot mode. If you have any questions regarding the Ed-Fi Partner program, please send those to

Certification Requirements

To receive this certification, a product must be able to use the Ed-Fi ODS Data Collection APIs v2.0 (the APIs aligned with Data Standard v2.0) to create and manage a defined set of API resources. The table below shows the Ed-Fi ODS / API Resources that the product is expected to exercise and the operations expected on that resource. 

Please note that this certification is for an API version (v2.0) and that version may not correspond to the Ed-Fi Operational Data Store version. This certification is for the APIs that align with Ed-Fi Data Standard v2.0.


Preparing for Certification

  • Documentation. API requirements and documentation for each of the API resources can be viewed at or are available by downloading the Ed-Fi ODS / API code, then installing and running the Swagger documentation.

  • Dependencies. The Ed-Fi Unifying Data Model is highly normalized and the Ed-Fi Data Collection API resources enforce a high degree of relational integrity. As a result, resource creation often requires that the resource reference other existing entities. The graph at the right shows these dependencies.

  • Setting up a test environment. We recommend setting up a regular test environment using the Ed-Fi ODS / API v2.0 application as a precursor to certification testing, which will occur against sandbox supplied by the Ed-Fi Alliance. The ODS / API includes a Sandbox Administration Portal that can be used to install a basic test sandboxes that includes a number of the initial dependencies (see graph at right), including Descriptors, EducationOrganizations, and Programs. 

    De-select "Populate with Sample Data" in the Sandbox Administration Portal to get access to the "minimal" template. The actual certification tests use this same minimal Ed-Fi ODS / API test sandbox data set to supply the necessary dependencies.

Ed-Fi UDM Dependency Graph (click to open)

Required Resources

For each API resource field, the test cases and the  required/optional status of each field is provided in a tabular form, along with the sample data to be used in testing. Note that if a field is only required when an optional sub-API resource is submitted, the optional/required status is given as REQUIRED* to indicate the conditional status.


Ed-Fi ODS / API ResourceOperations
SchoolCreate, Update, Delete


Create, Update, Delete
ProgramCreate, Update, Delete
StudentCreate, Update, Delete
ParentCreate, Update, Delete
StudentParentAssociationCreate, Update, Delete
StudentSchoolAssociationCreate, Update, Delete
StudentSectionAssociationCreate, Update, Delete
StudentEducationOrganizationAssociationCreate, Update, Delete
GraduationPlanCreate, Update, Delete
StudentProgramAssociationCreate, Update, Delete
StudentSpecialEducationProgramAssociationCreate, Update, Delete
StudentTitleIPartAProgramAssociationCreate, Update, Delete
CalendarDateCreate, Update, Delete
GradingPeriodCreate, Update, Delete
SessionCreate, Update, Delete
Course OfferingCreate, Update, Delete
StudentSchoolAttendanceEventCreate, Update, Delete
SectionCreate, Update, Delete
StudentSectionAttendanceEventCreate, Update, Delete
DisciplineIncidentCreate, Update, Delete
StudentDisciplineIncidentAssociationCreate, Update, Delete
DisciplineActionCreate, Update, Delete


Create, Update, Delete
ClassPeriodCreate, Update, Delete
CohortCreate, Update, Delete
StudentCohortAssociationCreate, Update, Delete
StaffCohortAssociationCreate, Update, Delete
StaffCreate, Update, Delete
StaffEducationOrganizationAssignmentAssociationCreate, Update, Delete
StaffSchoolAssociationCreate, Update, Delete
StaffSectionAssociationCreate, Update, Delete
GradeCreate, Update, Delete
StudentAcademicRecordCreate, Update, Delete
CourseTranscriptCreate, Update, Delete


Sample Test Cases

The following is an example of elements from an actual test plan. This information is only provided to provide a clearer sense of a product test session activity. Note that some elements of this test refer to items created in previous tests (e.g., the schools referenced).

In the actual tests, the state of the API resources will be verified on an actual Ed-Fi ODS / API by inspecting the ODS database or API resource following each test.

In general, testers can use data they prefer, but for some tests, specific data will be provided and testers asked to use that data. 

The Student Enrollment interchange describes student enrollments in schools and in sections. Below each required operation is the Ed-Fi ODS / API Resource exercised.

1. Add a graduation plan 

  • GraduationPlan

2. Enroll a student in a high school 

  • StudentSchoolAssociation
  • StudentSchoolAssociationGraduationPlan

3. Enroll a student in a high school second semester 

  • StudentSchoolAssociation
  • StudentSchoolAssociationGraduationPlan

4. Dual enroll a student in high school and vocational high school 

  • StudentSchoolAssociation
  • StudentSchoolAssociationGraduationPlan

5. Enroll a student in a middle school on the first day

  • StudentSchoolAssociation

6. Enroll a student in an elementary school

  • StudentSchoolAssociation

7. Withdraw a student

  • StudentSchoolAssociation

8. Re-enroll the withdrawn student to verify the ExitWithdrawDate is less than the EntryDate of a subsequent record at the same school for the same student

  • StudentSchoolAssociation

9. Create a student section association 

  • StudentSectionAssociation

10. Create a student section association at the high school

  • StudentSectionAssociation

11. Create a student section association at the vocational high school

  • StudentSectionAssociation

12. Create a student section association at the high school to show a student taking a course that is not at his enrolled school 

  • StudentSectionAssociation

13. Create a student section association at the middle school

  • StudentSectionAssociation

14. Create a student section association for a student at the elementary school 

  • StudentSectionAssociation

15. Create a student section association for a student to withdraw from one course 

  • StudentSectionAssociation

16. Create a student section association for a student to enroll in the same course in a different section at the high school in the middle of the semester 

  • StudentSectionAssociation

17. Create a student section association for a student to enroll in new course in second semester at the middle school

  • StudentSectionAssociation

18. Create a student section association for a student in a year round class at the elementary school

  • StudentSectionAssociation


  • No labels