Namespace: microsoft.graph
Create a new educationClass object.
Note
This will also create a universal group. When you use this API to create a class, it will add special properties to the group, which will add features such as assignments and special handling within Microsoft Teams when teams are created using the group. Please note that this API only creates the universal group and does not create a team. Microsoft Teams provides a user interface for teachers to create teams for their own classes using the groups created by this API.
This API is available in the following national cloud deployments.
Global service |
US Government L4 |
US Government L5 (DOD) |
China operated by 21Vianet |
✅ |
❌ |
❌ |
❌ |
Permissions
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
Permission type |
Least privileged permissions |
Higher privileged permissions |
Delegated (work or school account) |
Not supported. |
Not supported. |
Delegated (personal Microsoft account) |
Not supported. |
Not supported. |
Application |
EduRoster.ReadWrite.All |
Not available. |
HTTP request
POST /education/classes
Request body
In the request body, supply a JSON representation of the educationClass object.
The following table lists the properties that are required when you create the educationClass.
Property |
Type |
Description |
id |
String |
Object identifier. Inherited from entity |
displayName |
String |
Name of the class. |
mailNickname |
String |
Mail name for sending email to all members, if this is enabled. |
description |
String |
Description of the class. |
createdBy |
identitySet |
Entity who created the class |
classCode |
String |
Class code used by the school to identify the class. |
externalName |
String |
Name of the class in the syncing system. |
externalId |
String |
ID of the class from the syncing system. |
externalSource |
educationExternalSource |
How this class was created. Possible values are: sis , manual |
externalSourceDetail |
String |
The name of the external source this resources was generated from. |
grade |
String |
Grade level of the class. |
term |
educationTerm |
Term for this class. |
Response
If successful, this method returns a 201 Created
response code and an educationClass object in the response body.
Examples
Request
POST https://graph.microsoft.com/v1.0/education/classes
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.educationClass",
"displayName": "String",
"mailNickname": "String",
"description": "String",
"createdBy": {
"@odata.type": "microsoft.graph.identitySet"
},
"classCode": "String",
"externalName": "String",
"externalId": "String",
"externalSource": "String",
"externalSourceDetail": "String",
"grade": "String",
"term": {
"@odata.type": "microsoft.graph.educationTerm"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new EducationClass
{
OdataType = "#microsoft.graph.educationClass",
DisplayName = "String",
MailNickname = "String",
Description = "String",
CreatedBy = new IdentitySet
{
OdataType = "microsoft.graph.identitySet",
},
ClassCode = "String",
ExternalName = "String",
ExternalId = "String",
ExternalSource = EducationExternalSource.Sis,
ExternalSourceDetail = "String",
Grade = "String",
Term = new EducationTerm
{
OdataType = "microsoft.graph.educationTerm",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Education.Classes.PostAsync(requestBody);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
mgc education classes create --body '{\
"@odata.type": "#microsoft.graph.educationClass",\
"displayName": "String",\
"mailNickname": "String",\
"description": "String",\
"createdBy": {\
"@odata.type": "microsoft.graph.identitySet"\
},\
"classCode": "String",\
"externalName": "String",\
"externalId": "String",\
"externalSource": "String",\
"externalSourceDetail": "String",\
"grade": "String",\
"term": {\
"@odata.type": "microsoft.graph.educationTerm"\
}\
}\
'
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewEducationClass()
displayName := "String"
requestBody.SetDisplayName(&displayName)
mailNickname := "String"
requestBody.SetMailNickname(&mailNickname)
description := "String"
requestBody.SetDescription(&description)
createdBy := graphmodels.NewIdentitySet()
requestBody.SetCreatedBy(createdBy)
classCode := "String"
requestBody.SetClassCode(&classCode)
externalName := "String"
requestBody.SetExternalName(&externalName)
externalId := "String"
requestBody.SetExternalId(&externalId)
externalSource := graphmodels.STRING_EDUCATIONEXTERNALSOURCE
requestBody.SetExternalSource(&externalSource)
externalSourceDetail := "String"
requestBody.SetExternalSourceDetail(&externalSourceDetail)
grade := "String"
requestBody.SetGrade(&grade)
term := graphmodels.NewEducationTerm()
requestBody.SetTerm(term)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
classes, err := graphClient.Education().Classes().Post(context.Background(), requestBody, nil)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
EducationClass educationClass = new EducationClass();
educationClass.setOdataType("#microsoft.graph.educationClass");
educationClass.setDisplayName("String");
educationClass.setMailNickname("String");
educationClass.setDescription("String");
IdentitySet createdBy = new IdentitySet();
createdBy.setOdataType("microsoft.graph.identitySet");
educationClass.setCreatedBy(createdBy);
educationClass.setClassCode("String");
educationClass.setExternalName("String");
educationClass.setExternalId("String");
educationClass.setExternalSource(EducationExternalSource.Sis);
educationClass.setExternalSourceDetail("String");
educationClass.setGrade("String");
EducationTerm term = new EducationTerm();
term.setOdataType("microsoft.graph.educationTerm");
educationClass.setTerm(term);
EducationClass result = graphClient.education().classes().post(educationClass);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
const options = {
authProvider,
};
const client = Client.init(options);
const educationClass = {
'@odata.type': '#microsoft.graph.educationClass',
displayName: 'String',
mailNickname: 'String',
description: 'String',
createdBy: {
'@odata.type': 'microsoft.graph.identitySet'
},
classCode: 'String',
externalName: 'String',
externalId: 'String',
externalSource: 'String',
externalSourceDetail: 'String',
grade: 'String',
term: {
'@odata.type': 'microsoft.graph.educationTerm'
}
};
await client.api('/education/classes')
.post(educationClass);
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\EducationClass;
use Microsoft\Graph\Generated\Models\IdentitySet;
use Microsoft\Graph\Generated\Models\EducationExternalSource;
use Microsoft\Graph\Generated\Models\EducationTerm;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new EducationClass();
$requestBody->setOdataType('#microsoft.graph.educationClass');
$requestBody->setDisplayName('String');
$requestBody->setMailNickname('String');
$requestBody->setDescription('String');
$createdBy = new IdentitySet();
$createdBy->setOdataType('microsoft.graph.identitySet');
$requestBody->setCreatedBy($createdBy);
$requestBody->setClassCode('String');
$requestBody->setExternalName('String');
$requestBody->setExternalId('String');
$requestBody->setExternalSource(new EducationExternalSource('string'));
$requestBody->setExternalSourceDetail('String');
$requestBody->setGrade('String');
$term = new EducationTerm();
$term->setOdataType('microsoft.graph.educationTerm');
$requestBody->setTerm($term);
$result = $graphServiceClient->education()->classes()->post($requestBody)->wait();
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
Import-Module Microsoft.Graph.Education
$params = @{
"@odata.type" = "#microsoft.graph.educationClass"
displayName = "String"
mailNickname = "String"
description = "String"
createdBy = @{
"@odata.type" = "microsoft.graph.identitySet"
}
classCode = "String"
externalName = "String"
externalId = "String"
externalSource = "String"
externalSourceDetail = "String"
grade = "String"
term = @{
"@odata.type" = "microsoft.graph.educationTerm"
}
}
New-MgEducationClass -BodyParameter $params
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.education_class import EducationClass
from msgraph.generated.models.identity_set import IdentitySet
from msgraph.generated.models.education_external_source import EducationExternalSource
from msgraph.generated.models.education_term import EducationTerm
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = EducationClass(
odata_type = "#microsoft.graph.educationClass",
display_name = "String",
mail_nickname = "String",
description = "String",
created_by = IdentitySet(
odata_type = "microsoft.graph.identitySet",
),
class_code = "String",
external_name = "String",
external_id = "String",
external_source = EducationExternalSource.Sis,
external_source_detail = "String",
grade = "String",
term = EducationTerm(
odata_type = "microsoft.graph.educationTerm",
),
)
result = await graph_client.education.classes.post(request_body)
For details about how to add the SDK to your project and create an authProvider instance, see the SDK documentation.
Response
Note: The response object shown here might be shortened for readability.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.educationClass",
"id": "64ef8ce5-8ce5-64ef-e58c-ef64e58cef64",
"displayName": "String",
"mailNickname": "String",
"description": "String",
"createdBy": {
"@odata.type": "microsoft.graph.identitySet"
},
"classCode": "String",
"externalName": "String",
"externalId": "String",
"externalSource": "String",
"externalSourceDetail": "String",
"grade": "String",
"term": {
"@odata.type": "microsoft.graph.educationTerm"
}
}