ESC
Type to search...

EduAssignments.ReadWriteBasic

Export JSON
Export CSV
Copy URL
Print
Delegated Read/Write User Scope

Allows the app to read and write assignments without grades on behalf of the user.

Delegated Access App-Only Access

Permission Details

Delegated Permission Admin consent required

Read and write users' class assignments without grades

Allows the app to read and write assignments without grades on behalf of the user.

Graph Methods

Delegated access App-only access
Methods
GET /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
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/{educationClassId}/assignmentCategories/delta
GET /education/classes/{educationClassId}/assignments/{educationAssignmentId}/categories/delta
GET /education/classes/{educationClassId}/assignments/delta
GET /education/classes/{educationClassId}/assignmentSettings/gradingSchemes/{educationGradingSchemeId}
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/me/rubrics
GET /education/me/rubrics/{id}
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}/resources
POST /education/classes/{classId}/assignments/{assignmentId}/activate
POST /education/classes/{classId}/assignments/{assignmentId}/deactivate
POST /education/classes/{id}/assignmentCategories
POST /education/classes/{id}/assignments/{id}/categories/$ref
POST /education/classes/{id}/assignments/{id}/publish
POST /education/classes/{id}/assignmentSettings/gradingSchemes
POST /education/me/rubrics
PATCH /education/classes/{class-id}/assignments/{assignment-id}
PATCH /education/classes/{class-id}/assignmentSettings
PATCH /education/classes/{classId}/assignmentSettings/gradingCategories/{gradingCategoryId}
PATCH /education/classes/{educationClassId}/assignmentSettings/gradingSchemes/{educationGradingSchemeId}
PATCH /education/classes/{id}/assignmentDefaults
PATCH /education/classes/{id}/assignments/{id}/rubric
PATCH /education/me/rubrics/{id}
PUT /education/classes/{class-id}/assignments/{assignment-id}/rubric/$ref
PUT /education/classes/{classId}/assignments/{assignmentId}/gradingCategory/$ref
PUT /education/classes/{educationClassId}/assignments/{assignmentid}/gradingScheme/$ref
PUT /education/classes/{educationClassId}/assignmentSettings/defaultGradingScheme/$ref
DELETE /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
DELETE /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}
DELETE /education/classes/{classId}/assignments/{assignmentId}/gradingCategory/$ref
DELETE /education/classes/{educationClassId}/assignmentSettings/gradingSchemes/{educationGradingSchemeId}
DELETE /education/classes/{id}/assignmentCategories/{id}
DELETE /education/classes/{id}/assignments/{id}
DELETE /education/classes/{id}/assignments/{id}/categories/{id}/$ref
DELETE /education/classes/{id}/assignments/{id}/rubric/$ref
DELETE /education/me/rubrics/{id}
Methods
GET /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
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/{educationClassId}/assignmentCategories/delta
GET /education/classes/{educationClassId}/assignments/{educationAssignmentId}/categories/delta
GET /education/classes/{educationClassId}/assignments/delta
GET /education/classes/{educationClassId}/assignmentSettings/gradingSchemes/{educationGradingSchemeId}
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/me/rubrics
GET /education/me/rubrics/{id}
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}/resources
POST /education/classes/{classId}/assignments/{assignmentId}/activate
POST /education/classes/{classId}/assignments/{assignmentId}/deactivate
POST /education/classes/{id}/assignmentCategories
POST /education/classes/{id}/assignments/{id}/categories/$ref
POST /education/classes/{id}/assignments/{id}/publish
POST /education/classes/{id}/assignmentSettings/gradingSchemes
POST /education/me/rubrics
PATCH /education/classes/{class-id}/assignments/{assignment-id}
PATCH /education/classes/{classId}/assignmentSettings/gradingCategories/{gradingCategoryId}
PATCH /education/classes/{educationClassId}/assignmentSettings/gradingSchemes/{educationGradingSchemeId}
PATCH /education/classes/{id}/assignmentDefaults
PATCH /education/classes/{id}/assignments/{id}/rubric
PATCH /education/classes/{id}/assignmentSettings
PATCH /education/me/rubrics/{id}
PUT /education/classes/{classId}/assignments/{assignmentId}/gradingCategory/$ref
PUT /education/classes/{educationClassId}/assignments/{assignmentid}/gradingScheme/$ref
PUT /education/classes/{id}/assignments/{id}/rubric/$ref
DELETE /education/classes/{class-id}/assignments/{assignment-id}/resources/{resource-id}
DELETE /education/classes/{class-id}/assignments/{assignment-id}/submissions/{submission-id}/resources/{resource-id}
DELETE /education/classes/{classId}/assignments/{assignmentId}/gradingCategory/$ref
DELETE /education/classes/{educationClassId}/assignmentSettings/gradingSchemes/{educationGradingSchemeId}
DELETE /education/classes/{id}/assignmentCategories/{id}
DELETE /education/classes/{id}/assignments/{id}
DELETE /education/classes/{id}/assignments/{id}/categories/{id}/$ref
DELETE /education/classes/{id}/assignments/{id}/rubric/$ref
DELETE /education/me/rubrics/{id}
Commands
Get-MgEducationClassAssignment
Get-MgEducationClassAssignmentCategory
Get-MgEducationClassAssignmentCategoryByRef
Get-MgEducationClassAssignmentCategoryDelta
Get-MgEducationClassAssignmentDefault
Get-MgEducationClassAssignmentDelta
Get-MgEducationClassAssignmentResource
Get-MgEducationClassAssignmentRubric
Get-MgEducationClassAssignmentSetting
Get-MgEducationClassAssignmentSettingGradingScheme
Get-MgEducationClassAssignmentSubmission
Get-MgEducationClassAssignmentSubmissionResource
Get-MgEducationClassAssignmentSubmissionSubmittedResource
Get-MgEducationMeAssignment
Get-MgEducationMeRubric
Initialize-MgEducationClassAssignment
Invoke-MgDeactivateEducationClassAssignment
New-MgEducationClassAssignment
New-MgEducationClassAssignmentCategory
New-MgEducationClassAssignmentCategoryByRef
New-MgEducationClassAssignmentResource
New-MgEducationClassAssignmentSettingGradingScheme
New-MgEducationClassAssignmentSubmissionResource
New-MgEducationMeRubric
Publish-MgEducationClassAssignment
Remove-MgEducationClassAssignment
Remove-MgEducationClassAssignmentCategory
Remove-MgEducationClassAssignmentCategoryEducationCategoryByRef
Remove-MgEducationClassAssignmentResource
Remove-MgEducationClassAssignmentRubricByRef
Remove-MgEducationClassAssignmentSettingGradingScheme
Remove-MgEducationClassAssignmentSubmissionResource
Remove-MgEducationMeRubric
Set-MgEducationClassAssignmentRubricByRef
Update-MgEducationClassAssignment
Update-MgEducationClassAssignmentDefault
Update-MgEducationClassAssignmentSetting
Update-MgEducationClassAssignmentSettingGradingCategory
Update-MgEducationClassAssignmentSettingGradingScheme
Update-MgEducationMeRubric
Commands
Get-MgBetaEducationClassAssignment
Get-MgBetaEducationClassAssignmentCategory
Get-MgBetaEducationClassAssignmentCategoryByRef
Get-MgBetaEducationClassAssignmentCategoryDelta
Get-MgBetaEducationClassAssignmentDefault
Get-MgBetaEducationClassAssignmentDelta
Get-MgBetaEducationClassAssignmentResource
Get-MgBetaEducationClassAssignmentRubric
Get-MgBetaEducationClassAssignmentSetting
Get-MgBetaEducationClassAssignmentSettingGradingScheme
Get-MgBetaEducationClassAssignmentSubmission
Get-MgBetaEducationClassAssignmentSubmissionResource
Get-MgBetaEducationClassAssignmentSubmissionSubmittedResource
Get-MgBetaEducationMeAssignment
Get-MgBetaEducationMeRubric
Initialize-MgBetaEducationClassAssignment
Invoke-MgBetaDeactivateEducationClassAssignment
New-MgBetaEducationClassAssignment
New-MgBetaEducationClassAssignmentCategory
New-MgBetaEducationClassAssignmentCategoryByRef
New-MgBetaEducationClassAssignmentResource
New-MgBetaEducationClassAssignmentSettingGradingScheme
New-MgBetaEducationClassAssignmentSubmissionResource
New-MgBetaEducationMeRubric
Publish-MgBetaEducationClassAssignment
Remove-MgBetaEducationClassAssignment
Remove-MgBetaEducationClassAssignmentCategory
Remove-MgBetaEducationClassAssignmentCategoryEducationCategoryByRef
Remove-MgBetaEducationClassAssignmentResource
Remove-MgBetaEducationClassAssignmentRubricByRef
Remove-MgBetaEducationClassAssignmentSettingGradingScheme
Remove-MgBetaEducationClassAssignmentSubmissionResource
Remove-MgBetaEducationMeRubric
Set-MgBetaEducationClassAssignmentRubricByRef
Update-MgBetaEducationClassAssignment
Update-MgBetaEducationClassAssignmentDefault
Update-MgBetaEducationClassAssignmentSettingGradingCategory
Update-MgBetaEducationClassAssignmentSettingGradingScheme
Update-MgBetaEducationMeRubric
Update-MgEducationClassAssignmentSetting

Code Examples

C# / .NET SDK
// Install: dotnet add package Microsoft.Graph
// Install: dotnet add package Azure.Identity
using Microsoft.Graph;
using Azure.Identity;

// Delegated permissions - interactive user sign-in
var scopes = new[] { "EduAssignments.ReadWriteBasic" };
var options = new InteractiveBrowserCredentialOptions
{
    ClientId = "YOUR_CLIENT_ID",
    TenantId = "YOUR_TENANT_ID",
    RedirectUri = new Uri("http://localhost")
};
var credential = new InteractiveBrowserCredential(options);
var graphClient = new GraphServiceClient(credential, scopes);

// Example: GET /me
var result = await graphClient.Me.GetAsync();
Console.WriteLine($"User: {result?.DisplayName}");
JavaScript / TypeScript
// npm install @azure/msal-browser @microsoft/microsoft-graph-client
import { PublicClientApplication } from "@azure/msal-browser";
import { Client } from "@microsoft/microsoft-graph-client";
import { AuthCodeMSALBrowserAuthenticationProvider } from 
    "@microsoft/microsoft-graph-client/authProviders/authCodeMsalBrowser";

const msalConfig = {
    auth: {
        clientId: "YOUR_CLIENT_ID",
        authority: "https://login.microsoftonline.com/YOUR_TENANT_ID"
    }
};

const pca = new PublicClientApplication(msalConfig);
await pca.initialize();

// Delegated: Login with required scope
const loginResponse = await pca.loginPopup({
    scopes: ["EduAssignments.ReadWriteBasic"]
});

const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(pca, {
    account: loginResponse.account,
    scopes: ["EduAssignments.ReadWriteBasic"],
    interactionType: "popup"
});

const graphClient = Client.initWithMiddleware({ authProvider });

// Example: GET /me
const result = await graphClient.api("/me").get();
console.log(result);
PowerShell
# Install Microsoft Graph PowerShell module
Install-Module Microsoft.Graph -Scope CurrentUser

# Delegated access - interactive sign-in
Connect-MgGraph -Scopes "EduAssignments.ReadWriteBasic"

# Verify connection
Get-MgContext | Select-Object Account, TenantId, Scopes

# Example: GET /me
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/me"
$result | ConvertTo-Json -Depth 5


# Always disconnect when done
Disconnect-MgGraph
Python
# pip install msgraph-sdk azure-identity
from azure.identity import InteractiveBrowserCredential, ClientSecretCredential
from msgraph import GraphServiceClient
import asyncio

# Delegated permissions - interactive browser sign-in
credential = InteractiveBrowserCredential(
    client_id="YOUR_CLIENT_ID",
    tenant_id="YOUR_TENANT_ID"
)
scopes = ["EduAssignments.ReadWriteBasic"]
client = GraphServiceClient(credential, scopes)

async def get_data():
    # Example: GET /me
    result = await client.me.get()
    print(f"User: {result.display_name}")
    return result

asyncio.run(get_data())

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 Delegated permissions and search for EduAssignments.ReadWriteBasic

4

Grant Admin Consent

This permission requires admin consent. Grant consent in the Azure portal.