Education API overview

The education API in Microsoft Graph enhances Microsoft 365 resources with information that is relevant for education scenarios, including information about schools, classes, users (students and teachers), assignments, and submissions. This makes it easy for you to build solutions that integrate with educational resources for various school and classroom scenarios.

Why integrate with education scenarios?

Build applications that are aware of class roster

Most education software developers learn early on that class roster is one of the key pieces of information they need to run their application, and it's typically locked away inside a school Student Information System (SIS). Any time teachers bring a new application into their classroom, they spend time manually importing roster data into the app. Many independent software vendors (ISVs) address this by connecting with a SIS to import roster data. With hundreds of Student Information Systems with proprietary formats, this can become a challenge.

Microsoft School Data Sync, combined with roster APIs, addresses this challenge for application developers and schools. The following are some of the scenarios that the roster APIs enable:

Use Microsoft Teams to create class assignments in an assignments tab

You can use the assignment-related education APIs to integrate with assignments in Microsoft Teams. Microsoft Teams in Microsoft 365 for Education is based on the same education APIs, and provides a use case for what you can do with the APIs. Your app can use these APIs to interact with assignments throughout the assignment lifecycle.

The assignment APIs provide the following key resources:

  • educationAssignment: The core object of the assignments API. Represents a task or unit of work assigned to a student or team member in a class as part of their study.
  • educationSubmission: Represents the resources that an individual (or group) submits for an assignment and the associated grade and feedback for that assignment.
  • educationResource: Represents the learning object that is being assigned or submitted. An educationResource is associated with an educationAssignment and/or an educationSubmission.

With the assignment API, your app can interact with the assignment service outside of Microsoft Teams. Microsoft Teams will handle distribution, due dates, and grading while your system can provide a rich learning experience to students.

The following are examples of a few scenarios enabled by the assignments API:

Enable school admins to manage identity and roster sync using School Data Sync Management (preview)

School Data Sync helps to automate the process of importing and synchronizing student identity and roster data from student information systems with Microsoft Entra ID and Microsoft 365. When the information is synchronized, you can use the roster APIs to read the roster information into the applications.

If you're a system integrator setting up integration of a school's Student Information System with School Data Sync, you can use the SDS management APIs in Microsoft Graph to set up synchronization from either a CSV file or a supported SIS API connector.

School Data Sync management APIs support end-to-end scenarios for managing sync; for example:

API reference

Looking for the API reference for this service?

To start using the education APIs, see:

Explore the following education-related samples: