by Ryan Tannenbaum

APIs or Application Programming Interfaces are central to how the internet works. Every time we search, submit a form or enter student grades, we are using an API. It is a way for a user to send information to servers that then organize that information and give back a response.

ManageBac offers us a convenient API that can, with some creativity transform ManageBac from a powerful curriculum and learning management system, into the central source for a school’s digital infrastructure.

In this post, I introduce how we have utilized the ManageBac API at the Overseas Chinese Academy of Chiway, Suzhou to automate educational administration, gain better administrative oversight of our curriculum and program, perform learning and engagement analytics, and integrate platforms.

Our goals at OCAC:

As a K-12 school in China, our students, teachers, and staff have an array of diverse needs. One of the few things bringing the divisions and departments together is the consistent use of ManageBac. Our main goals in working with the API were to:

  1. Make sure that ManageBac was up to date with the latest admissions information
  2. Push data from ManageBac to other systems and platforms
  3. Track usage on the ManageBac platform

To begin using the ManageBac API effectively, we needed a local database to compare data. This local database offers us a point of contrast, we can see if any changes have taken place on ManageBac and then push those changes to other platforms we are using.

This is a foundation, but it does not make the data visible or actionable. For this, we setup a Learning Record Store (Learning Locker) that utilizes the xAPI format.

What it looks like:

Educational Data tracking:

Identifying correlations between Assessments on ManageBac and standardized testing

One of the best ways to see our systems at work is to look at our learning record store. This system takes data from our server which is converted into the xAPI format, from here, I create dashboards tailored to the needs of various stakeholders. Currently, we report enrollment and withdrawals, class creation/deletion, assignment creation, student performance and attendance. We also pull data from Moodle and our house system.

  • Admin dashboard: This shows new enrollments and class creations, as well as withdrawals, archived classes and students, and deletions (critical to catch early)
  • Divisional dashboards: These focus on looking at both academic and pastoral concerns:
    • Checking for vertical and horizontal continuity in assessments between classes (how frequently teachers assess students)
    • Identifying consistency of grading and looking for inconsistencies between teachers and classes
    • Frequency of assessments, as well as assessment category/criteria types
    • Correlations between behaviour and performance
    • Ensuring teachers are meeting assessment targets
    • Tracking report completion
  • Student support dashboards: These show live data on student performance across subjects, and can demonstrate performance over intervals
    • Charting gains over months in a semester, or between different semesters/academic years)
    • Flagging at risk students due to:
      • behaviour reprimands
      • weak attendance records
      • missing assignments
      • failing grades

Integration with other systems:


Our school uses an internally developed admissions system within which all new students must be enrolled. As a large international school we have enrollments and withdrawals throughout the year. To simplify the process, we have worked to automate account creation and withdrawal in ManageBac.

Each Monday, the system

  • checks for new enrollments
    • identifies any new students and creates them in ManageBac
    • Enrolls them in the correct homerooms and classes
    • Checks if parents have accounts
      • If so, it links those accounts to the new student
      • If not, it creates the parent accounts
    • Uses Mailgun to notify divisional and teaching staff
  • checks for student withdrawals from our program
    • Withdraws the students from ManageBac
    • Notifies relevant staff with Mailgun

House System:

UnnamedAwarding points based on the Learner Profiles in the House system

House systems are notoriously tricky to run if teachers dole out points throughout the day. Someone needs to add them up, keep a record of which teams are getting points and how well students are doing.

At OCAC, with over 2000 students, the logistics are nearly impossible. To address this need, I built a MERN-stack web-application that is populated via the ManageBac API.

By using the ManageBac API as our data reference, we can ensure that all students are added to the house system as soon as they are enrolled in the school, and that teachers can find them easily.

Furthermore, when teachers login, they can easily find all their classes from ManageBac and connect with the students in those classes.

… and beyond

While harnessing the ManageBac API is a powerful way to automate systems and use data to empower teaching and learning, it does not offer the full functionality available in the web platform.

At OCAC we ran into this challenge when we were looking to integrate our SchoolsBuddy transportation module with ManageBac homeroom attendance. To solve this, I set up a bot built with the Cheerio and Axios NodeJS modules. It’s functionality is quite simple:

  1. Login to SchoolsBuddy
  2. Fetch the bus attendance each day from SchoolsBuddy
  3. Login to ManageBac
  4. Update the homeroom attendance accordingly
  5. Report absences to divisions and operations with Mailgun

This gives us a single, authoritative source (ManageBac) for all attendance reporting in the school.

Where we stand

Harnessing the ManageBac API has allowed OCAC to empower its digital infrastructure to meet the specific routines, needs and interests of the school and its stakeholders. Platforms should not stand in a vacuum. By understanding how and what data they own, schools can build ecosystems that serve their specific and unique needs. By harnessing that data, schools can get a deeper insight into their program and help better develop their curriculum, support their teachers and empower their students.


The Author
Ryan TannenbaumRyan has worked in education for over a decade, in both teaching and administrative roles. Throughout that time, he has combined bespoke development with open-source technology to create powerful learning platforms for students. He currently works as the Director of ICT at the Overseas Chinese Academy of Chiway, Suzhou and will start his own educational technology consultancy firm later this year.

The School
OCAC is a K-12 school in Suzhou, China. Although only 4 years old, it has rapidly grown to over 1800 students and 150 teaching faculty. It is a pioneering school that aims to establish a new paradigm for Chinese International education.