Table of contents
TOC
Collapse the table of content
Expand the table of content
Last Updated: 1/24/2017

Schools REST API reference

Applies to: Office 365 Education

This documentation covers features that are currently in preview.

Office 365 Education APIs help extract data from your Office 365 tenant which has been synced to the cloud by Microsoft School Data Sync. These results provide information about schools, sections, teachers, students and rosters. The Schools REST API provides access to school entities in Office 365 for Education tenants.

The API relies on Microsoft Azure Active Directory and OAuth to authenticate application requests.

To access the Schools REST API from your application, you'll need to register it in Azure Active Directory. You also need to manage authentication tokens, as well as construct the correct URL and queries to meet your needs. The examples below can be used to assist in the construction of your queries.

All Schools REST API operations

Schools are represented as Administrative Units in Azure Active Directory. You can get the schools that are available in a tenant and also get the sections, students, and teachers that are part of each school entity.

Get schools | Get sections within a school | Get students within a school | Get teachers within a school

Use the Schools REST API

To interact with the Schools REST API, you send HTTP GET requests.

All Schools REST API requests use the following root URL:

https://graph.windows.net/{tenant_id}/administrativeUnits

{tenant_id} is the unique ID or domain of the Azure Active Directory tenant. You can specify the tenant_id in one of the following ways:

  • The object ID (GUID) of the tenant; for example: https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/.
  • A verified domain name for the the tenant; for example: https://graph.windows.net/contoso.onmicrosoft.com/.
  • The myOrganization alias. This alias resolves to the tenant of the signed-in user (based on the bearer token sent in the request); for example, https://graph.windows.net/myorganization/.

In the below examples, we will use the tenant_id = 95b43ae0-0554-4cc5-8c22-fe219dc31156.

Schools are represented in Azure Active Directory as administrative units. Extension attributes on the administrative units add education-specific information.
For example, the extension_fe2174665583431c953114ff7268b7b3_Education_HighestGrade attribute contains the highest grade level within the school.

Note All requests are required to specify an api-version in the URL query string. The Schools REST API requires version beta. For example: https://graph.windows.net/{tenant_id}/administrativeUnits?api-version=beta.

School Attributes

The description of attributes that help in identifying the information about the School are at: School Attributes


Get schools

You can get all schools, get a single school by its object_id, or get a collection of schools that match a set of query filters.

Get all schools

Get all schools that exist in the Azure Active Directory tenant.

GET https://graph.windows.net/{tenant_id}/administrativeUnits?api-version=beta&$filter=extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType%20eq%20'School'
Required parameterTypeDescription
URL parameters
tenant_idstringThe Azure Active Directory tenant ID, or domain name.

Sample request

GET https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/administrativeUnits?api-version=beta&$filter=extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType%20eq%20‘School’

Sample response

Status code: 200
{
  "odata.metadata": "https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/$metadata#directoryObjects/Microsoft.DirectoryServices.AdministrativeUnit",
  "value": [
    {
      "odata.type": "Microsoft.DirectoryServices.AdministrativeUnit",
      "objectType": "AdministrativeUnit",
      "objectId": "fd1bdc2b-a59c-444e-af75-e250c546410e",
      "deletionTimestamp": null,
      "displayName": "Palo Alto High School",
      "description": null,
      "extension_fe2174665583431c953114ff7268b7b3_Education_SchoolPrincipalEmail": "principal@paloalto.com",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SchoolPrincipalName": "Earle P. Bray",
      "extension_fe2174665583431c953114ff7268b7b3_Education_HighestGrade": "12",
      "extension_fe2174665583431c953114ff7268b7b3_Education_LowestGrade": "9",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SchoolNumber": "425",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_SchoolId": "425",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource": "SIS",
      "extension_fe2174665583431c953114ff7268b7b3_Education_Phone": "(916) 555-1200",
      "extension_fe2174665583431c953114ff7268b7b3_Education_Zip": "94003",
      "extension_fe2174665583431c953114ff7268b7b3_Education_State": "CA",
      "extension_fe2174665583431c953114ff7268b7b3_Education_City": "Palo Alto",
      "extension_fe2174665583431c953114ff7268b7b3_Education_Address": "4220 Richmond Circle",
      "extension_fe2174665583431c953114ff7268b7b3_Education_AnchorId": "School_425",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType": "School"
    }
  ]
}

Response type

A collection of school entities.


Get a school

Get a school by using the object_id.

GET https://graph.windows.net/{tenant_id}/administrativeUnits/{object_id}?api-version=beta
Required parameterTypeDescription
URL parameters
tenant_idstringThe Azure Active Directory tenant ID, or domain name.
object_idstringThe Object ID of the school administrative unit in Azure Active Directory.

Sample request

GET https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/administrativeUnits/fd1bdc2b-a59c-444e-af75-e250c546410e?api-version=1.5

Sample response

Status code: 200
{
  "odata.metadata": "https://graph.windows.net/contososd.com/$metadata#directoryObjects/Microsoft.DirectoryServices.AdministrativeUnit/@Element",
  "odata.type": "Microsoft.DirectoryServices.AdministrativeUnit",
  "objectType": "AdministrativeUnit",
  "objectId": "fd1bdc2b-a59c-444e-af75-e250c546410e",
  "deletionTimestamp": null,
  "displayName": "Palo Alto High School",
  "description": null,
  "extension_fe2174665583431c953114ff7268b7b3_Education_SchoolPrincipalEmail": "principal@paloalto.com",
  "extension_fe2174665583431c953114ff7268b7b3_Education_SchoolPrincipalName": "Earle P. Bray",
  "extension_fe2174665583431c953114ff7268b7b3_Education_HighestGrade": "12",
  "extension_fe2174665583431c953114ff7268b7b3_Education_LowestGrade": "9",
  "extension_fe2174665583431c953114ff7268b7b3_Education_SchoolNumber": "425",
  "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_SchoolId": "425",
  "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource": "SIS",
  "extension_fe2174665583431c953114ff7268b7b3_Education_Phone": "(916) 555-1200",
  "extension_fe2174665583431c953114ff7268b7b3_Education_Zip": "94003",
  "extension_fe2174665583431c953114ff7268b7b3_Education_State": "CA",
  "extension_fe2174665583431c953114ff7268b7b3_Education_City": "Palo Alto",
  "extension_fe2174665583431c953114ff7268b7b3_Education_Address": "4220 Richmond Circle",
  "extension_fe2174665583431c953114ff7268b7b3_Education_AnchorId": "School_425",
  "extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType": "School"
}

Response type

The requested school entity.


Get sections within a school

Sections are represented in Azure Active Directory as Unified Groups. Extension attributes on the unified groups add section specific information. For example, the extension_fe2174665583431c953114ff7268b7b3_Education_CourseName attribute contains the course name for the section.

You can get sections for a specific school by querying for groups based on their school id, using the extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType attribute and the extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_SchoolId attribute together in the query.

GET https://graph.windows.net/{tenant_id}/groups?api-version=1.5
        &$filter=extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType%20eq%20'Section'%20
        and%20extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_SchoolId%20eq%20'{school_id}'
Required parameterTypeDescription
URL parameters
tenant_idstringThe Azure Active Directory tenant ID, or domain name.
school_idstringThe ID of the school in the School Information System (SIS).

Sample request

GET https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/groups?api-version=1.5&$filter=extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType%20eq%20'Section'%20and%20extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_SchoolId%20eq%20'425'

Sample response

Status code: 200
{
  "odata.metadata": "https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/$metadata#directoryObjects/Microsoft.DirectoryServices.Group",
  "value": [
    {
      "odata.type": "Microsoft.DirectoryServices.Group",
      "objectType": "Group",
      "objectId": "d016567a-3d56-4162-aa16-1d938dbd7b8e",
      "deletionTimestamp": null,
      "description": null,
      "dirSyncEnabled": null,
      "displayName": "425_JZ100 Section 20",
      "lastDirSyncTime": null,
      "mail": "Section_1140@consotosd.com",
      "mailNickname": "Section_1140",
      "mailEnabled": true,
      "onPremisesSecurityIdentifier": null,
      "provisioningErrors": [],
      "proxyAddresses": [
        "SMTP:Section_1140@consotosd.com"
      ],
      "securityEnabled": true,
      "extension_fe2174665583431c953114ff7268b7b3_Education_Period": "2",
      "extension_fe2174665583431c953114ff7268b7b3_Education_CourseNumber": "JZ100",
      "extension_fe2174665583431c953114ff7268b7b3_Education_CourseDescription": "JZ100 - JAZZ ENSEMBLE 1",
      "extension_fe2174665583431c953114ff7268b7b3_Education_CourseName": "JAZZ ENSEMBLE 1",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_CourseId": "15057",
      "extension_fe2174665583431c953114ff7268b7b3_Education_TermEndDate": "12/21/2015",
      "extension_fe2174665583431c953114ff7268b7b3_Education_TermStartDate": "8/30/2015",
      "extension_fe2174665583431c953114ff7268b7b3_Education_TermName": "2015 Term 1",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_TermId": "2015",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SectionNumber": "425_JZ100_20",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SectionName": "425_JZ100 Section 20",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_SectionId": "1140",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_SchoolId": "425",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource": "SIS",
      "extension_fe2174665583431c953114ff7268b7b3_Education_AnchorId": "Section_1140",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType": "Section"
    }
  ]
}

Response type

A collection of section entities.


Get students within a school

Students are represented in Azure Active Directory as users. Extension attributes on the users add student specific information. For example, the extension_fe2174665583431c953114ff7268b7b3_Education_Grade attribute contains the student's grade level.

You can get students in a specific school, by getting the members of the school administrative unit and filtering out non-student users from the resulting collection within your application.

Get school members

GET https://graph.windows.net/{tenant_id}/administrativeUnits/{object_id}/members?api-version=beta
Required parameterTypeDescription
URL parameters
tenant_idstringThe Azure Active Directory tenant ID, or domain name.
object_idstringThe Object ID of the school administrative unit in Azure Active Directory.

Sample request

GET https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/administrativeUnits/fd1bdc2b-a59c-444e-af75-e250c546410e/members?api-version=beta

Sample response

Status code: 200
{
  "odata.metadata": "https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/$metadata#directoryObjects",
  "value": [
    {
      "odata.type": "Microsoft.DirectoryServices.User",
      "objectType": "User",
      "objectId": "009d20a0-7c37-4639-aa49-078058f07f35",
      "deletionTimestamp": null,
      "acceptedAs": null,
      "acceptedOn": null,
      "accountEnabled": true,
      "alternativeSecurityIds": [],
      "alternativeSignInNames": [
        "ricardo.sherman@consotosd.com"
      ],
      "appMetadata": null,
      "assignedLicenses": [
        {
          "disabledPlans": [],
          "skuId": "6fd2c87f-b296-42f0-b197-1e91e994b900"
        }
      ],
      "assignedPlans": [
        {
          "assignedTimestamp": "2015-05-22T18:07:41Z",
          "capabilityStatus": "Enabled",
          "service": "exchange",
          "servicePlanId": "efb87545-963c-4e0d-99df-69c6916d9eb0"
        },
        {
          "assignedTimestamp": "2015-05-22T18:07:41Z",
          "capabilityStatus": "Enabled",
          "service": "SharePoint",
          "servicePlanId": "5dbe027f-2339-4123-9542-606e4d348a72"
        },
        {
          "assignedTimestamp": "2015-05-22T18:07:41Z",
          "capabilityStatus": "Enabled",
          "service": "SharePoint",
          "servicePlanId": "e95bec33-7c88-4a70-8e19-b10bd9d0c014"
        },
        {
          "assignedTimestamp": "2015-05-22T18:07:41Z",
          "capabilityStatus": "Enabled",
          "service": "MicrosoftCommunicationsOnline",
          "servicePlanId": "0feaeb32-d00e-4d66-bd5a-43b5b83db82c"
        },
        {
          "assignedTimestamp": "2015-05-22T18:07:41Z",
          "capabilityStatus": "Enabled",
          "service": "MicrosoftOffice",
          "servicePlanId": "43de0ff5-c92c-492b-9116-175376d08c38"
        },
        {
          "assignedTimestamp": "2015-05-22T18:07:41Z",
          "capabilityStatus": "Enabled",
          "service": "RMSOnline",
          "servicePlanId": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90"
        }
      ],
      "city": null,
      "cloudSecurityIdentifier": "S-1-12-4-10297504-1178172471-2147961258-897577048",
      "companyName": null,
      "country": null,
      "creationType": null,
      "department": null,
      "dirSyncEnabled": null,
      "displayName": "Ricardo Sherman",
      "extensionAttribute1": null,
      "extensionAttribute2": null,
      "extensionAttribute3": null,
      "extensionAttribute4": null,
      "extensionAttribute5": null,
      "extensionAttribute6": null,
      "extensionAttribute7": null,
      "extensionAttribute8": null,
      "extensionAttribute9": null,
      "extensionAttribute10": null,
      "extensionAttribute11": null,
      "extensionAttribute12": null,
      "extensionAttribute13": null,
      "extensionAttribute14": null,
      "extensionAttribute15": null,
      "facsimileTelephoneNumber": null,
      "givenName": "Ricardo",
      "hasOnPremisesShadow": null,
      "immutableId": null,
      "invitedOn": null,
      "inviteReplyUrl": [],
      "inviteResources": [],
      "inviteTicket": [],
      "isCompromised": null,
      "jobTitle": null,
      "jrnlProxyAddress": null,
      "lastDirSyncTime": null,
      "logonIdentifiers": [],
      "mail": "ricardo.sherman@consotosd.com",
      "mailNickname": "ricardo.sherman",
      "mobile": null,
      "netId": "1003000090C71481",
      "onPremisesSecurityIdentifier": null,
      "otherMails": [],
      "passwordPolicies": null,
      "passwordProfile": null,
      "physicalDeliveryOfficeName": null,
      "postalCode": null,
      "preferredLanguage": "en-Us",
      "primarySMTPAddress": "ricardo.sherman@consotosd.com",
      "provisionedPlans": [
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "MicrosoftOffice"
        },
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "MicrosoftCommunicationsOnline"
        },
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "Exchange"
        },
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "SharePoint"
        },
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "SharePoint"
        }
      ],
      "provisioningErrors": [],
      "proxyAddresses": [
        "SMTP:ricardo.sherman@consotosd.com"
      ],
      "releaseTrack": null,
      "searchableDeviceKey": [],
      "selfServePasswordResetData": null,
      "sipProxyAddress": "ricardo.sherman@consotosd.com",
      "smtpAddresses": [
        "ricardo.sherman@consotosd.com"
      ],
      "state": null,
      "streetAddress": null,
      "surname": "Sherman",
      "telephoneNumber": null,
      "usageLocation": "US",
      "userPrincipalName": "ricardo.sherman@consotosd.com",
      "userState": null,
      "userStateChangedOn": null,
      "userType": "Member",
      "extension_fe2174665583431c953114ff7268b7b3_Education_Email": "ricardo.sherman@outlook.edu",
      "extension_fe2174665583431c953114ff7268b7b3_Education_StudentStatus": "Active",
      "extension_fe2174665583431c953114ff7268b7b3_Education_GraduationYear": "2019",
      "extension_fe2174665583431c953114ff7268b7b3_Education_Grade": "9",
      "extension_fe2174665583431c953114ff7268b7b3_Education_DateOfBirth": "7/8/1999",
      "extension_fe2174665583431c953114ff7268b7b3_Education_Gender": "M",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ResidenceCountry": "USA",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ResidenceZip": "60559",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ResidenceState": "IL",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ResidenceCity": "Westmont",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ResidenceAddress": "908 Cypress Court",
      "extension_fe2174665583431c953114ff7268b7b3_Education_MailingCountry": "USA",
      "extension_fe2174665583431c953114ff7268b7b3_Education_MailingZip": "60559",
      "extension_fe2174665583431c953114ff7268b7b3_Education_MailingState": "IL",
      "extension_fe2174665583431c953114ff7268b7b3_Education_MailingCity": "Westmont",
      "extension_fe2174665583431c953114ff7268b7b3_Education_MailingAddress": "908 Cypress Court",
      "extension_fe2174665583431c953114ff7268b7b3_Education_MiddleName": "D",
      "extension_fe2174665583431c953114ff7268b7b3_Education_StudentNumber": "3420",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_StudentId": "3420",
      "extension_fe2174665583431c953114ff7268b7b3_Education_AnchorId": "Student_3420",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType": "Student"
    }
  ]
}

Response type

A collection of users.

Find students

A collection of users might contain students, teachers, and non-education users (for example, administrative staff). You can filter the collection down to students within your application. Look for the Education_ObjectType extension attribute to equal Student.

extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType == 'Student'

Get teachers within a school

Teachers are represented in Azure Active Directory as users. Extension attributes on the users add teacher specific information. For example, the extension_fe2174665583431c953114ff7268b7b3_Education_TeacherNumber attribute contains the teacher's teacher number.

You can get teachers in a specific school by getting the members of the school administrative unit and filtering out non-teacher users from the resulting collection within your application.

Get school members

GET https://graph.windows.net/{tenant_id}/administrativeUnits/{object_id}/members?api-version=beta
Required parameterTypeDescription
URL parameters
tenant_idstringThe Azure Active Directory tenant ID, or domain name.
object_idstringThe Object ID of the school administrative unit in Azure Active Directory.

Sample request

GET https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/administrativeUnits/fd1bdc2b-a59c-444e-af75-e250c546410e/members?api-version=beta

Sample response

Status code: 200
{
  "odata.metadata": "https://graph.windows.net/95b43ae0-0554-4cc5-8c22-fe219dc31156/$metadata#directoryObjects",
  "value": [
    {
      "odata.type": "Microsoft.DirectoryServices.User",
      "objectType": "User",
      "objectId": "02bbd248-044f-433b-bc41-1f0ffe01b912",
      "deletionTimestamp": null,
      "acceptedAs": null,
      "acceptedOn": null,
      "accountEnabled": true,
      "alternativeSecurityIds": [],
      "alternativeSignInNames": [
        "peter.cranmer@contososd.com"
      ],
      "appMetadata": null,
      "assignedLicenses": [
        {
          "disabledPlans": [],
          "skuId": "6fd2c87f-b296-42f0-b197-1e91e994b900"
        }
      ],
      "assignedPlans": [
        {
          "assignedTimestamp": "2015-05-22T18:10:16Z",
          "capabilityStatus": "Enabled",
          "service": "exchange",
          "servicePlanId": "efb87545-963c-4e0d-99df-69c6916d9eb0"
        },
        {
          "assignedTimestamp": "2015-05-22T18:10:16Z",
          "capabilityStatus": "Enabled",
          "service": "SharePoint",
          "servicePlanId": "5dbe027f-2339-4123-9542-606e4d348a72"
        },
        {
          "assignedTimestamp": "2015-05-22T18:10:16Z",
          "capabilityStatus": "Enabled",
          "service": "SharePoint",
          "servicePlanId": "e95bec33-7c88-4a70-8e19-b10bd9d0c014"
        },
        {
          "assignedTimestamp": "2015-05-22T18:10:16Z",
          "capabilityStatus": "Enabled",
          "service": "MicrosoftCommunicationsOnline",
          "servicePlanId": "0feaeb32-d00e-4d66-bd5a-43b5b83db82c"
        },
        {
          "assignedTimestamp": "2015-05-22T18:10:16Z",
          "capabilityStatus": "Enabled",
          "service": "MicrosoftOffice",
          "servicePlanId": "43de0ff5-c92c-492b-9116-175376d08c38"
        },
        {
          "assignedTimestamp": "2015-05-22T18:10:16Z",
          "capabilityStatus": "Enabled",
          "service": "RMSOnline",
          "servicePlanId": "bea4c11e-220a-4e6d-8eb8-8ea15d019f90"
        }
      ],
      "city": null,
      "cloudSecurityIdentifier": "S-1-12-4-45863496-1127941199-253706684-314114558",
      "companyName": null,
      "country": null,
      "creationType": null,
      "department": null,
      "dirSyncEnabled": null,
      "displayName": "Peter Cranmer",
      "extensionAttribute1": null,
      "extensionAttribute2": null,
      "extensionAttribute3": null,
      "extensionAttribute4": null,
      "extensionAttribute5": null,
      "extensionAttribute6": null,
      "extensionAttribute7": null,
      "extensionAttribute8": null,
      "extensionAttribute9": null,
      "extensionAttribute10": null,
      "extensionAttribute11": null,
      "extensionAttribute12": null,
      "extensionAttribute13": null,
      "extensionAttribute14": null,
      "extensionAttribute15": null,
      "facsimileTelephoneNumber": null,
      "givenName": "Peter",
      "hasOnPremisesShadow": null,
      "immutableId": null,
      "invitedOn": null,
      "inviteReplyUrl": [],
      "inviteResources": [],
      "inviteTicket": [],
      "isCompromised": null,
      "jobTitle": null,
      "jrnlProxyAddress": null,
      "lastDirSyncTime": null,
      "logonIdentifiers": [],
      "mail": "peter.cranmer@contososd.com",
      "mailNickname": "peter.cranmer",
      "mobile": null,
      "netId": "10033FFF90C125B2",
      "onPremisesSecurityIdentifier": null,
      "otherMails": [],
      "passwordPolicies": null,
      "passwordProfile": null,
      "physicalDeliveryOfficeName": null,
      "postalCode": null,
      "preferredLanguage": "en-Us",
      "primarySMTPAddress": "peter.cranmer@contososd.com",
      "provisionedPlans": [
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "MicrosoftCommunicationsOnline"
        },
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "MicrosoftOffice"
        },
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "Exchange"
        },
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "SharePoint"
        },
        {
          "capabilityStatus": "Enabled",
          "provisioningStatus": "Success",
          "service": "SharePoint"
        }
      ],
      "provisioningErrors": [],
      "proxyAddresses": [
        "SMTP:peter.cranmer@contososd.com"
      ],
      "releaseTrack": null,
      "searchableDeviceKey": [],
      "selfServePasswordResetData": null,
      "sipProxyAddress": "peter.cranmer@contososd.com",
      "smtpAddresses": [
        "peter.cranmer@contososd.com"
      ],
      "state": null,
      "streetAddress": null,
      "surname": "Cranmer",
      "telephoneNumber": null,
      "usageLocation": "US",
      "userPrincipalName": "peter.cranmer@contososd.com",
      "userState": null,
      "userStateChangedOn": null,
      "userType": "Member",
      "extension_fe2174665583431c953114ff7268b7b3_Education_Email": "peter.cranmer@oulook.edu",
      "extension_fe2174665583431c953114ff7268b7b3_Education_TeacherStatus": "Active",
      "extension_fe2174665583431c953114ff7268b7b3_Education_TeacherNumber": "8071",
      "extension_fe2174665583431c953114ff7268b7b3_Education_SyncSource_TeacherId": "8071",
      "extension_fe2174665583431c953114ff7268b7b3_Education_AnchorId": "Teacher_8071",
      "extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType": "Teacher"
    }
  ]
}

Response type

A collection of users.

Find teachers

A collection of users might contain students, teachers, and non-education users (for example, administrative staff). You can filter the collection down to teachers within your application. Look for the Education_ObjectType extension attribute to equal Teacher.

extension_fe2174665583431c953114ff7268b7b3_Education_ObjectType == 'Teacher'

Next steps

Some of the other Education related resources that you might be interested in

Whether you're ready to start building an app or just want to learn more, we've got you covered.

Or, learn more about using the Office 365 platform:

© 2017 Microsoft