Articles on: Integrations

How do I format my SIS data for SFTP?

What data do I need for my SFT SIS sync and how do I format it?



We only request rostering data from the SIS. This does not include demographic information, grades, or attendance information. We adhere to the OneRoster specifications for data obtained whether this sourced from a CSV upload or from an API call. What follows is the data that we require for a SIS integration.

academicSessions.csv



This file represents the AcademicSessions dataset from the OneRoster specification.

Column Field HeaderRequiredFormatDescription
sourcedIdYesGUIDSourcedId of this academicSession.
statusYes for DeltaEnumerationSee section 4.13.8 [OneRoster, 20a] for the enumeration list.This MUST NOT be used for the Bulk mode.
dateLastModifiedYes for DeltaDateTimeThe date that this record was last modified.This MUST NOT be used for the Bulk mode.
titleYesStringName or title of the academic session.
typeYesEnumerationSee section 4.13.7 [OneRoster, 20a] for the enumeration list.
startDateYesDateInclusive start date for the academic session.
endDateYesDateExclusive end date for the academic session.
parentSourcedIdNoGUID Reference.SourcedId of the parent of this academic session.
schoolYearYesYearThe school year for which the academic session contributes. This year should be that in which the school year ends.(Format is: YYYY).


classes.csv



This file represents the Class dataset from OneRoster specification.

Column Field HeaderRequiredFormatDescription
sourcedIdYesGUIDUnique ID for the class. SourcedId is used in other files and must be unique across all classes.
statusYes for DeltaEnumerationSee section 4.13.8 [OneRoster, 20a] for the enumeration list.This MUST NOT be used for the Bulk mode.
dateLastModifiedYes for DeltaDateTimeThe date that this record was last modified.This MUST NOT be used for the Bulk mode.
titleYesStringName of this class.
gradesNoList of StringsGrade(s) for which the class is attended. The permitted vocabulary is from CEDS (Version 5) and the 'Entry Grade Level' element https://ceds.ed.gov/CEDSElementDetails.aspx?TermId=7100
courseSourcedIdYesGUID Reference.SourcedId of the course of which this class is an instance.
classCodeNoStringHuman readable code used to help identify this class.
classTypeYesEnumerationSee section 4.13.1 [OneRoster, 20a] for the enumeration list.
locationNoStringHuman readable description of where the class is physically located.
schoolSourcedIdYesGUID Reference.SourcedId of the Org that teaches this class of OrgType "school".
termSourcedIdsYesList of GUID References.SourcedId of the terms (the academicSessions) in which the class is taught.
subjectsNoList of StringsSubject name(s) in human readable form. If the 'subjectCodes' attribute is present then the subjects and subjectCodes lists must have the same length and have order significanceThe vocabulary is from SCED (School Codes for the Exchange of Data) (Version 4) for the "Course Title" field: http://nces.ed.gov/forum/SCED.aspIf the value of the "Course Title" contains commas, then those commas must be removed.For example, the "Course Title" for "SCED Course Code" "03210" is "Science, Technology and Society". This must be represented as "Science Technology and Society".
subjectCodesNoList of StringsSubject codes(s) in machine readable form. If more than one subject code is needed, use double quotes, and separate with commas (per RFC 4180). If the 'subjects' attribute is present the two lists must have the same length and have order significance.For deployments in the USA this vocabulary SHOULD be a School Courses for the Exchange of Data (SCED) code: http://nces.ed.gov/forum/SCED.asp[.](http://nces.ed.gov/forum/SCED.asp)
periodsNoList of StringsThe 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 (per RFC 4180).Examples: 1; "1,3,5"


courses.csv



This file represents the Course dataset from OneRoster.

Column Field HeaderRequiredFormatDescription
sourcedIdYesGUIDUnique ID for the course.
statusYes for DeltaEnumerationSee section 4.13.8 [OneRoster, 20a] for the enumeration list.This MUST NOT be used for the Bulk mode.
dateLastModifiedYes for DeltaDateTimeThe date that this record was last modified.This MUST NOT be used for the Bulk mode.
schoolYearSourcedIdNoGUID Reference.SourcedId of an AcademicSession with type of "schoolYear".
titleYesStringName of the course.
courseCodeNoStringHuman readable course code.
gradesNoList of StringsGrade(s) for which the class is attended. The permitted vocabulary is from CEDS (Version 5) for the 'Entry Grade Level' element https://ceds.ed.gov/CEDSElementDetails.aspx?TermId=7100
orgSourcedIdYesGUID Reference.SourcedId of an org to which this course belongs.
subjectsNoList of StringsSubject name(s) in human readable form. If the 'subjectCodes' attribute is present then the subjects and subjectCodes lists must have the same length and have order significanceThe vocabulary is from SCED (School Codes for the Exchange of Data) (Version 4) for the "Course Title" field: http://nces.ed.gov/forum/SCED.aspIf the value of the "Course Title" contains commas, then those commas must be removed.For example the "Course Title" for "SCED Course Code" "03210" is "Science, Technology and Society". This must be represented as "Science Technology and Society".
subjectCodesNoStringSubject codes(s) in machine readable form. If the 'subjects' attribute is present then the subjects and subjectCodes lists must have the same length and have order significance.For deployments in the USA this vocabulary SHOULD be a School Courses for the Exchange of Data (SCED) code: http://nces.ed.gov/forum/SCED.asp[.](http://nces.ed.gov/forum/SCED.asp)



orgs.csv



This represents the Org dataset from OneRoster.

Column Field HeaderRequiredFormatDescription
sourcedIdYesGUIDUnique id for the organization. SourcedId is used in other files and must be unique across all organizations.
statusYes for DeltaEnumerationSee section 4.13.8 [OneRoster, 20a] for the enumeration list.This MUST NOT be used for the Bulk mode.
dateLastModifiedYes for DeltaDateTimeThe date that this record was last modified.This MUST NOT be used for the Bulk mode.
nameYesStringName of the organization.
typeYesEnumerationSee section 4.13.7 [OneRoster, 20a] for the enumeration list.
identifierNoStringNCES ID National Center for Education Statistics) for the school/district.
parentSourcedIdNoGUID Reference.SourcedId of an Org representing the Parent organization.


enrollments.csv



This represents the Enrollment dataset from OneRoster.

Column Field HeaderRequiredFormatDescription
sourcedIdYesGUIDUnique identifier of this enrollment.
statusYes for DeltaEnumerationSee section 4.13.8 [OneRoster, 20a] for the enumeration list.This MUST NOT be used for the Bulk mode.
dateLastModifiedYes for DeltaDateTimeThe date that this record was last modified.This MUST NOT be used for the Bulk mode.
classSourcedIdYesGUID Reference.SourcedId of the Class.
schoolSourcedIdYesGUID Reference.SourcedId of an Org with type 'school'.
userSourcedIdYesGUID Reference.SourcedId of the User.
roleYesEnumerationSee section 4.13.5 [OneRoster, 20a] for the enumeration list. The ONLY permitted values are: { administrator
primaryNoEnumerationPermitted values: { "true"
beginDateNoDateThe start date for the enrollment. This date must align with the associated academic session (term) identified in the class.
endDateNoDateThe end date for the enrollment (exclusive). This date must align with the associated academic session (term) identified for the class.


users.csv



This represents the Users dataset from OneRoster.

Column Field HeaderRequiredFormatDescription
sourcedIdYesGUIDUnique ID for the user. SourcedId is used in other files and must be unique across all users.
statusYes for DeltaEnumerationSee section 4.13.8 [OneRoster, 20a] for the enumeration list.This MUST NOT be used for the Bulk mode.
dateLastModifiedYes for DeltaDateTimeThe date that this record was last modified.This MUST NOT be used for the Bulk mode.
enabledUserYesEnumerationPermitted values: { "true"
orgSourcedIdsYesList of GUID References.SourcedIds of the Orgs to which this user belongs.(Note in most cases, it is expected that users will belong to a single school).
roleYesEnumerationSee section 4.13.5 [OneRoster, 20a] for the full enumeration list.
usernameYesStringUser name.
userIdsNoList of StringsExternal machine-readable ID (e.g. LDAP id, LTI id) for this user. The ID must be accompanied by a type to indicate the nature of the Identifier. The Type and ID values are enclosed in '{}' with a colon used to separate the values. If more than one userId is needed, use double quotes, and separate with commas (per RFC 4180).Examples:{LDAP:Id}"{LDAP:Id},{LTI:Id},{Fed:Id}"
givenNameYesStringUser's first name.
familyNameYesStringUser's surname.
middleNameNoStringUser's middle name (s). If more than one then they are separated by a space.
identifierNoStringIdentifier for the user with a human readable meaning.
emailNoStringEmail address for the User.
smsNoStringSMS address for the User.
phoneNoStringPhone number for the User.
agentSourcedIdsNoList of GUID ReferencesSourcedIds of the Users to which this user has a relationship. If multiple IDs are required then use double quotes and separate with commas.Note: In most cases this will be for indicating parental relationships.
gradesOnly for student recordsStringGrade(s) for which a user with role 'student' is enrolled. The permitted vocabulary is from CEDS (Version 5) for the 'Entry Grade Level' element https://ceds.ed.gov/CEDSElementDetails.aspx?TermId=7100.
passwordNoStringThe password for the user. This may or may not be an encrypted string. If encrypted, the system's processing must be aware of the encryption method.

Updated on: 07/02/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!