OneRoster 1.1 Data Models

OneRoster is a set of specifications established by the 1EdTech Learning Consortium. Campus created our OneRoster API based on these specifications. Campus currently supports the 1.1 and 1.2 versions of this specification. This article details the 1.1 version. 

See the OneRoster API article for more information about OneRoster and the Configuring OneRoster Connections article for instructions on setting up a connection.

The tables below lay out the OneRoster 1.1 specification and identify, where applicable, the location in the Campus interface and database where this data populates, with any additional information.

What are 'SourcedIDs'?

The sourceId of a record is a key piece of data used to identify that record. This value is usually the unique identifier for an element, such as the GUID. In the tables below, the sourceId is the first element listed for each endpoint, with examples provided.

Users

Users must have an enabled user account to return.

There are 5 roles in the Campus implementation of OneRoster 1.1: 

  • Student: A person with an Enrollment in the active year.
    • Enrollments marked as No Show are not returned.
  • Teacher: A person with a District Assignment in the active year with a role of Teacher marked (EmploymentAssignment.teacher
  • Administrator: A non-teacher staff member. A person with a District Assignment in the active year with a role other than Teacher (EmploymentAssignment.specialEd, .program, .behavior, .health, .responseApprover, .rti, .advisor, .supervisor, .counselor, .foodService, .approver, or .framProcessor)
  • Guardian: A person with access to Campus Parent and a Guardian relationship to a student in the current year. Grade Book sync must be enabled for the OneRoster connection to return guardian information.
  • Relative: A person with access to Campus Parent and a non-Guardian relationship to a student in the current year. Grade Book sync must be enabled for the OneRoster connection to return relative information.

A user's currently active role returns as 'Primary'.

Vendors may choose to access only specific types of users by using role-specific endpoints of /students or /teachers. All roles may be used via the /users endpoint.

Note: A record returns for each role, not for each individual. Multiple records may return for an individual, such as a teacher who is also a guardian or an administrator.

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdCensus > People > Identities > PersonID

Student: OneRosterStudent.sourceId (Person.personID)
Teacher or Administrator: EmployeeAssignment.personID
Guardian or Relative: UserAccount.personID
Returns the user's PersonID prepended by a letter indicating the user's role: 
  • s: Student
  • t: Teacher
  • a: Administrator
  • g: Guardian
  • r: Relative
e.g. s12345678
statusReturns an indication of whether the user is active.
Student: Student Information > General > Enrollments > End Date

Enrollment.endDate
Students are considered active if they have an active Enrollment according to the enrollment End Date.
Teacher or Administrator: Census > People > District Assignment > End Date

EmploymentAssignment.endDate
Teachers and Administrators are considered active if they have an active District Assignment according to assignment End Date.
Guardian or Relative: Census > People > Relationships > Start Date, End Date

RelatedPair.startDate, RelatedPair.endDate
Guardians and Relatives are considered active if they have an active Relationship record.
dateLastModifiedReturns the last Modified Date according to the user's role, or as 1970-01-01 if null.
Students: Enrollment.modifiedDate, Identity.modifiedDate, UserAccount.modifiedDate, Contact.modifiedDateFor students, reports the last modified date of their Enrollment, Identity, User Account, or Contact record.
Teacher or Administrator: EmploymentAssignment.modifiedDateFor Teacher or Administrators, reports from their District Assignment.
Guardian or Relative: Identity.modifedDate, UserAccount.modifiedDate, Contact.modifiedDateFor Guardians or Relatives, returns from their Identity, User Account, or Contact records.
usernameUser Account > Username

Students:
UserAccount.userName, UserAccount.homepage, UserAccount.disable, UserAccount.expiresDate, UserAccount.userID

All Others: UserAccount.userName, UserAccount.homepage, UserAccount.userID
Returns the username of the user.

If multiple user accounts exist for a students, returns the username of the account with a homepage set to Student Portal and the lowest userID that is not displayed or expired.

If multiple user accounts exist for another type of user, returns the username based on the Homepage of the User Account with the highest userID. Homepage priority is as follows: 
  • No value selected
  • Teaching Center
  • Parent Portal
  • Student Portal
  • any other user account.

userIdsN/AN/A
     typeCensus > People > Demographics > Person Identifiers > Student State IDFor students, returns as the stateID. 
Census > People > Demographics > Person Identifiers > Staff State IDFor teachers or administrators, returns staffStateID.
     identifier

Census > People > Identities > Student State ID or Staff State ID


Student: Person.stateID

Teacher or Administrator: Person.staffStateID


Note: relatives and guardians do not have identifiers
enabledUserAlways returns as 'true'.Note: user account must be active to return. If multiple user accounts exist for a user, returns the most recently create account that is active.
givenNameCensus > People > Identities > First Name

Identity.firstName
First Name
familyNameCensus > People > Identities > Last Name

Identity.lastName
Last Name
middleNameCensus > People > Identities > Middle Name

Identity.middleName
Middle Name
roleCampus supports user roles of teacher, student, administrator, relative, and guardian.
Student: Student Information > General > Enrollment (in active Calendar)Indicates student role
Teacher: Census > People > District Assignment > Teacher checkbox markedIndicates teacher role
Admin: Census > People > District Assignment > Employment Assignment Information > any checkboxes other than Teacher markedIndicates administrator role
Relative/Guardian: Census > People > Relationships > Relative or Guardian checkboxes markedIndicates relative or guardian role
identifier

Census > People > Identities > Local Student Number or Local Staff Number


Student: Person.studentNumber

Teacher or Administrator: Person.staffNumber

Identification number of the person

Note: relatives and guardians do not have identifiers
emailCensus > People > Demographics > Personal Contact Information > Email

Contact.email OR
Contact.secondaryEmail
Email Address

Note: districts may elect to use the Secondary Email Address using the email setting in the Learning Interoperability/Digital Learning Applications Configuration tool.

Some vendors require all users to have an email address.
smsN/AN/A
phoneCensus > People > Demographics > Person Contact Information > Other Phone

Contact.homePhone
Phone Number
agentsCensus > People > Relationships > Portal

RelatedPair.portal
Returns as list of the Guardians and Relatives of the student who have access to the Campus Parent Portal.
orgsStudents: Student Information > General > Enrollments > No Show, End Date

Enrollment.noShow, Enrollment.endDate
Returns the GUID of the Org if the end date falls within the current active school year.
Teachers: Census > People > District Assignment> End Date

EmploymentAssignment.endDate
Returns the GUID of the Org if the end date falls within the current active school year.
gradesStudent Information > General > Enrollments > Grade; System Administration > Resources > Grade Level Definitions

GradeLevel.stateGrade
Returns a list of SCED Grade Level mapped to the grade level in which the students are enrolled. Only returns for students.
passwordN/AReturns as null.

Demographics

Returns based on the current active identity for the person. Only one Identity may be active at a time. 

This endpoint can be turned off for connections using OAuth 2.

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedId

Census > People > Identities > PersonID


Identity.personID


Returns the personID prepended by a role prefix:
  • a: administrator
  • t: teacher

  • s: student

  • g: guardian

  • r: relative

e.g. A Teacher with a personID of 1234 returns as t1234.

statusN/AReturns as 'active'
dateLastModifiedCensus > People > Demographics/Identities > Modified Date

Identities.modifiedDate
The Modified Date on the Identity record. If null, returns 1970-01-01.

Modified Date also displays on Census > People > Demographics and Student Information > General.
birthDateCensus > People > Identities > Birth Date

Identity.birthDate
Birth Date
sexCensus > People > Identities > Gender

Identity.gender
The OneRoster specification only supports genders of M and F. If Gender is M, returns Male. If Gender is F, returns Female. Otherwise returns as null.
americanIndianOr AlaskaNativeCensus > People > Identities > Race/Ethnicity > American Indian or Alaska Native

Identity.raceEthnicityFed = 2
If Race/Ethnicity is American Indian or Alaska Native, returns Yes. Otherwise returns No. Returns as No if Hispanic/Latino returns as Yes.
asianCensus > People > Identities > Race/Ethnicity > Asian

Identity.raceEthnicityFed = 3
If Race/Ethnicity is Asian, returns Yes. Otherwise returns No. Returns as No if Hispanic/Latino returns as Yes.
blackOrAfricanAmericanCensus > People > Identities > Race/Ethnicity > Black or African American

Identity.raceEthnicityFed = 4
If Race/Ethnicity is Black or African American, returns Yes. Otherwise returns No. Returns as No if Hispanic/Latino returns as Yes.
nativeHawaiianOr OtherPacificIslanderCensus > People > Identities > Race/Ethnicity > Native Hawaiian or Other Pacific Islander

Identity.raceEthnicityFed = 5
If Race/Ethnicity is Native Hawaiian or Other Pacific Islander, returns Yes. Otherwise returns No. Returns as No if Hispanic/Latino returns as Yes.
whiteCensus > People > Identities > Race/Ethnicity > White

Identity.raceEthnicityFed = 6
If Race/Ethnicity is White, returns Yes. Otherwise returns No. Returns as No if Hispanic/Latino returns as Yes.
demographicRaceTwo OrMoreRacesCensus > People > Identities > Race/Ethnicity

Identity.raceEthnicityFed
Indicates if the student identifies with two or more races. Returns as No if Hispanic/Latino returns as Yes.
hispanicOrLatinoEthnicityCensus > People > Identities > Race/Ethnicity > Is the individual Hispanic/Latino?

Identity.hispanicEthnicity
If Y is selected for the Hispanic/Latino question, returns Yes. Otherwise returns No.

If this attribute returns as Yes, all other Race/Ethnicity fields return as No. See IPEDS Guidance for more information. 
countryOfBirthCodeCensus > People > Identities > Birth Country

Identity.countryOfBirthCode
Country of Birth
stateOfBirthAbbreviationCensus > People > Identities > Birth State

Identity.stateOfBirthAbbreviation
Abbreviation of the State of Birth
cityOfBirthCensus > People > Identities > Birth City

Identity.cityOfBirth
City of Birth
publicSchool ResidenceStatusN/AReturns as null.

Enrollments

Only returns for students and teachers. OneRoster and Campus define 'enrollment' differently. In OneRoster, an 'enrollment' indicates membership in a class. In Campus, this data is stored in the Schedule for students and the Staff History tab for Teachers.

Follows External LMS Exclude logic.

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdDoes not display in Campus UI.

's' + Roster.rosterID


For students, returns the letter 's' prepended to the RosterID. e.g. s123453678
Does not display in Campus UI.

't' + SectionStaffHistory.historyID
For teachers, returns the letter 't' prepended to the Staff History ID.e.g. t123456
statusStudents: Student Information > General > Schedule > Walk-in Scheduler > Section > End Date

Roster.endDate
For students, if the Roster End Date is null or after the current date, returns 'active'. Otherwise returns 'tobedeleted'.
Teachers: Scheduling > Courses > Section > Staff History > End Date

SectionStaffHistory.endDate
For teachers, if the Staff History End Date is null or after the current date, returns 'active'. Otherwise returns 'tobedeleted'.
dateLastModified

Student: Student Information > General > Schedule > Walk-In Scheduler > select a roster


Roster.modifiedDate or Roster.createdDate

Returns the Modified Date, or the Created Date if null.

Note: Created Date does not display in the Campus UI.

Teacher: Scheduling > Courses > Section > Staff History > Staff History Detail > Modified


SectionStaffHistory.modifiedDate or SectionStaffHistory.createdDate

user

Census > People > Identities > Person ID


's' + Identity.personID

't' + Identity.personID

Returns the PersonID of the person this record pertains to, prepended by an 's' for students or a 't' for teachers.

e.g. If the teacher's PersonID is 1234, returns as 't1234'
class

Scheduling > Courses > Section > SectionID


Section.sectionID

The Section ID of the class the person is enrolled in.
school

Does not display in the Campus UI.


School.schoolGUID

Returns the SchoolGUID associated with the section.
roleN/AIdentifies the type of enrollment record being returned. Returns as 'student' or 'teacher'.
primaryStudents: N/AA value does not return for students.

Teachers: Scheduling > Courses > Section > Staff History > Staff Type


SectionStaffHistory.staffType

For teachers, returns as TRUE if the teacher is designated as the Primary teacher of the section. Otherwise returns as FALSE.
beginDate

Students: Student Information > General > Schedule > Walk-In Scheduler > Start Date


Roster.startDate

For students, returns the Roster Start Date. If a date is not listed, returns as null.
Teachers: Scheduling > Courses > Section > Staff History > Access Date, Start Date


SectionStaffHistory.accessStartDate

SectionStaffHistory.startDate

For teachers, returns the Access Date from the Staff History record, if entered, or the Start Date of the Staff History record. If a date is not listed, returns as null.
endDate

Student Information > General > Schedule > Walk-In Scheduler > End Date


Roster.endDate


For students, returns the Roster End Date.

Scheduling > Courses > Section > Staff History > Access End Date, End Date


SectionStaffHistory.accessEndDate

SectionStaffHistory.endDate

For teachers, returns the Access End Date from the Staff History record, if entered, or the End Date of the Staff History record.
If an End Date is entered in Campus, a value of endDate + one day returns. One day is added because dates are inclusive in Campus (access ends at the end of the endDate) whereas in OneRoster, dates are exclusive (access ends at the beginning of the endDate).

Classes

Note: The Classes endpoint is cached hourly. See the Caching OneRoster Data section for more information.

Follows External LMS Exclude logic.

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdScheduling > Courses > Section > Section ID

Section.sectionID
Returns the SectionID of the class.
status
Returns as 'active'
dateLastModifiedScheduling > Courses > Section > Modified Date

Section.modifiedDate
Date the section record was last modified.
titleScheduling > Courses > Course > Name, Number; Section > NumberReturns in a format of "<course.number> <section.number> <course.name>" e.g. 101 2 Math
classCodeScheduling > Courses > Section > Teacher Display Name

Section.teacherDisplayName
Returns the Teacher Display Name.
classTypeScheduling > Courses > Section > Homeroom checkboxReturns as 'homeroom' if the class is marked as Homeroom. Otherwise returns as 'scheduled'.
locationScheduling > Courses > Section > Room

Room.name
Room where the class takes place.
gradesN/ANot supported. In Campus, grade level data is not stored fro sections (classes).
subjectsScheduling > Courses > Course > Subject Type, Core Academic Class

If Subject Type is CORE: Course.coreSubject
Otherwise Course.subjectType
On the Course tab, if the Subject Type of CORE is selected, the Core Academic Class dropdown list displays and this attribute returns the value selected for that field. Otherwise returns the Subject Type.

Note: Only one value returns for this attribute. Is often returns as blank.
courseScheduling > Courses > Course > CourseID

Course.courseID
The Course ID of the section's (class's) parent course.
schoolDoes not display in the Campus UI.

School.schoolGUID
The GUID of the School for the Calendar that the Course is in.
termsScheduling > Courses > Section > Section Schedule Placement

SectionPlacement.termName
Returns the terms that the section is scheduled into, according to the Section Schedule Placement.
subjectCodesScheduling > Courses > Course > Course ID, NCES Data > NCES Code

Course.scedSubjectArea
Course.Courseid
Returns the SCED Subject Area + Course ID. If either is null, returns as null. Only one value returns.
periodsScheduling > Courses > Section > Section Schedule Placement

SectionPlacement.termName
SectionPlacement.periodScheduleName
sectionPlacement.name
Returns a list of periods, likely containing a period for each term, in the following format: "<sectionPlacement.termName>-<sectionPlacement.periodScheduleName>-<sectionPlacement.name>". e.g. "Q1-Daily-1"
resourcesN/AN/A

Courses

Follows External LMS Exclude logic.

Note that if a school use Course Masters to manage course information, course details may change as a result of data being pushed from the Master. Data is returned via the API from Course Information so changes made at the Course Master level that have not been pushed to the Course are not reflected in the API. Likewise, if fields in Course Information are locked from editing at the Course Catalog level, edits must be made to the Course Master and then pushed to the course.

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdScheduling > Courses > Course > Course ID

Course.courseID
e.g. 12345
status
Returns as 'active'
dateLastModifiedScheduling > Courses > Course > Modified Date

Course.modifiedDate
Date the course record was last modified.
titleScheduling > Courses > Course > Name

Course.name
Course Name
schoolYearN/AN/A
courseCodeScheduling > Courses > Course > Number

Course.number
Course Number
gradesN/AN/A
subjectsScheduling > Courses > Course > Subject Type, Core Academic Class

If Subject Type is CORE: Course.coreSubject
Otherwise Course.subjectType
On the Course tab, if the Subject Type of CORE is selected, the Core Academic Class dropdown list displays and this attribute returns the value selected for that field. Otherwise returns the Subject Type.

Note: Only one value returns for this attribute. Is often returns as blank.
orgDoes not display in the Campus UI.

School.schoolGUID
Returns the sourcedId of the calendar's school.
sujbectCodesScheduling > Courses > Course > NCES Data > NCES Code

Course.schedSubjectArea
Course.scedCourseID
Returns the SCED Subject Area + SCED Course ID Identifier. If either is null, returns null.

e.g. SCED Subject Area = 02: Mathematics and SCED Course Identifier = 051: Pre-Algebra, returns as 02051.
resourcesN/AN/A

Orgs (Districts & Schools)

The Campus implementation of the OneRoster specification returns districts and schools as orgs because the specification does not have a place for returning district-level information. Schools marked as External LMS Exclude are not returned.

District and school records are differentiated using the type element. Orgs returns as three endpoints: 

  • /districts: Returns one record for the district
  • /schools: Returns a record for each school
  • /orgs: Returns a combination of records for the district and each school.

If desired, vendors have the option of only returning the /schools endpoint to exclude district information.

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdDoes not display in the Campus UI.

School.schoolGUID
District.districtGUID
e.g. 882ed49c-f895-4fa2-9003-ce2fb524b747
status
Returns as 'active'
dateLastModifiedSystem Administration > Resources > School > Modified Date

School.modifiedDate
Date the school record was last modified.
System Administration > Resources > District Information > Modified Date

District.modifiedDate
Date the district record was last modified.
metadataSchools
School & District Settings > Schools > School Information > Address fields

School.address, city, state, zip

Can optionally include address data for the School/District based on OneRoster connection settings.


"ic_address" contains:

  • Address
  • City
  • State
  • Zip

District
School & District Settings > District > District Information > Address fields

District.address, city, state, zip
nameSystem Administration > Resources > School > Name

School.name
School Name
System Administration > Resources > District Information > Name

District.name
District Name
type
Returns as 'school' for schools and 'district' for districts.
identifierDistrict: System Administration > Resources > District Information > State District Number

District.number
State District Number
School: System Administration > Resources > School > State School Number

School.number
State School Number
parentDoes not display in the Campus UI.

District.discrictGUID
Returns the District's sourcedId, which is the districtGUID
childrenDoes not display in the Campus UI.

School.schoolGUID
Returns a list of school sourcedIds, which are the schoolGUID values.

Terms

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdDoes not display in the Campus UI.

Term.termID
e.g. 1234
statusN/AReturns as 'active'. Campus does not support inactive terms.
dateLastModifiedN/AReturns as 'now'. Campus does not stores Last Modified dates for Terms.
titleSystem Administration > Calendar > Term > Name

Term.name
Term Name
startDateSystem Administration > Calendar > Term > Start Date

Term.startDate
Start Date
endDateSystem Administration > Calendar > Term > End Date

Term.endDate
End Date
typeN/AReturns as 'term'
parentN/AN/A - Term records do not have parents in Campus.
childrenDoes not display in the Campus UI.

Term.termGUID
This field returns the sourcedId for the associated Grading Period, which is the TermGUID.
schoolYearSystem Administration > Calendar > School Years > select Active year > End Year, Active

SchoolYear.endYear
Returns the End Year of the term's school year.

Grading Periods

In Campus, Grading Periods is the same thing as Terms. This endpoint returns the same records as the Terms endpoint, with additional records for One-Time Grading Tasks and their associated Terms. 

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourceIdDoes not display in the Campus UI.

Term: Term.termGUID

One-Time Grading Task: ScheduleStructure.structureGUID

e.g. 882ed49c-f895-4fa2-9003-ce2fb524b747
statusN/AReturns as 'active'. Campus does not support inactive terms
dateLastModifiedN/AReturns as 'now'. Campus does not stores Last Modified dates for Terms.
titleTerms: System Administration > Calendar > Term > Name

Term.name
For Term-related Grading Periods, returns Term Name.
One-Time Grading Tasks: System Administration > Calendar > Name; Schedule Structure > Name

Calendar.name, ScheduleStructure.name
For One-Time Grading Task Grading Periods, returns the following: <calendar.name> <scheduleStructure.name> e.g. 'OneTime: 21-22 Harrison High Main'
startDateSystem Administration > Calendar > Term > Start Date

Term.startDate
For Term-related Grading Periods, returns the Start Date. For One-Time Grading Task Grading Periods, returns the earliest Start Date for any Term in the term schedule.
endDateSystem Administration > Calendar > Term > End Date

Term.endDate
For Term-related Grading Periods, returns the End Date. For One-Time Grading Task Grading Periods, returns the latest End Date for any Term in the term schedule.
typeN/AReturns as 'gradingperiod'.
parentTerms: Does not display in the Campus UI.

Term.termID
Returns the sourceId of the associated Term record, which is the term's TermID.

One-Time Grading Tasks: N/AN/A
childrenN/AN/A
schoolYearSystem Administration > Calendar > School Years > End Year, Active

SchoolYear.endYear
Returns the End Year of the term's school year.

Academic Sessions

Academic Sessions are a combination of all possible terms and grading periods for the section. Follows External LMS Exclude logic.

The Academic Sessions endpoint returns the same data as the Terms and Grading Periods endpoints documented above.

LineItems (Assignments)

Note: Assignments returned via OneRoster can only be scored using points. No data received from the vendor program can be edited on an assignment, but other data can be.

Support Information:
Assignments received via the OneRoster API have a version shown in the bottom-right corner of the assignment. Click to view additional information about the assignment. 
Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdInstruction > Grade Book > select assignment > hidden support information, described above

IMLearningObjectSection.externalLMSSourcedId
If the assignment was created in the external LMS, returns the identifier assigned by that program. If created in Campus, returns the Campus-created assignment GUID.

If an assignment is associated with multiple sections, each instance gets its own unique sourcedId.
statusN/AReturns as 'active'.
dateLastModifiedInstruction > Grade Book > select assignment > hidden support information, described above

IMLearningObject.modifiedDate
For imported assignments, returns the date the assignment was last modified, which is either the date of the most recent change to the assignment made in Campus or the date the vendor last modified the synced assignment. The Created Date is the date the vendor first synced the assignment.
metadata

titleInstruction > Grade Book > select assignment > Name
Note: Campus limits assignment name to 255 characters
descriptionInstruction > Grade Book > select assignment > Summary

IMLearningObjectBlob.content
Returns the assignment description provided by the LMS, if any.
assignDateInstruction > Grade Book > select assignment > Start Date

IMLearningObjectSection.startDate
Note: Vendors must send an assignDate that is at least one minute before the dueDate to correctly create an assignment.
dueDateInstruction > Grade Book > select assignment > End Date

IMLearningObjectSection.endDate
Note: This date must fall within the term.
classDoes not display in the Campus UI.

IMLearningObjectSection.sectionID
Returns the SectionID for a the section an assignment is in, according to information provided by the vendor. An assignment can only be aligned to one section.
categoryN/AReturns a value of '11111111-1111-1111-1111-111111111111'.
gradingPeriodDoes not display in the Campus UI.

Term.termGUID
OneRosterClass.structureID
(ScheduleStructure.structureID)
If the assignment is aligned to a Category within a Term, returns the TermGUID. Otherwise, returns the StructureGUID of the Schedule Structure
resultValueMinN/AReturns as '0'. This value is not recorded in Campus
resultValueMaxInstruction > Grade Book > select assignment > Grading > Points

LessonPlanGroupActivity.totalPoints
Points possible on the assignment.

Results

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdDoes not display in the Campus UI

LessonPlanScore.externalLMSSourcedID
Format determined by vendor.
statusN/AReturns as 'active'.
dateLastModifiedDoes not display in the Campus UI.

LessonPlanScore.modifiedDate
Returns the Modified Date of the record. If null, returns '1/1/1970'.
lineItemInstruction > Grade Book > assignment > Support Information (see LineItems for more information)

IMLearningObjectSection.externalLMSSourcedId
Returns the sourceId of the lineItem that is being created or updated.
studentDoes not display in the Campus UI.

LessonPlanScore.personID
Returns the studentId of the associated student prepended with 's'.
scoreStatusInstruction > Grade Book > score and flag(s) for an assignment

LessonPlanScore.exempt, LessonPlanScore.missing, LessonPlanScore.score
Score flags are mapped as follows: 
  • Exempt mapped to 'exempt' in Campus.
  • Not Submitted mapped to 'missing' or an empty score in Campus
  • 'Submitted' for all other flags.

scoreInstruction > Grade Book > an assignment score

LessonPlanScore.score
If the score is a numeric value, returns the float value of the score. Otherwise returns as null. A 440 error is generated if a non-numeric score is entered.
scoreDateDoes not display in the Campus UI.

LessonPlanScore.modifiedDate
Returns the Modified Date of the score, or as 'now' if null. This field does not return the LessonPlanScore.scoreDate.
commentInstruction > Grade Book > assignment score comment

LessonPlanScore.comments
Note: Campus limits comments to 250 characters.


Categories

How categories are handled by OneRoster depends on vendor setup. If the vendor program is set up to receive categories from Campus, refer to the first table of logic below. If not, refer to the second table.

Vendors Using Categories

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdLessonPlanGroup.groupID
eg. 12345
statusN/AReturns as 'active'.
dateLastModifiedLessonPlanGroup.modifiedDate
Last modified date if available, otherwise 1970-01-01.
metadata
classId: string
classId is the class sourcedId for the category (sectionID) eg. 12345
titleLessonPlanGroup.name
Returns the name of category
weight
LessonPlanGroup.weight
Weight of the category in grading.

Vendors Not Using Categories

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdN/AReturns a value of '11111111-1111-1111-1111-111111111111'.
statusN/AReturns as 'active'.
dateLastModifiedN/AAlways returns as '1-1-1970'.
titleN/AReturns as 'Grade Book Score'.

Class Groups

Class groups is a OneRoster extension. In Campus, teachers are allowed to create cross-section Section Groups. These are represented in OneRoster as Class Groups.

Data Element Name in OneRoster SpecCampus Interface & Database LocationDescription & Notes
sourcedIdDoes not display in the Campus UI.

SectionGroup.sectionGroupID
eg. 12345
statusN/AReturns as 'active'.
dateLastModifiedN/AReturns the current date/time.
metadataN/AN/A
titleInstruction > Grades > Grade Book > Settings > Section Groups > Name

SectionGroup.name
Returns the name of the section group.
groupTypeDoes not display in the Campus UI.

SectionGroup.autogenerated
If the group is auto-generated, returns 'cross-listed'. Otherwise returns 'Cohort'.
classesOneRosterClass.sectionIDReturns a list of sectionIDs for sections included in the Class Group. 

FAQs

How do I know the OneRoster connection is working on the Campus end? How do I know what data is being retrieved from Campus?

Use the REST Documentation Client to verify your Campus connection to the OneRoster API and show what data the API is collecting for various endpoints. The REST Doc Client also allows you to query specific data in OneRoster via the sourceId. See the What are sourcedIds? section above for more information.

Why is a user not being retrieved from Campus?

For OneRoster 1.1, users need user accounts to be included in OneRoster. User accounts can be created individually, en masse, or automatically

Teachers need a District Assignment with a Role of Teacher marked.

Non-Teachers staff members need a District Assignment with a Role other than or in addition to Teacher marked.

Who populates a student's "Agents" list?

The Agents list includes all Guardians and Relatives who have access to Campus Parent and a Guardian or non-Guardian relationship (respectively) to a student in the current year. Grade Book sync must be enabled for the OneRoster connection to return this information.