States, transitions, and limitations for submissions in Microsoft Graph
Submissions are an important part of the interaction between teachers' and students' actions. This relates to changes in the submission state during the process flow and which education APIs in Microsoft Graph are involved.
Submission states and transitions
A submission represents the resources that an individual or group turns in for an assignment. Submissions are owned by an assignment and are automatically created when an assignment is published.
The status is a read-only property in the submission. It changes based on the actions of students and teachers.
|State||Description||REST API call|
|Working||Initial state after the submission is created.||
|Submitted||The state after the student turns in the assignment.||
|Returned||The state after the teacher has returned an assignment to the student.||
|Reassigned||The state after the teacher has returned the assignment to the student for revision.||
|Excuse||Teachers can mark a submission as excused to indicate that the submission has no further action for the student.||
The following diagram shows the state transition flow.
Submission state transitions based on allowed actions
|Current submission state||New action||New state|
|Working||Return for revision||Reassigned|
|Submitted||Undo Turn in||Working|
|Submitted||Return for revision||Reassigned|
|Returned||Return for revision||Reassigned|
|Reassigned||Return for revision||Reassigned|
|Excused||Return for revision||Reassigned|
Any action and state transition not listed in the table is not allowed.
Sync vs. async operations over submissions API calls
The following table lists the API calls that affect the submission state and the operation type.
In this case, all the calls are asynchronous, which means the operation starts, and another operation can begin before the first one finishes. The asynchronous operation performs some background activity, and the caller must be polling to get the result.
|API||Sync or async||Mechanism to get latest state|
The following limits apply to all API calls:
- The maximum number of submission resources are 10 for the student.
- The maximum size allowed for resources is 500 MB.
- Throttling limits apply; for details, see Microsoft Graph throttling guidance.