Write Score OneRoster® specifications for districts IT teams

The widely popular OneRoster® format is being used as Write Score's rostering data exchange's mechanism. It solves the need to securely and reliably exchange roster information, course materials and grades between systems.  Typically, a OneRoster file is a single Zip file that contains several .csv files.  See important technical details here or general information about OneRoster here.  

OneRoster 1.1 (csv tables specifications)  


In order to meet our reporting obligations with our customers, the OneRoster file we receive from the districts must comply with the following...


  1. The optional column named "grades" is required by us and must be listing grade(s) for which the class is attended.  This column is part of the specification but not a required one, but Write Score must have it to deliver the needed data. 
  2. The optional column named "periods" is required by us to allow period level reporting.  Such column contains the time slots in the day that the class will be given. If more than one period is needed, use double quotes, and separate with commas Examples: 1; "1,3,5"
  3. The optional column named "subject" should preferably have either "Reading", "Writing" or "Reading, Writing" as a value.  (You may also use the codes from the Nation Center for Education Statistics as per OneRoster 1.1 specs). If the value of the "subject" contains commas, then those commas must be removed
  4. The required column named "sourcedid" can only contain unique values.


  1. The optional column named "subjects" should preferably have a value of "Reading", "Writing" or "Reading, Writing"
  2. The required column named "orgSourceId" must contain a string representing the org to which this course belongs. This may be a district level org Id.
  3. The required columned named "sourcedid" column must only have unique values on each row globally.
  4. Only provide the list of courses that are being tested. 
  5. Avoid including remedial classes (especially if they contain the same teacher or students, this scenario might create duplicate information).
  6. Filter out any courses that don't have a teacher or don't have students.
  7. If you are using Clever we added a custom column called WS Program, where you should specify the value of the course with either "Reading", "Writing" or "Reading, Writing".


  1. The optional column named "primarymust either have "true" or "false" for every teacher so we may be able to determine who is the primary teacher to manage permissions and reports accordingly.
  2. The beginDate and endDate columns are required for Write Score.  The start date for the enrollment is inclusive. This date must be within the period of the associated Academic Session for the class (Term/Semester/SchoolYear).  Example: 2012-04-23
  3. Filter out any courses that don't have a teacher or don't have students.


  1. The optional column named "grades", must have values for each student. We only support the following values "KG, 01, 02, 03,...10,11,12".  Values like "IT, PR, PK, 13, PS, UG, Other" will fail during import, please filter those values.  Refer to the Common Education Data Standards here for additional details.
  2. The optional field named "email" is required for teachers and staff records since send reminders prior, during and after testing, etc...
  3. The required column named "sourcedid" should contain your SIS id whenever possible.
  4. The optional column named "identifier", should store the Clever, ClassLink or Ed-Fi value.
  5. If you plan to use our Ed-Fi Sync Tool, we also recommend to store all IDs values into the column named "userIDs" following a similar pattern like this one "{StateId:id},{SISId:idvalue},{Ed-FiId:idvalue}".  The order of the values in the curly brackets do not matter.  For additional information on this column, please refer to the OneRoster 1.1 specs here.  If you provide a single value as prescribed by the old OneRoster 1.0 format, do not put it between quotes or curly bracket.


The .Zip bundle must include such file.  We require no change or customization outside the specification.


Optional, nice to have to generate additional value to your reports by providing filters to reports and business intelligence dashboards.


The .Zip bundle must include such file, this is a required file from the OneRoster specification.