<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "RosterAPI",
  "identifier" : "/documentation/RosterAPI",
  "metadataVersion" : "0.1.0",
  "role" : "Web Service",
  "symbol" : {
    "kind" : "Web Service",
    "modules" : [
      "Roster API"
    ],
    "preciseIdentifier" : "RosterAPI"
  },
  "title" : "Roster API"
}
-->

# Roster API

Read information about people and classes from an Apple School Manager organization.

## Overview

Roster API provides access to people and class information in Apple School Manager (ASM). Use this REST API if you need to support a workflow within your app to automatically create student or teacher records in advance of the first day of school. A typical use case is when your app requires teachers to input assignments and due dates for students in each class.

Accessing the user and class information requires authorization from an administrator of the ASM organization. When you begin the Roster API authorization flow, use the scopes defined below to request the appropriate level of access:

- `edu.users.read`: Request read access to ASM users
- `edu.classes.read`: Request read access to ASM classes

At the end of the authorization flow, use the access token you receive to access the Roster API endpoints, which you use to fetch people and class information. For more information on requesting an access token, see <doc://com.apple.documentation/documentation/SigninwithAppleRESTAPI/Generate-and-validate-tokens>.

Include the access token you receive in the Authorization header for every request. The Roster API associates the access token with an ASM organization. The endpoints return user and class information contained within that ASM organization. The unique account identifier from Sign in with Apple at Work & School is the same identifier provided in the Roster API user information. You may use this identifier to associate user information from the Roster API with a user signing in to your app.

## Topics

### Essentials

[Obtaining information about people and classes](/documentation/RosterAPI/obtaining-information-about-people-and-classes)

Prepare your app to request organizational information from a server.

[Validating with the Roster API test scope](/documentation/RosterAPI/validating-with-the-roster-api-test-scope)

Use test data to ensure your integration with the Roster API works correctly.

### Authentication

[Integrating with Roster API and Sign in with Apple](/documentation/RosterAPI/integrating-with-roster-api-and-sign-in-with-apple)

Associate someone’s Managed Apple Account with their identity in Apple School Manager.

### Information about users

[`Read a user`](/documentation/RosterAPI/returns-a-specific-user-in-an-Apple-School-Manager-organization)

Read a user in an Apple School Manager organization.

[`User`](/documentation/RosterAPI/User)

A user in an Apple School Manager organization.

[`RoleLocation`](/documentation/RosterAPI/RoleLocation)

A mapping between a role assumed by a user in an Apple School Manager organization, and the corresponding location.

[`List users`](/documentation/RosterAPI/returns-a-list-of-users-in-an-Apple-School-Manager-organization)

List users in an Apple School Manager organization.

[`List users in a class`](/documentation/RosterAPI/returns-a-users-for-an-Apple-School-Manager-class)

List users in a class of an Apple School Manager organization.

[`Users`](/documentation/RosterAPI/Users)

A list of users, with a token for pagination.

### Information about classes

[`Read a class`](/documentation/RosterAPI/returns-a-specific-class-in-an-Apple-School-Manager-organization.)

Read a class from an Apple School Manager organization.

[`Class`](/documentation/RosterAPI/Class)

A class in an Apple School Manager organization.

[`List classes`](/documentation/RosterAPI/returns-a-list-of-classes-for-an-Apple-School-Manager-organization)

List classes in an Apple School Manager organization.

[`Classes`](/documentation/RosterAPI/Classes)

A list of classes, with a token for pagination.

### Information about locations

[`Read a location`](/documentation/RosterAPI/returns-a-specific-location-in-an-Apple-School-Manager-organization)

Returns a specific location in an Apple School Manager organization.

[`Location`](/documentation/RosterAPI/Location)

A location in an Apple School Manager organization.

[`List locations`](/documentation/RosterAPI/returns-a-list-of-locations-for-an-Apple-School-Manager-organization)

Returns a list of locations in an Apple School Manager organization.

[`Locations`](/documentation/RosterAPI/Locations)

A list of locations, with a token for pagination.

### Information about the organization

[`Read the organization`](/documentation/RosterAPI/returns-organization-infrmation)

Returns information about the Apple School Manager organization.

[`Organization`](/documentation/RosterAPI/Organization)

Information about an Apple School Manager organization.

[`Domain`](/documentation/RosterAPI/Domain)

A DNS domain name associated with an Apple School Manager organization.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)