Namespace: microsoft.graph
Important
APIs under the /beta
version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.
Create a new class. 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 an educationClass object.
Response
If successful, this method returns a 201 Created
response code and an educationClass object in the response body.
Example
Request
The following example shows a request.
POST https://graph.microsoft.com/beta/education/classes
Content-type: application/json
{
"description": "Health Level 1",
"classCode": "Health 501",
"displayName": "Health 1",
"externalId": "11019",
"externalName": "Health Level 1",
"externalSource": "sis",
"mailNickname": "fineartschool.net"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new EducationClass
{
Description = "Health Level 1",
ClassCode = "Health 501",
DisplayName = "Health 1",
ExternalId = "11019",
ExternalName = "Health Level 1",
ExternalSource = EducationExternalSource.Sis,
MailNickname = "fineartschool.net",
};
// 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);
mgc-beta education classes create --body '{\
"description": "Health Level 1",\
"classCode": "Health 501",\
"displayName": "Health 1",\
"externalId": "11019",\
"externalName": "Health Level 1",\
"externalSource": "sis",\
"mailNickname": "fineartschool.net"\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewEducationClass()
description := "Health Level 1"
requestBody.SetDescription(&description)
classCode := "Health 501"
requestBody.SetClassCode(&classCode)
displayName := "Health 1"
requestBody.SetDisplayName(&displayName)
externalId := "11019"
requestBody.SetExternalId(&externalId)
externalName := "Health Level 1"
requestBody.SetExternalName(&externalName)
externalSource := graphmodels.SIS_EDUCATIONEXTERNALSOURCE
requestBody.SetExternalSource(&externalSource)
mailNickname := "fineartschool.net"
requestBody.SetMailNickname(&mailNickname)
// 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)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
EducationClass educationClass = new EducationClass();
educationClass.setDescription("Health Level 1");
educationClass.setClassCode("Health 501");
educationClass.setDisplayName("Health 1");
educationClass.setExternalId("11019");
educationClass.setExternalName("Health Level 1");
educationClass.setExternalSource(EducationExternalSource.Sis);
educationClass.setMailNickname("fineartschool.net");
EducationClass result = graphClient.education().classes().post(educationClass);
const options = {
authProvider,
};
const client = Client.init(options);
const educationClass = {
description: 'Health Level 1',
classCode: 'Health 501',
displayName: 'Health 1',
externalId: '11019',
externalName: 'Health Level 1',
externalSource: 'sis',
mailNickname: 'fineartschool.net'
};
await client.api('/education/classes')
.version('beta')
.post(educationClass);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\EducationClass;
use Microsoft\Graph\Beta\Generated\Models\EducationExternalSource;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new EducationClass();
$requestBody->setDescription('Health Level 1');
$requestBody->setClassCode('Health 501');
$requestBody->setDisplayName('Health 1');
$requestBody->setExternalId('11019');
$requestBody->setExternalName('Health Level 1');
$requestBody->setExternalSource(new EducationExternalSource('sis'));
$requestBody->setMailNickname('fineartschool.net');
$result = $graphServiceClient->education()->classes()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Education
$params = @{
description = "Health Level 1"
classCode = "Health 501"
displayName = "Health 1"
externalId = "11019"
externalName = "Health Level 1"
externalSource = "sis"
mailNickname = "fineartschool.net"
}
New-MgBetaEducationClass -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.education_class import EducationClass
from msgraph_beta.generated.models.education_external_source import EducationExternalSource
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = EducationClass(
description = "Health Level 1",
class_code = "Health 501",
display_name = "Health 1",
external_id = "11019",
external_name = "Health Level 1",
external_source = EducationExternalSource.Sis,
mail_nickname = "fineartschool.net",
)
result = await graph_client.education.classes.post(request_body)
Response
The following example shows the response.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 201 Created
Content-type: application/json
{
"id": "11019",
"description": "Health Level 1",
"classCode": "Health 501",
"createdBy": {
"user": {
"displayName": "Susana Rocha",
"id": "14012",
}
},
"displayName": "Health 1",
"externalId": "11019",
"externalName": "Health Level 1",
"externalSource": "sis",
"mailNickname": "fineartschool.net"
}