OneRoster Integration Setup Guide
Overview
Integrate student, teacher, class, and course data from your Student Information System (SIS) using OneRoster v1.1 standard. This guide covers setup for PowerSchool, Infinite Campus, and ClassLink.
Integration Options
Method | Data Transfer | Update Frequency | Best For |
API (Real-time) | REST endpoints with OneRoster authentication | Instant/scheduled sync | Districts needing current data |
CSV (Batch/Bulk) | File transfer via SFTP | Daily/weekly batches | High-volume imports, limited API access |
PowerSchool Setup
Prerequisites
PowerSchool version with Universal Rostering plugin installed
Administrative access to PowerSchool
Network access for API calls
Configuration Steps
Enable OneRoster Plugin
Navigate to System → Plugin Management Console
Ensure "Universal Rostering" plugin is installed and enabled
Note: Plugin may be labeled as "OneRoster" in newer versions
Configure API Profile
Go to System → Web Services → API Profiles
Create new profile or modify existing OneRoster profile
Enable required permissions:
Organizations (orgs)
Users (students, teachers)
Classes and sections
Enrollments
Academic sessions
Generate Credentials
In the OneRoster plugin settings, generate API credentials
Record the Client Key and Client Secret
Note the base URL format:
https://[your-powerschool-server]/ws/v1p1/ims/oneroster/v1p1
Test Configuration
Verify API endpoint responds to authentication
Test sample data retrieval
Infinite Campus Setup
Prerequisites
Infinite Campus version 1733 or higher (required for OneRoster API)
Campus Portal Administrative rights
District-level permissions for API configuration
Configuration Steps
Access OneRoster Settings
Log into Campus Portal → Administration
Navigate to System Administration → API Management → OneRoster
Enable OneRoster API
Enable OneRoster v1.1 service
Configure data scope (schools, academic terms, user types)
Set refresh/sync schedules if applicable
Authentication Setup
Generate OneRoster API credentials per specification
Record Client ID and Client Secret
Note endpoint:
https://[district].infinitecampus.org/campus/api/oneroster/v1p1
Academic Term Configuration
Select which academic years/terms to include
Configure section and enrollment data scope
Important Note: Verify your Infinite Campus version supports OneRoster API integration.
ClassLink Setup
Prerequisites
ClassLink district administrator account
OneRoster service enabled for your district
Configuration Steps
Add OneRoster Application
Access ClassLink Admin Portal
Navigate to Applications → Add New Application
Search for and select "OneRoster" or "OneRoster API"
Configure Service
Assign OneRoster service to appropriate organizational units
Set data sharing permissions (students, staff, classes, enrollments)
Generate API Credentials
In OneRoster app settings, generate API credentials
Record Client Key and Client Secret
Note endpoint:
https://api.classlink.com/oneroster/v1p1/[district-id]
Scope Configuration
Select which schools/grades to include
Configure user type permissions
CSV/Batch Setup
File Requirements
Lingco currently only supports full CSV's not CSV deltas. If this is a problem please let us know.
Required OneRoster CSV Files:
manifest.csv
- file inventory and version infoorgs.csv
- schools and districtsusers.csv
- students and teachersclasses.csv
- course offeringsenrollments.csv
- student-class relationshipsacademicSessions.csv
- terms and grading periods
Delivery Methods
SFTP Transfer
Secure file transfer with scheduled pickup
ZIP compression recommended for large datasets
Daily or weekly schedule based on data change frequency
Secure File Share
One-time setup or testing
Encrypted file transfer via secure portal
Manual Upload
For initial setup or small districts
Direct file provision via secure email or portal
Data Mapping & Course Alignment
Course Synchronization
Lingco team will map SIS course codes to platform course catalog
Custom course creation for non-standard offerings
Handling of multi-section courses and team-taught classes
User Account Provisioning
Authentication: OneRoster-provisioned accounts require SSO authentication
No local passwords: Users must authenticate through district identity provider
Role mapping: Student, teacher, and administrator role assignments
Implementation Checklist
Pre-Implementation
Verify SIS version compatibility
Test API endpoints and authentication
Review data privacy and security requirements
Plan SSO integration if not already configured
During Setup
Configure API credentials in Lingco platform
Test data sync with small sample
Verify course mappings
Validate user role assignments
Post-Implementation
Monitor sync frequency and success rates
Establish data quality monitoring
Document troubleshooting procedures
Schedule regular credential rotation
Common Issues & Troubleshooting
Authentication Failures
Verify API credentials are valid and properly configured
Check credential expiration dates
Confirm API endpoint URLs are correct
Data Sync Issues
Validate OneRoster CSV format compliance
Check for required field completeness
Verify academic session date ranges
Performance Considerations
API rate limiting may affect real-time sync frequency
Large datasets may require batch processing approach
Network connectivity requirements for reliable sync
Support & Next Steps
Technical Support: Contact Lingco support team for credential configuration and data mapping assistance.
SIS Vendor Support: Reach out to PowerSchool, Infinite Campus, or ClassLink support for platform-specific OneRoster configuration questions.
Documentation: Refer to OneRoster v1.1 specification at IMS Global Learning Consortium for detailed technical standards.
Data Use
Below is a table summarizing the different data entities and their evaluated fields:
Entity | Description | Evaluated Fields |
Organization (Org) | Used to understand the hierarchical structure of schools and districts, ensuring users have correct permissions when viewing student data. Users can only see data within organizations they belong to. | name, identifier, type, sourcedId, parent, children, dateLastModified, status, metadata |
Course | Used to get course information that gets linked to OneRoster classes. Course codes and titles are used for display in reports and class identification. | title, courseCode, sourcedId, dateLastModified, status, schoolYear, grades, subjects, org, subjectCodes |
Class | Used as the core unit that assessments bind to. Contains rostering information and is used for display so users can clearly identify classes. | sourcedId, title, classCode, classType, location, grades, subjects, course, school, terms, periods, dateLastModified, status |
User (Students & Teachers) | User data for both students and teachers is synchronized to create Avant user accounts with proper roles and organizational assignments. | sourcedId, givenName, familyName, email, role, orgs, grades, dateLastModified, status |
Enrollment | Links users to classes with their specific roles and tracks enrollment periods. | sourcedId, user, class, school, role, primary, beginDate, endDate, dateLastModified, status |
Academic Session | Represents terms, semesters, and grading periods used to organize classes temporally. | sourcedId, title, startDate, endDate, type, schoolYear, parent, children, dateLastModified, status |