ESC
Type to search...

EduAssignments.ReadWrite.All

Export JSON
Export CSV
Copy URL
Print
Application Read/Write All Resources

Allows the app to create, read, update and delete all class assignments with grades for all users without a signed-in user.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Application Permission

Create, read, update and delete all class assignments with grades

Allows the app to create, read, update and delete all class assignments with grades for all users without a signed-in user.

Properties

Microsoft Graph v1.0 endpoint-derived-docs

Properties is shown from stable Microsoft Graph v1.0 metadata.

Property Type Description
content Stream The content stream
contentUrl String (url) The URL for downloading the content
assignmentCategories educationCategory collection All categories associated with this class. Nullable.
assignmentDefaults object Specifies class-level defaults respected by new assignments created in the class.
assignments educationAssignment collection All assignments associated with this class. Nullable.
assignmentSettings object Specifies class-level assignments settings.
classCode stringNullable Class code used by the school to identify the class.
course object
createdBy object Entity who created the class
description stringNullable Description of the class.
displayName string Name of the class.
externalId stringNullable ID of the class from the syncing system.
externalName stringNullable Name of the class in the syncing system.
externalSource object How this class was created. The possible values are: sis, manual.
externalSourceDetail stringNullable The name of the external source this resource was generated from.

Showing 15 of 24 properties.

JSON Representation

Microsoft Graph v1.0 endpoint-derived-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "content": "String",
  "contentUrl": {
    "@type": "String (url)",
    "id": "00000000-0000-0000-0000-000000000000"
  },
  "assignmentCategories": [
    {
      "@type": "educationCategory",
      "id": "00000000-0000-0000-0000-000000000000"
    }
  ],
  "assignmentDefaults": {
    "sample": "value"
  },
  "assignments": [
    {
      "@type": "educationAssignment",
      "id": "00000000-0000-0000-0000-000000000000"
    }
  ],
  "assignmentSettings": {
    "sample": "value"
  },
  "classCode": "String",
  "course": {
    "sample": "value"
  },
  "createdBy": {
    "sample": "value"
  },
  "description": "String",
  "displayName": "String",
  "externalId": "String",
  "externalName": "String",
  "externalSource": {
    "sample": "value"
  },
  "externalSourceDetail": "String",
  "grade": "String",
  "group": {
    "sample": "value"
  },
  "id": "String",
  "mailNickname": "String",
  "members": [
    {
      "@type": "educationUser",
      "id": "00000000-0000-0000-0000-000000000000"
    }
  ]
}

Relationships

Microsoft Graph v1.0 schema-derived

Relationships is shown from stable Microsoft Graph v1.0 metadata.

Relationship Type Description
assignmentCategories educationCategory collection All categories associated with this class. Nullable.
assignments educationAssignment collection All assignments associated with this class. Nullable.
members educationUser collection All users in the class. Nullable.
modules educationModule collection All modules in the class. Nullable.
schools educationSchool collection All schools that this class is associated with. Nullable.
teachers educationUser collection All teachers in the class. Nullable.

Graph Methods

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
GET /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}/dependentResources
GET /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}
GET /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources
GET /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}
GET /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}/dependentResources
GET /education/classes/{class-id}/getRecentlyModifiedSubmissions
GET /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/outcomes
GET /education/classes/{educationClassId}/assignmentCategories/delta
GET /education/classes/{educationClassId}/assignments/{educationAssignmentId}/categories/delta
GET /education/classes/{educationClassId}/assignments/delta
GET /education/classes/{id}/assignmentCategories
GET /education/classes/{id}/assignmentCategories/{id}
GET /education/classes/{id}/assignmentDefaults
GET /education/classes/{id}/assignments
GET /education/classes/{id}/assignments/{id}
GET /education/classes/{id}/assignments/{id}/categories
GET /education/classes/{id}/assignments/{id}/resources
GET /education/classes/{id}/assignments/{id}/rubric
GET /education/classes/{id}/assignments/{id}/submissions
GET /education/classes/{id}/assignments/{id}/submissions/{id}/submittedResources
GET /education/classes/{id}/assignments/{id}/submissions/{id}/submittedResources/{id}
GET /education/classes/{id}/assignmentSettings
GET /education/me/assignments
GET /education/users/{user-id}/assignments
POST /education/classes/{class-id}/assignments
POST /education/classes/{class-id}/assignments/{assignment-id}/resources
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/return
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/submit
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/unsubmit
POST /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/excuse
POST /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/outcomes
POST /education/classes/{id}/assignments/{id}/publish
POST /education/classes/{id}/assignments/{id}/setUpResourcesFolder
POST /education/classes/{id}/assignments/{id}/submissions/{id}/reassign
PATCH /education/classes/{class-id}/assignments/{assignment-id}
PATCH /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/outcomes/{outcome-id}
DELETE /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
DELETE /education/classes/{id}/assignments/{id}
Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
GET /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}/dependentResources
GET /education/classes/{class-id}/assignments/{assignment-id}/submissions
GET /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}
GET /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}
GET /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}/dependentResources
GET /education/classes/{class-id}/getRecentlyModifiedSubmissions
GET /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/outcomes
GET /education/classes/{educationClassId}/assignmentCategories/delta
GET /education/classes/{educationClassId}/assignments/{educationAssignmentId}/categories/delta
GET /education/classes/{educationClassId}/assignments/delta
GET /education/classes/{id}/assignmentCategories
GET /education/classes/{id}/assignmentCategories/{id}
GET /education/classes/{id}/assignmentDefaults
GET /education/classes/{id}/assignments
GET /education/classes/{id}/assignments/{id}
GET /education/classes/{id}/assignments/{id}/categories
GET /education/classes/{id}/assignments/{id}/resources
GET /education/classes/{id}/assignments/{id}/rubric
GET /education/classes/{id}/assignments/{id}/submissions/{id}/resources
GET /education/classes/{id}/assignments/{id}/submissions/{id}/submittedResources
GET /education/classes/{id}/assignments/{id}/submissions/{id}/submittedResources/{id}
GET /education/classes/{id}/assignmentSettings
GET /education/me/assignments
GET /education/users/{user-id}/assignments
POST /education/classes/{class-id}/assignments
POST /education/classes/{class-id}/assignments/{assignment-id}/resources
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/return
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/submit
POST /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/unsubmit
POST /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/excuse
POST /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/outcomes
POST /education/classes/{id}/assignments/{id}/publish
POST /education/classes/{id}/assignments/{id}/setUpResourcesFolder
POST /education/classes/{id}/assignments/{id}/submissions/{id}/reassign
PATCH /education/classes/{class-id}/assignments/{assignment-id}
PATCH /education/classes/{id}/assignments/{id}/submissions/{id}/outcomes/{id}
DELETE /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
DELETE /education/classes/{id}/assignments/{id}
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgEducationClassAssignment /education/classes/{id}/assignments
List class assignments
Get-MgEducationClassAssignment /education/classes/{id}/assignments/{id}
Get educationAssignment
Get-MgEducationClassAssignmentCategory /education/classes/{id}/assignmentCategories
List assignmentCategories
Get-MgEducationClassAssignmentCategory /education/classes/{id}/assignmentCategories/{id}
Get educationCategory
Get-MgEducationClassAssignmentCategoryDelta /education/classes/{educationClassId}/assignmentCategories/delta
educationCategory: delta
Get-MgEducationClassAssignmentDefault /education/classes/{id}/assignmentDefaults
Get educationAssignmentDefaults
Get-MgEducationClassAssignmentDelta /education/classes/{educationClassId}/assignments/delta
educationAssignment: delta
Get-MgEducationClassAssignmentResource /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
Get educationAssignmentResource
Get-MgEducationClassAssignmentResource /education/classes/{id}/assignments/{id}/resources
List assignment resources
Get-MgEducationClassAssignmentResourceDependentResource /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}/dependentResources
List dependentResources
Get-MgEducationClassAssignmentRubric /education/classes/{id}/assignments/{id}/rubric
Get educationRubric attached to educationAssignment
Get-MgEducationClassAssignmentSetting /education/classes/{id}/assignmentSettings
Get educationAssignmentSettings
Get-MgEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}
Get educationSubmission
Get-MgEducationClassAssignmentSubmission /education/classes/{id}/assignments/{id}/submissions
List submissions
Get-MgEducationClassAssignmentSubmissionOutcome /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/outcomes
List outcomes
Get-MgEducationClassAssignmentSubmissionResource /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources
List submission resources
Get-MgEducationClassAssignmentSubmissionResource /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}
Get educationSubmissionResource
Get-MgEducationClassAssignmentSubmissionResourceDependentResource /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}/dependentResources
List dependentResources
Get-MgEducationClassAssignmentSubmissionSubmittedResource /education/classes/{id}/assignments/{id}/submissions/{id}/submittedResources
List submittedResources
Get-MgEducationClassAssignmentSubmissionSubmittedResource /education/classes/{id}/assignments/{id}/submissions/{id}/submittedResources/{id}
Get educationSubmittedSubmissionResource
Get-MgEducationClassRecentlyModifiedSubmission /education/classes/{class-id}/getRecentlyModifiedSubmissions
educationClass: getRecentlyModifiedSubmissions
Get-MgEducationMeAssignment /education/me/assignments
List assignments of a user
Get-MgEducationUserAssignment /education/me/assignments
List assignments of a user
Invoke-MgExcuseEducationClassAssignmentSubmission /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/excuse
educationSubmission: excuse
Invoke-MgReassignEducationClassAssignmentSubmission /education/classes/{id}/assignments/{id}/submissions/{id}/reassign
educationSubmission: reassign
Invoke-MgReturnEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/return
educationSubmission: return
Invoke-MgUnsubmitEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/unsubmit
educationSubmission: unsubmit
New-MgEducationClassAssignment /education/classes/{class-id}/assignments
Create educationAssignment
New-MgEducationClassAssignmentResource /education/classes/{class-id}/assignments/{assignment-id}/resources
Create educationAssignmentResource
New-MgEducationClassAssignmentSubmissionOutcome /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/outcomes
Create educationFeedbackResourceOutcome
Remove-MgEducationClassAssignment /education/classes/{id}/assignments/{id}
Delete educationAssignment
Remove-MgEducationClassAssignmentResource /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
Delete educationAssignmentResource
Set-MgEducationClassAssignmentUpResourceFolder /education/classes/{id}/assignments/{id}/setUpResourcesFolder
educationAssignment: setUpResourcesFolder
Update-MgEducationClassAssignment /education/classes/{class-id}/assignments/{assignment-id}
Update educationassignment
Update-MgEducationClassAssignmentSubmissionOutcome /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/outcomes/{outcome-id}
Update educationOutcome
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgBetaEducationClassAssignment /education/classes/{id}/assignments
List class assignments
Get-MgBetaEducationClassAssignment /education/classes/{id}/assignments/{id}
Get educationAssignment
Get-MgBetaEducationClassAssignmentCategory /education/classes/{id}/assignmentCategories
List assignmentCategories
Get-MgBetaEducationClassAssignmentCategory /education/classes/{id}/assignmentCategories/{id}
Get educationCategory
Get-MgBetaEducationClassAssignmentCategoryDelta /education/classes/{educationClassId}/assignmentCategories/delta
educationCategory: delta
Get-MgBetaEducationClassAssignmentDefault /education/classes/{id}/assignmentDefaults
Get educationAssignmentDefaults
Get-MgBetaEducationClassAssignmentDelta /education/classes/{educationClassId}/assignments/delta
educationAssignment: delta
Get-MgBetaEducationClassAssignmentResource /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
Get educationAssignmentResource
Get-MgBetaEducationClassAssignmentResource /education/classes/{id}/assignments/{id}/resources
List assignment resources
Get-MgBetaEducationClassAssignmentResourceDependentResource /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}/dependentResources
List dependentResources
Get-MgBetaEducationClassAssignmentRubric /education/classes/{id}/assignments/{id}/rubric
Get educationRubric attached to educationAssignment
Get-MgBetaEducationClassAssignmentSetting /education/classes/{id}/assignmentSettings
Get educationAssignmentSettings
Get-MgBetaEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions
List submissions
Get-MgBetaEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}
Get educationSubmission
Get-MgBetaEducationClassAssignmentSubmissionOutcome /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/outcomes
List outcomes
Get-MgBetaEducationClassAssignmentSubmissionResource /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}
Get educationSubmissionResource
Get-MgBetaEducationClassAssignmentSubmissionResource /education/classes/{id}/assignments/{id}/submissions/{id}/resources
List submission resources
Get-MgBetaEducationClassAssignmentSubmissionResourceDependentResource /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}/dependentResources
List dependentResources
Get-MgBetaEducationClassRecentlyModifiedSubmission /education/classes/{class-id}/getRecentlyModifiedSubmissions
educationClass: getRecentlyModifiedSubmissions
Get-MgBetaEducationMeAssignment /education/me/assignments
List assignments of a user
Get-MgBetaEducationUserAssignment /education/me/assignments
List assignments of a user
Invoke-MgBetaExcuseEducationClassAssignmentSubmission /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/excuse
educationSubmission: excuse
Invoke-MgBetaReassignEducationClassAssignmentSubmission /education/classes/{id}/assignments/{id}/submissions/{id}/reassign
educationSubmission: reassign
Invoke-MgBetaReturnEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/return
educationSubmission: return
Invoke-MgBetaUnsubmitEducationClassAssignmentSubmission /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/unsubmit
educationSubmission: unsubmit
New-MgBetaEducationClassAssignment /education/classes/{class-id}/assignments
Create educationAssignment
New-MgBetaEducationClassAssignmentResource /education/classes/{class-id}/assignments/{assignment-id}/resources
Create educationAssignmentResource
New-MgBetaEducationClassAssignmentSubmissionOutcome /education/classes/{classId}/assignments/{assignmentId}/submissions/{submissionId}/outcomes
Create educationFeedbackResourceOutcome
Remove-MgBetaEducationClassAssignment /education/classes/{id}/assignments/{id}
Delete educationAssignment
Remove-MgBetaEducationClassAssignmentResource /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
Delete educationAssignmentResource
Set-MgBetaEducationClassAssignmentUpResourceFolder /education/classes/{id}/assignments/{id}/setUpResourcesFolder
educationAssignment: setUpResourcesFolder
Update-MgBetaEducationClassAssignment /education/classes/{class-id}/assignments/{assignment-id}
Update educationassignment
Update-MgBetaEducationClassAssignmentSubmissionOutcome /education/classes/{id}/assignments/{id}/submissions/{id}/outcomes/{id}
Update educationOutcome

Code Examples

C# / .NET SDK
Create educationFeedbackResourceOutcome
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Models;

var requestBody = new EducationFeedbackResourceOutcome
{
	OdataType = "#microsoft.graph.educationFeedbackResourceOutcome",
	FeedbackResource = new EducationWordResource
	{
		OdataType = "#microsoft.graph.educationWordResource",
		DisplayName = "Document1.docx",
	},
};

// 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["{educationClass-id}"].Assignments["{educationAssignment-id}"].Submissions["{educationSubmission-id}"].Outcomes.PostAsync(requestBody);
JavaScript
Create educationFeedbackResourceOutcome
const options = {
	authProvider,
};

const client = Client.init(options);

const educationOutcome = {
    '@odata.type': '#microsoft.graph.educationFeedbackResourceOutcome',
    feedbackResource: {
         '@odata.type': '#microsoft.graph.educationWordResource',
         displayName: 'Document1.docx'
     }
};

await client.api('/education/classes/37d99af7-cfc5-4e3b-8566-f7d40e4a2070/assignments/a3cce0ba-2008-4c4d-bf62-079408562d96/submissions/2185e6d7-2924-4ed1-dde1-269f89e29184/outcomes')
	.post(educationOutcome);
PowerShell
Create educationFeedbackResourceOutcome
Import-Module Microsoft.Graph.Education

$params = @{
	"@odata.type" = "#microsoft.graph.educationFeedbackResourceOutcome"
	feedbackResource = @{
		"@odata.type" = "#microsoft.graph.educationWordResource"
		displayName = "Document1.docx"
	}
}

New-MgEducationClassAssignmentSubmissionOutcome -EducationClassId $educationClassId -EducationAssignmentId $educationAssignmentId -EducationSubmissionId $educationSubmissionId -BodyParameter $params
Python
Create educationFeedbackResourceOutcome
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.education_feedback_resource_outcome import EducationFeedbackResourceOutcome
from msgraph.generated.models.education_word_resource import EducationWordResource
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = EducationFeedbackResourceOutcome(
	odata_type = "#microsoft.graph.educationFeedbackResourceOutcome",
	feedback_resource = EducationWordResource(
		odata_type = "#microsoft.graph.educationWordResource",
		display_name = "Document1.docx",
	),
)

result = await graph_client.education.classes.by_education_class_id('educationClass-id').assignments.by_education_assignment_id('educationAssignment-id').submissions.by_education_submission_id('educationSubmission-id').outcomes.post(request_body)

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Application permissions and search for EduAssignments.ReadWrite.All

4

Grant Admin Consent

Application permissions always require admin consent.