School Integrations - School Integration API
Octavia now supports a pilot School Integration API for schools that need to exchange lesson scheduling and student master data with an external system. The current pilot gives schools two integration paths: This lets a
What This Is
The current pilot gives schools two integration paths:
- a lesson scheduling export from Octavia into another system
- a student master sync from a school system into Octavia
This lets a school:
- read lesson schedule data from Octavia
- identify which student each lesson row belongs to
- receive attendance on the same lesson-participant row
- create or update student master records in Octavia from another school system
What Is Included Right Now
The current live scope includes:
- Lesson scheduling export
- Student master sync import
The current live scope does not include:
- webhook push delivery
- delete sync
- lesson write access
Who Runs The Integration
Version one uses a school-managed integration model.
That means your school, IT team, or integration provider is responsible for:
- deciding when lesson data is polled from Octavia
- scheduling and sending student sync requests into Octavia
- managing retries or recovery if a request fails
- running any broader reconciliation process your school wants for extra confidence
Octavia processes the requests it receives, but it does not currently pull student master data from your school system automatically.
Who Can Set It Up
Only admins can manage integration keys.
The Integrations area is available inside:
- School Settings -> Integrations
Your school must also have the School Integrations entitlement enabled on its plan.
API Keys
Admins can create school-scoped API keys inside School Settings -> Integrations.
Current live scopes:
lessons:readstudents:sync
Important key behaviour:
- the raw key is shown once only at creation time
- Octavia stores only a hashed version of the key
- keys are scoped to the current school
- keys can be revoked later
The Two Integration Paths
Lesson Scheduling Export
Use this when your school system needs to read upcoming lesson schedule data from Octavia.
At a high level:
- your school system polls Octavia on a schedule
- Octavia returns one row per lesson participant
- each row can include attendance and lesson context information
Important operational point:
- if your downstream system needs to remove lessons that were later cancelled or deleted in Octavia, it should not rely only on a narrow delta poll
- your school should also run a broader reconciliation process over a wider schedule window
- if your school needs attendance updates closer to real time, your IT team can use a faster same-day polling pattern for a narrow lesson window, while keeping broader schedule syncs less frequent
Student Master Sync
Use this when your school system needs to create or update student master records in Octavia.
At a high level:
- your school system prepares a batch of student records
- your school system sends those records to Octavia
- Octavia creates, updates, or leaves records unchanged depending on what already exists
Important operational point:
- this is a school-managed push into Octavia
- your school or integration provider decides when to send changes and when to run broader reconciliation batches
What Your IT Team Will Need
Your IT team or integration provider will need:
- the correct endpoint URL for your Octavia environment
- a valid API key with the right scope
- a schedule for lesson polling
- a schedule or trigger pattern for student sync pushes
- downstream reconciliation logic if your school needs reliable removal of cancelled or deleted lesson instances
Recommended School Approach
A practical version-one approach is:
- Use the lesson export for regular schedule polling.
- Use the student sync endpoint to send student master updates into Octavia.
- Run both on school-managed schedules.
- Add broader reconciliation runs for confidence, especially for lesson removals and missed updates.
If attendance data needs to flow through more quickly during the school day, your IT team can also add a tighter same-day lesson polling cycle alongside the normal broader schedule sync.
Technical Setup Guide
For endpoint details, request parameters, example requests, response shapes, and implementation guidance for your IT team, use:
Support
If your school is joining the pilot and needs help with setup, key management, or deciding how to run the integration, contact Octavia support.
