Skip to main content

OneRoster Integration

How Lingco's OneRoster integration works with various providers

James McConkey avatar
Written by James McConkey
Updated over 2 weeks ago

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

  1. 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

  2. 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

  3. 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

  4. 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

  1. Access OneRoster Settings

    • Log into Campus Portal → Administration

    • Navigate to System Administration → API Management → OneRoster

  2. Enable OneRoster API

    • Enable OneRoster v1.1 service

    • Configure data scope (schools, academic terms, user types)

    • Set refresh/sync schedules if applicable

  3. Authentication Setup

    • Generate OneRoster API credentials per specification

    • Record Client ID and Client Secret

    • Note endpoint: https://[district].infinitecampus.org/campus/api/oneroster/v1p1

  4. 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

  1. Add OneRoster Application

    • Access ClassLink Admin Portal

    • Navigate to Applications → Add New Application

    • Search for and select "OneRoster" or "OneRoster API"

  2. Configure Service

    • Assign OneRoster service to appropriate organizational units

    • Set data sharing permissions (students, staff, classes, enrollments)

  3. 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]

  4. 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 info

  • orgs.csv - schools and districts

  • users.csv - students and teachers

  • classes.csv - course offerings

  • enrollments.csv - student-class relationships

  • academicSessions.csv - terms and grading periods

Delivery Methods

  1. SFTP Transfer

    • Secure file transfer with scheduled pickup

    • ZIP compression recommended for large datasets

    • Daily or weekly schedule based on data change frequency

  2. Secure File Share

    • One-time setup or testing

    • Encrypted file transfer via secure portal

  3. 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

Did this answer your question?