Microsoft Graph · Schema

microsoft.graph.educationUser

Microsoft GraphAzure ADCollaborationContactsDocumentsEmailGraphIdentityMicrosoftOffice 365PresentationsProductivitySpreadsheetsT1Task

Properties

Name Type Description
accountEnabled boolean True if the account is enabled; otherwise, false. This property is required when a user is created. Supports $filter.
assignedLicenses array The licenses that are assigned to the user. Not nullable.
assignedPlans array The plans that are assigned to the user. Read-only. Not nullable.
businessPhones array The telephone numbers for the user. Note: Although this is a string collection, only one number can be set for this property.
createdBy object The entity who created the user.
department string The name for the department in which the user works. Supports $filter.
displayName string The name displayed in the address book for the user. This is usually the combination of the user's first name, middle initial, and last name. This property is required when a user is created and it ca
externalSource object Where this user was created from. The possible values are: sis, manual.
externalSourceDetail string The name of the external source this resource was generated from.
givenName string The given name (first name) of the user. Supports $filter.
mail string The SMTP address for the user, for example, jeff@contoso.com. Read-Only. Supports $filter.
mailingAddress object The mail address of the user.
mailNickname string The mail alias for the user. This property must be specified when a user is created. Supports $filter.
middleName string The middle name of the user.
mobilePhone string The primary cellular telephone number for the user.
officeLocation string The office location for the user.
onPremisesInfo object Additional information used to associate the Microsoft Entra user with its Active Directory counterpart.
passwordPolicies string Specifies password policies for the user. This value is an enumeration with one possible value being DisableStrongPassword, which allows weaker passwords than the default policy to be specified. Disab
passwordProfile object Specifies the password profile for the user. The profile contains the user's password. This property is required when a user is created. The password in the profile must satisfy minimum requirements a
preferredLanguage string The preferred language for the user that should follow the ISO 639-1 code, for example, en-US.
primaryRole object
provisionedPlans array The plans that are provisioned for the user. Read-only. Not nullable.
refreshTokensValidFromDateTime string Any refresh tokens or sessions tokens (session cookies) issued before this time are invalid, and applications get an error when using an invalid refresh or sessions token to acquire a delegated access
relatedContacts array Related records associated with the user. Read-only.
residenceAddress object The address where the user lives.
showInAddressList boolean True if the Outlook Global Address List should contain this user; otherwise, false. If not set, this will be treated as true. For users invited through the invitation manager, this property will be se
student object If the primary role is student, this block will contain student specific data.
surname string The user's surname (family name or last name). Supports $filter.
teacher object If the primary role is teacher, this block will contain teacher specific data.
usageLocation string A two-letter country code (ISO standard 3166). Required for users who will be assigned licenses due to a legal requirement to check for availability of services in countries or regions. Examples inclu
userPrincipalName string The user principal name (UPN) of the user. The UPN is an internet-style login name for the user based on the internet standard RFC 822. By convention, this should map to the user's email name. The gen
userType string A string value that can be used to classify user types in your directory, such as Member and Guest. Supports $filter.
assignments array Assignments belonging to the user.
classes array Classes to which the user belongs. Nullable.
rubrics array When set, the grading rubric attached to the assignment.
schools array Schools to which the user belongs. Nullable.
taughtClasses array Classes for which the user is a teacher.
user object The directory user that corresponds to this user.
@odata.type string
View JSON Schema on GitHub

JSON Schema

microsoft-graph-microsoftgrapheducationuser-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/microsoft.graph.educationUser",
  "title": "microsoft.graph.educationUser",
  "allOf": [
    {
      "$ref": "#/components/schemas/microsoft.graph.entity"
    },
    {
      "title": "educationUser",
      "required": [
        "@odata.type"
      ],
      "type": "object",
      "properties": {
        "accountEnabled": {
          "type": "boolean",
          "description": "True if the account is enabled; otherwise, false. This property is required when a user is created. Supports $filter.",
          "nullable": true
        },
        "assignedLicenses": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.assignedLicense"
          },
          "description": "The licenses that are assigned to the user. Not nullable."
        },
        "assignedPlans": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.assignedPlan"
          },
          "description": "The plans that are assigned to the user. Read-only. Not nullable."
        },
        "businessPhones": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The telephone numbers for the user. Note: Although this is a string collection, only one number can be set for this property."
        },
        "createdBy": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.identitySet"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "The entity who created the user."
        },
        "department": {
          "type": "string",
          "description": "The name for the department in which the user works. Supports $filter.",
          "nullable": true
        },
        "displayName": {
          "type": "string",
          "description": "The name displayed in the address book for the user. This is usually the combination of the user's first name, middle initial, and last name. This property is required when a user is created and it cannot be cleared during updates. Supports $filter and $orderby.",
          "nullable": true
        },
        "externalSource": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.educationExternalSource"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "Where this user was created from. The possible values are: sis, manual."
        },
        "externalSourceDetail": {
          "type": "string",
          "description": "The name of the external source this resource was generated from.",
          "nullable": true
        },
        "givenName": {
          "type": "string",
          "description": "The given name (first name) of the user. Supports $filter.",
          "nullable": true
        },
        "mail": {
          "type": "string",
          "description": "The SMTP address for the user, for example, jeff@contoso.com. Read-Only. Supports $filter.",
          "nullable": true
        },
        "mailingAddress": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.physicalAddress"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "The mail address of the user."
        },
        "mailNickname": {
          "type": "string",
          "description": "The mail alias for the user. This property must be specified when a user is created. Supports $filter.",
          "nullable": true
        },
        "middleName": {
          "type": "string",
          "description": "The middle name of the user.",
          "nullable": true
        },
        "mobilePhone": {
          "type": "string",
          "description": "The primary cellular telephone number for the user.",
          "nullable": true
        },
        "officeLocation": {
          "type": "string",
          "description": "The office location for the user.",
          "nullable": true
        },
        "onPremisesInfo": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.educationOnPremisesInfo"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "Additional information used to associate the Microsoft Entra user with its Active Directory counterpart."
        },
        "passwordPolicies": {
          "type": "string",
          "description": "Specifies password policies for the user. This value is an enumeration with one possible value being DisableStrongPassword, which allows weaker passwords than the default policy to be specified. DisablePasswordExpiration can also be specified. The two can be specified together; for example: DisablePasswordExpiration, DisableStrongPassword.",
          "nullable": true
        },
        "passwordProfile": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.passwordProfile"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "Specifies the password profile for the user. The profile contains the user's password. This property is required when a user is created. The password in the profile must satisfy minimum requirements as specified by the passwordPolicies property. By default, a strong password is required."
        },
        "preferredLanguage": {
          "type": "string",
          "description": "The preferred language for the user that should follow the ISO 639-1 code, for example, en-US.",
          "nullable": true
        },
        "primaryRole": {
          "$ref": "#/components/schemas/microsoft.graph.educationUserRole"
        },
        "provisionedPlans": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.provisionedPlan"
          },
          "description": "The plans that are provisioned for the user. Read-only. Not nullable."
        },
        "refreshTokensValidFromDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": "string",
          "description": "Any refresh tokens or sessions tokens (session cookies) issued before this time are invalid, and applications get an error when using an invalid refresh or sessions token to acquire a delegated access token (to access APIs such as Microsoft Graph).  If this happens, the application needs to acquire a new refresh token by requesting the authorized endpoint. Returned only on $select. Read-only.",
          "format": "date-time",
          "nullable": true
        },
        "relatedContacts": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.relatedContact"
          },
          "description": "Related records associated with the user. Read-only."
        },
        "residenceAddress": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.physicalAddress"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "The address where the user lives."
        },
        "showInAddressList": {
          "type": "boolean",
          "description": "True if the Outlook Global Address List should contain this user; otherwise, false. If not set, this will be treated as true. For users invited through the invitation manager, this property will be set to false.",
          "nullable": true
        },
        "student": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.educationStudent"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "If the primary role is student, this block will contain student specific data."
        },
        "surname": {
          "type": "string",
          "description": "The user's surname (family name or last name). Supports $filter.",
          "nullable": true
        },
        "teacher": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.educationTeacher"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "If the primary role is teacher, this block will contain teacher specific data."
        },
        "usageLocation": {
          "type": "string",
          "description": "A two-letter country code (ISO standard 3166). Required for users who will be assigned licenses due to a legal requirement to check for availability of services in countries or regions. Examples include: US, JP, and GB. Not nullable. Supports $filter.",
          "nullable": true
        },
        "userPrincipalName": {
          "type": "string",
          "description": "The user principal name (UPN) of the user. The UPN is an internet-style login name for the user based on the internet standard RFC 822. By convention, this should map to the user's email name. The general format is alias@domain, where domain must be present in the tenant's collection of verified domains. This property is required when a user is created. The verified domains for the tenant can be accessed from the verifiedDomains property of the organization. Supports $filter and $orderby.",
          "nullable": true
        },
        "userType": {
          "type": "string",
          "description": "A string value that can be used to classify user types in your directory, such as Member and Guest. Supports $filter.",
          "nullable": true
        },
        "assignments": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.educationAssignment"
          },
          "description": "Assignments belonging to the user.",
          "x-ms-navigationProperty": true
        },
        "classes": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.educationClass"
          },
          "description": "Classes to which the user belongs. Nullable.",
          "x-ms-navigationProperty": true
        },
        "rubrics": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.educationRubric"
          },
          "description": "When set, the grading rubric attached to the assignment.",
          "x-ms-navigationProperty": true
        },
        "schools": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.educationSchool"
          },
          "description": "Schools to which the user belongs. Nullable.",
          "x-ms-navigationProperty": true
        },
        "taughtClasses": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/microsoft.graph.educationClass"
          },
          "description": "Classes for which the user is a teacher.",
          "x-ms-navigationProperty": true
        },
        "user": {
          "anyOf": [
            {
              "$ref": "#/components/schemas/microsoft.graph.user"
            },
            {
              "type": "object",
              "nullable": true
            }
          ],
          "description": "The directory user that corresponds to this user.",
          "x-ms-navigationProperty": true
        },
        "@odata.type": {
          "type": "string"
        }
      }
    }
  ],
  "x-ms-discriminator-value": "#microsoft.graph.educationUser"
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/microsoft-graph-microsoftgrapheducationuser"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.