Rules for all CSV files
- Values in files are case-sensitive.
- An empty value is represented with two commas with no spaces between them. For example, excluding brackets, [,,] indicates blank value, where as [, ,] indicates a space character, which is parsed as an invalid value.
- The CSV files must have a header (first line) that must be an exact match, including casing, to the format listed in the examples in the sections below.
- Subsequent lines in the file contain the data to be processed (Inserted, updated, deleted).
- File names are standard (users, orgs, and so on).
Manifest
You must include a Manifest file with each package. The manifest contains the version and the list of files that you are sending to Brightspace, and indicates if the roster data indicates the value of each package.
- Filename must be manifest.csv.
- Value can be one of the following options:
- Bulk - For importing bulk snapshots. The status and datelastmodified fields must be left blank if using bulk mode. Bulk mode does implicit deletes for enrollments only.
- Delta - For importing deltas. The status and datelastmodified fields must be populated. This is the only mode that allows explicit deletes.
- Absent - If a file is not sent, it must be marked as absent.
The following lists sample content for manifest (along with the required header line):
propertyName,value
manifest.version,1.0
oneroster.version,1.1
file.academicSessions,delta
file.categories,absent
file.classes,delta
file.classResources,absent
file.courses,delta
file.courseResources,absent
file.demographics,absent
file.enrollments,delta
file.lineItems,absent
file.orgs,delta
file.users,delta
file.resources,absent
file.results,absent

|
Note: Using OneRoster CSV in Bulk mode allows the SIS to automatically unenroll users from courses and sections if they are no longer included in the bulk file. This feature ensures Brightspace stays synchronized with the SIS without requiring explicit unenrollment data in the OneRoster files. |
Academic Sessions
The following example lists two rows of content for Academic Session (along with the required header line). The file consists of nine mandatory columns, and each requires a valid value or can be left empty depending on the file format.
sourcedId,status,dateLastModified,title,type,startDate,endDate,parentSourcedId,schoolYear
TERM_LW11,active,2016-04-30T00:00:00Z,Spring TERM_LW11,term,2017-04-30,2017-06-30,,2017
GRADINGPERIOD_LW11,active,2016-04-30T00:00:00Z,Full Spring GRADINGPERIOD_LW11,gradingPeriod,2017-04-30,2017-06-30,TERM_LW11,2017
Column |
Field |
Required |
Supported Values |
Notes |
1 |
SourceId |
Y |
|
Stored with IPSIS for mapping to a Brightspace org unit |
2 |
Status |
Y |
active, tobedeleted |
Used to create/update or delete the academic session. Required if dateLastModified is present and if sending deltas. |
3 |
DateLastModified |
N |
YYYY-MM-DDTHH:mm:SS:ssZ |
*Internal Tracking* |
4 |
Title |
Y |
|
Org Unit Name and Org Unit Code |
5 |
Type |
Y |
gradingPeriod, semester, schoolyear, term |
Org Unit Type |
6 |
StartDate |
Y |
YYYY-MM-DD |
The academic session start date can be copied to the start dates of associated course offerings. |
7 |
EndDate |
Y |
YYYY-MM-DD |
The academic session end date can be copied to the end dates of associated course offerings. |
8 |
ParentSourceId |
N |
|
Ignored |
9 |
School Year |
Y |
YYYY |
Not mapped |
Orgs
The following example lists four rows of content for Orgs (along with the required header line). The file consists of seven mandatory columns, and each requires a valid value or to be left empty depending on the file format.
sourcedId,status,dateLastModified,name,type,identifier,parentSourcedId
DISTRICT_LW11,active,2016-04-30T00:00:00Z,DISTRICT_LW11,district,,
SCHOOL_LW111,active,2016-04-30T00:00:00Z,SCHOOL_LW111,school,,DISTRICT_LW11
DISTRICT_LW12,active,2016-04-30T00:00:00Z,DISTRICT_LW12,district,,
SCHOOL_LW121,active,2016-04-30T00:00:00Z,SCHOOL_LW121,school,,DISTRICT_LW12
Column |
Field |
Required |
Supported Values |
Notes |
1 |
SourceId |
Y |
|
Stored with IPSIS for mapping to a Brightspace org unit |
2 |
Status |
N |
active or tobedeleted |
Create/update or delete the org unit. Required if dateLastModified is present and if sending deltas |
3 |
DateLastModified |
N |
YYYY-MM-DDTHH:mm:SS:ssZ |
*Internal Tracking* |
4 |
Name |
Y |
|
Org Unit Name and Org Unit Code (If Identifier is not populated) |
5 |
Type |
Y |
department, school, district, local, state, national |
Org Unit Type |
6 |
Identifier |
N |
|
Org Unit Code (If provided) |
7 |
ParentSourcedId |
N |
|
Parent Org Unit SourcedId
Not specifically required; however, without it, the org units will not be part of a hierarchy |
Courses
The following lists two rows of sample content for Courses (along with the required header line). The file consists of 10 mandatory columns, and each requires a valid value or to be left empty depending on the file format.
sourcedId,status,dateLastModified,schoolYearSourcedId,title,courseCode,grades,orgSourcedId,subjects,subjectCodes
COURSE_LW11,active,2017-04-30T00:00:00Z,,The ways of the Force,COURSE_LW11,,SCHOOL_LW111,,
COURSE_LW12,active,2017-04-30T00:00:00Z,,French As A Second Language,COURSE_LW12,,SCHOOL_LW111,,
Column |
Field |
Required |
Supported Values |
Notes |
1 |
SourceId |
Y |
|
Stored with IPSIS for mapping to a Brightspace org unit (course template) |
2 |
Status |
N |
active or tobedeleted |
Create/update or delete the course template. Required if dateLastModified is present and if sending deltas |
3 |
DateLastModified |
N |
YYYY-MM-DDTHH:mm:SS:ssZ |
*Internal Tracking* |
4 |
SchoolYearSourceId |
N |
|
Ignored |
5 |
Title |
Y |
|
Org Unit Name and Org Unit Code (If Identifier is not populated) |
6 |
CourseCode |
N |
|
Org Unit Code (if provided) |
7 |
Grades |
N |
|
Ignored
|
8 |
OrgSourceId |
Y |
|
Parent Org Unit SourceId (i.e. School) |
9 |
Subjects |
N |
|
Ignored |
10 |
SubjectCodes |
N |
|
Ignored |
Classes
The following lists three rows of sample content for Classes (along with the required header line). The file consists of 14 mandatory columns, and each requires a valid value or can be left empty depending on the file format.
Each record is created as a Course Offering with a single Section under it.
sourcedId,status,dateLastModified,title,grades,courseSourcedId,classCode,classType,location,schoolSourcedId,termSourcedIds,subjects,subjectCodes,periods
CLASS_LW111,active,2017-04-30T00:00:00Z,The Force 101,,COURSE_LW11,CLASS_LW111,scheduled,,SCHOOL_LW111,TERM_LW11,,,
CLASS_LW112,active,2017-04-30T00:00:00Z,The Force Advanced,,COURSE_LW11,CLASS_LW112,scheduled,,SCHOOL_LW111,TERM_LW11,,,
CLASS_LW121,active,2017-04-30T00:00:00Z,French - Reading LW1,,COURSE_LW12,CLASS_LW121 fr-reading,scheduled,,SCHOOL_LW111,TERM_LW11,,,
Column |
Field |
Required |
Supported Values |
Notes |
1 |
SourceId |
Y |
|
Stored with IPSIS for mapping to a Brightspace org unit (course offering) |
2 |
Status |
N |
active or tobedeleted |
Create/update or delete the course offering and section (set to inactive or delete based on IPSIS Administration Configuration). Required if dateLastModified is present |
3 |
DateLastModified |
N |
YYYY-MM-DDTHH:mm:SS:ssZ |
*Internal Tracking* |
4 |
Title |
Y |
|
Org Unit Name and Org Unit Code (if classCode not provided) |
5 |
Grades |
N |
|
Ignored |
6 |
CourseSourceId |
Y |
|
Parent Org Unit SourceId (Course Template) |
7 |
ClassCode |
N |
|
Org Unit Code (If provided) |
8 |
ClassType |
Y |
homeroom, scheduled |
Ignored |
9 |
Location |
N |
|
Ignored
|
10 |
SchoolSourceId |
Y |
|
Parent Org Unit SourceId (i.e. School) |
12 |
TermsSourceId |
Y |
|
Parent Org Unit SourceId (i.e. Term) |
12 |
Subjects |
N |
|
Ignored |
13 |
SubjectCodes |
N |
|
Ignored |
14 |
Periods |
N |
|
Ignored |
START HERE
Users
The following lists five rows of sample content for Users (along with the required header line). File consists of 18 mandatory columns, and each must be populated with a valid value or left empty depending on the file format.
sourcedId,status,dateLastModified,enabledUser,orgSourcedIds,role,username,userIds,givenName,familyName,middleName,identifier,email,sms,phone,agentSourcedIds,grades,password
STUDENT_LW11,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,student,STUDENT_LW11,,Luke,Walker,,,email@email.com,,,"PARENT_LW11,TEACHER_LW11,GUARDIAN_LW11",,
STUDENT_LW12,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,student,STUDENT_LW12,,Prince,Lee,,,email@email.com,,,"PARENT_LW11,GUARDIAN_LW11",,
PARENT_LW11,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,parent,PARENT_LW11,,Bartholomew,Vadery,,,email@email.com,,,"STUDENT_LW11,STUDENT_LW12",,
GUARDIAN_LW11,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,guardian,GUARDIAN_LW11,,Obi,Kennedy,,,email@email.com,,,"STUDENT_LW11,STUDENT_LW12",,
TEACHER_LW11,active,2017-04-30T00:00:00Z,TRUE,SCHOOL_LW111,teacher,TEACHER_LW11,,Mac,Yodad,,,email@email.com,,,"STUDENT_LW12,STUDENT_LW11",,
|
Column |
Field |
Required |
Possible Values |
Notes |
1 |
SourcedId |
Y |
|
OrgDefinedId if identifier is not provided |
2 |
Status |
N |
active or tobedeleted |
Active by default (depends on UI setting) Require if DateLastModified present Inactive or tobedeleted inactivates user |
3 |
DateLastModified |
N |
YYYY-MM-DDTHH:mm:SS*,s*ssZ |
*Internal Tracking* |
4 |
EnabledUser |
Y |
true or false |
Active in LMS if true |
5 |
OrgSourceIds |
Y |
|
School org unit enrollment |
6 |
Role |
Y |
|
Role in Organization |
7 |
UserName |
Y |
|
UserName
|
8 |
UserIds |
N |
|
Ignored |
9 |
GivenName |
Y |
|
FirstName |
10 |
FamilyName |
Y |
|
LastName |
11 |
MiddleName |
N |
|
MiddleName |
12 |
Identifier |
N |
|
OrgDefinedId (If provided) |
13 |
Email |
N |
|
ExternalEmail |
14 |
Sms |
N |
|
Ignored |
15 |
Phone |
N |
|
Ignored |
16 |
AgentSourcedIds |
N |
|
Used to indicate parent/guardian relationship |
17 |
Grades |
N |
|
Not mapped |
18 |
Password |
N |
|
|
Enrollments
The following lists one row of sample content for Enrollments (along with the required header line). File consists of 10 mandatory columns, and each must be populated with a valid value or left empty depending on the file format.
A specified user will be enrolled into a Course Offering and Section
sourcedId,status,dateLastModified,classSourcedId,schoolSourcedId,userSourcedId,role,primary,beginDate,endDate
STUDENT_CLASS_LW1111,active,2017-04-30T00:00:00Z,CLASS_LW111,SCHOOL_LW111,STUDENT_LW11,student,,,
|
Column |
Field |
Required |
Possible Values |
Notes |
1 |
SourceId |
Y |
|
*Internal Tracking* |
2 |
Status |
N |
active or tobedeleted |
Active by default Require if DateLastModified present |
3 |
DateLastModified |
N |
YYYY-MM-DDTHH:mm:SS:ssZ |
*Internal Tracking* |
4 |
UserSourcedId |
Y |
|
User to Enroll |
5 |
ClassSourcedId |
Y |
|
Class to Enroll in |
6 |
SchoolSourcedId |
Y |
true or false |
Not mapped |
7 |
Role |
Y |
The only permitted values are administrator, proctor, student, and teacher. |
Role in course offering org unit
|
8 |
Primary |
N |
|
Not mapped |
9 |
BeginDate |
N |
|
Not mapped |
10 |
EndDate |
N |
|
Not mapped |