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.
- 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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Census > 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:
|
status | Returns 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. | |
dateLastModified | Returns 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.modifiedDate | For students, reports the last modified date of their Enrollment, Identity, User Account, or Contact record. | |
Teacher or Administrator: EmploymentAssignment.modifiedDate | For Teacher or Administrators, reports from their District Assignment. | |
Guardian or Relative: Identity.modifedDate, UserAccount.modifiedDate, Contact.modifiedDate | For Guardians or Relatives, returns from their Identity, User Account, or Contact records. | |
username | User 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:
|
userIds | N/A | N/A |
type | Census > People > Demographics > Person Identifiers > Student State ID | For students, returns as the stateID. |
Census > People > Demographics > Person Identifiers > Staff State ID | For 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 |
enabledUser | Always 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. |
givenName | Census > People > Identities > First Name Identity.firstName | First Name |
familyName | Census > People > Identities > Last Name Identity.lastName | Last Name |
middleName | Census > People > Identities > Middle Name Identity.middleName | Middle Name |
role | Campus 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 marked | Indicates teacher role | |
Admin: Census > People > District Assignment > Employment Assignment Information > any checkboxes other than Teacher marked | Indicates administrator role | |
Relative/Guardian: Census > People > Relationships > Relative or Guardian checkboxes marked | Indicates 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 |
Census > 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. | |
sms | N/A | N/A |
phone | Census > People > Demographics > Person Contact Information > Other Phone Contact.homePhone | Phone Number |
agents | Census > People > Relationships > Portal RelatedPair.portal | Returns as list of the Guardians and Relatives of the student who have access to the Campus Parent Portal. |
orgs | Students: 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. | |
grades | Student 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. |
password | N/A | Returns 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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Census > People > Identities > PersonID Identity.personID | Returns the personID prepended by a role prefix:
e.g. A Teacher with a personID of 1234 returns as t1234. |
status | N/A | Returns as 'active' |
dateLastModified | Census > 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. |
birthDate | Census > People > Identities > Birth Date Identity.birthDate | Birth Date |
sex | Census > 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 AlaskaNative | Census > 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. |
asian | Census > 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. |
blackOrAfricanAmerican | Census > 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 OtherPacificIslander | Census > 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. |
white | Census > 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 OrMoreRaces | Census > 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. |
hispanicOrLatinoEthnicity | Census > 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. |
countryOfBirthCode | Census > People > Identities > Birth Country Identity.countryOfBirthCode | Country of Birth |
stateOfBirthAbbreviation | Census > People > Identities > Birth State Identity.stateOfBirthAbbreviation | Abbreviation of the State of Birth |
cityOfBirth | Census > People > Identities > Birth City Identity.cityOfBirth | City of Birth |
publicSchool ResidenceStatus | N/A | Returns 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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Does 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 | |
status | Students: 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. |
role | N/A | Identifies the type of enrollment record being returned. Returns as 'student' or 'teacher'. |
primary | Students: N/A | A 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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Scheduling > Courses > Section > Section ID Section.sectionID | Returns the SectionID of the class. |
status | Returns as 'active' | |
dateLastModified | Scheduling > Courses > Section > Modified Date Section.modifiedDate | Date the section record was last modified. |
title | Scheduling > Courses > Course > Name, Number; Section > Number | Returns in a format of "<course.number> <section.number> <course.name>" e.g. 101 2 Math |
classCode | Scheduling > Courses > Section > Teacher Display Name Section.teacherDisplayName | Returns the Teacher Display Name. |
classType | Scheduling > Courses > Section > Homeroom checkbox | Returns as 'homeroom' if the class is marked as Homeroom. Otherwise returns as 'scheduled'. |
location | Scheduling > Courses > Section > Room Room.name | Room where the class takes place. |
grades | N/A | Not supported. In Campus, grade level data is not stored fro sections (classes). |
subjects | Scheduling > 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. |
course | Scheduling > Courses > Course > CourseID Course.courseID | The Course ID of the section's (class's) parent course. |
school | Does not display in the Campus UI. School.schoolGUID | The GUID of the School for the Calendar that the Course is in. |
terms | Scheduling > Courses > Section > Section Schedule Placement SectionPlacement.termName | Returns the terms that the section is scheduled into, according to the Section Schedule Placement. |
subjectCodes | Scheduling > 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. |
periods | Scheduling > 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" |
resources | N/A | N/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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Scheduling > Courses > Course > Course ID Course.courseID | e.g. 12345 |
status | Returns as 'active' | |
dateLastModified | Scheduling > Courses > Course > Modified Date Course.modifiedDate | Date the course record was last modified. |
title | Scheduling > Courses > Course > Name Course.name | Course Name |
schoolYear | N/A | N/A |
courseCode | Scheduling > Courses > Course > Number Course.number | Course Number |
grades | N/A | N/A |
subjects | Scheduling > 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. |
org | Does not display in the Campus UI. School.schoolGUID | Returns the sourcedId of the calendar's school. |
sujbectCodes | Scheduling > 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. |
resources | N/A | N/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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Does not display in the Campus UI. School.schoolGUID District.districtGUID | e.g. 882ed49c-f895-4fa2-9003-ce2fb524b747 |
status | Returns as 'active' | |
dateLastModified | System 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. | |
metadata | Schools 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:
|
District School & District Settings > District > District Information > Address fields District.address, city, state, zip | ||
name | System 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. | |
identifier | District: 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 | |
parent | Does not display in the Campus UI. District.discrictGUID | Returns the District's sourcedId, which is the districtGUID |
children | Does 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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Does not display in the Campus UI. Term.termID | e.g. 1234 |
status | N/A | Returns as 'active'. Campus does not support inactive terms. |
dateLastModified | N/A | Returns as 'now'. Campus does not stores Last Modified dates for Terms. |
title | System Administration > Calendar > Term > Name Term.name | Term Name |
startDate | System Administration > Calendar > Term > Start Date Term.startDate | Start Date |
endDate | System Administration > Calendar > Term > End Date Term.endDate | End Date |
type | N/A | Returns as 'term' |
parent | N/A | N/A - Term records do not have parents in Campus. |
children | Does not display in the Campus UI. Term.termGUID | This field returns the sourcedId for the associated Grading Period, which is the TermGUID. |
schoolYear | System 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 Spec | Campus Interface & Database Location | Description & Notes |
sourceId | Does not display in the Campus UI. Term: Term.termGUID One-Time Grading Task: ScheduleStructure.structureGUID | e.g. 882ed49c-f895-4fa2-9003-ce2fb524b747 |
status | N/A | Returns as 'active'. Campus does not support inactive terms |
dateLastModified | N/A | Returns as 'now'. Campus does not stores Last Modified dates for Terms. |
title | Terms: 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' | |
startDate | System 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. |
endDate | System 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. |
type | N/A | Returns as 'gradingperiod'. |
parent | Terms: 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/A | N/A | |
children | N/A | N/A |
schoolYear | System 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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Instruction > 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. |
status | N/A | Returns as 'active'. |
dateLastModified | Instruction > 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 | ||
title | Instruction > Grade Book > select assignment > Name | Note: Campus limits assignment name to 255 characters |
description | Instruction > Grade Book > select assignment > Summary IMLearningObjectBlob.content | Returns the assignment description provided by the LMS, if any. |
assignDate | Instruction > 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. |
dueDate | Instruction > Grade Book > select assignment > End Date IMLearningObjectSection.endDate | Note: This date must fall within the term. |
class | Does 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. |
category | N/A | Returns a value of '11111111-1111-1111-1111-111111111111'. |
gradingPeriod | Does 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 |
resultValueMin | N/A | Returns as '0'. This value is not recorded in Campus |
resultValueMax | Instruction > Grade Book > select assignment > Grading > Points LessonPlanGroupActivity.totalPoints | Points possible on the assignment. |
Results
Data Element Name in OneRoster Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | Does not display in the Campus UI LessonPlanScore.externalLMSSourcedID | Format determined by vendor. |
status | N/A | Returns as 'active'. |
dateLastModified | Does not display in the Campus UI. LessonPlanScore.modifiedDate | Returns the Modified Date of the record. If null, returns '1/1/1970'. |
lineItem | Instruction > Grade Book > assignment > Support Information (see LineItems for more information) IMLearningObjectSection.externalLMSSourcedId | Returns the sourceId of the lineItem that is being created or updated. |
student | Does not display in the Campus UI. LessonPlanScore.personID | Returns the studentId of the associated student prepended with 's'. |
scoreStatus | Instruction > Grade Book > score and flag(s) for an assignment LessonPlanScore.exempt, LessonPlanScore.missing, LessonPlanScore.score | Score flags are mapped as follows:
|
score | Instruction > 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. |
scoreDate | Does 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. |
comment | Instruction > 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 Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | LessonPlanGroup.groupID | eg. 12345 |
status | N/A | Returns as 'active'. |
dateLastModified | LessonPlanGroup.modifiedDate | Last modified date if available, otherwise 1970-01-01. |
metadata | classId: string | classId is the class sourcedId for the category (sectionID) eg. 12345 |
title | LessonPlanGroup.name | Returns the name of category |
weight | LessonPlanGroup.weight | Weight of the category in grading. |
Vendors Not Using Categories
Data Element Name in OneRoster Spec | Campus Interface & Database Location | Description & Notes |
sourcedId | N/A | Returns a value of '11111111-1111-1111-1111-111111111111'. |
status | N/A | Returns as 'active'. |
dateLastModified | N/A | Always returns as '1-1-1970'. |
title | N/A | Returns 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 Spec | Campus Interface & Database Location | Description & Notes |
---|---|---|
sourcedId | Does not display in the Campus UI. SectionGroup.sectionGroupID | eg. 12345 |
status | N/A | Returns as 'active'. |
dateLastModified | N/A | Returns the current date/time. |
metadata | N/A | N/A |
title | Instruction > Grades > Grade Book > Settings > Section Groups > Name SectionGroup.name | Returns the name of the section group. |
groupType | Does not display in the Campus UI. SectionGroup.autogenerated | If the group is auto-generated, returns 'cross-listed'. Otherwise returns 'Cohort'. |
classes | OneRosterClass.sectionID | Returns 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.