Coursework
This group refers to entities tied to student learning delivery or feedback, such as Tasks and Grades.
Get all Grades for a Class during an Academic Term
This endpoint retrieves all gradebook grades belonging to a class for a term, as specified by term ID and class ID. Returned fields for each task can include:
group_markThe percentage achieved on the task is converted using the grade scale set for the program, and the result is returned as
group_mark.scoreThe number of points a student achieved on the task.
max_pointsThe available number of points for the task.
dropbox_statusDropbox upload status of student submission on task. Property is present if "Dropbox Coursework Submission" is configured for task.
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for class.
Unique identifier for term.
Include archived students in the response.
Success
GET /v2p0/classes/{class_id}/assessments/term/{term_id}/grades HTTP/1.1
Host: api.devel.managebac.com
Accept: */*
Success
{
"students": [
{
"id": 12068821,
"name": "Epelbaum, Chloe",
"assignments": [
{
"id": 18376636,
"name": "Short Story Analysis Quiz",
"group_mark": 5,
"dropbox_status": "waiting",
"due_date_extension_days": 2,
"due_date": "2023-04-25T14:05:00.000Z",
"comment": null,
"score": 22,
"max_points": 32
},
{
"id": 18376694,
"name": "Write a Short Story Themed on Katharine Mansfield",
"group_mark": 7,
"dropbox_status": "waiting",
"due_date": "2023-04-25T14:05:00.000Z",
"comment": null,
"score": 5,
"max_points": 5
},
{
"id": 18376845,
"name": "Read a Selected Short Story by Anton Chekhov",
"group_mark": 7,
"dropbox_status": "early",
"due_date": "2023-04-25T14:05:00.000Z",
"comment": "Great analysis, the improvement is noticeable",
"score": 11,
"max_points": 12
},
{
"id": 18376852,
"name": "Gwendolyn Brooks Seminar",
"group_mark": 7,
"dropbox_status": "early",
"due_date": "2023-04-25T14:05:00.000Z",
"comment": "Your presentation included insightful analysis of The Near-Johannesburg Boy",
"score": 19,
"max_points": 20
},
{
"id": 18376858,
"name": "Practice Commentary",
"group_mark": 4,
"dropbox_status": "early",
"due_date": "2023-04-25T14:05:00.000Z",
"comment": "Your commentary shows a lack of understanding about how form is used to convey the message of the extract",
"score": 14,
"max_points": 21
}
]
},
{
"id": 12068757,
"name": "Evans, Raymond",
"assignments": [
{
"id": 18376636,
"name": "Short Story Analysis Quiz",
"group_mark": 7,
"comment": "Impressive analysis.",
"due_date": "2023-04-25T14:05:00.000Z",
"score": 29,
"max_points": 32,
"binary": "completed"
},
{
"id": 18376694,
"name": "Write a Short Story Themed on Katharine Mansfield",
"group_mark": 7,
"comment": null,
"due_date": "2023-04-25T14:05:00.000Z",
"score": 5,
"max_points": 5,
"binary": "completed"
},
{
"id": 18376845,
"name": "Read a Selected Short Story by Anton Chekhov",
"group_mark": 5,
"comment": null,
"due_date": "2023-04-25T14:05:00.000Z",
"score": 9,
"max_points": 12,
"binary": "incompleted"
},
{
"id": 18376852,
"name": "Gwendolyn Brooks Seminar",
"group_mark": 5,
"comment": null,
"due_date": "2023-04-25T14:05:00.000Z",
"score": 16,
"max_points": 21,
"binary": "completed"
}
]
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 2,
"per_page": 10
}
}This endpoint retrieves all term grades for a class, as specified by term ID and class ID.
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for class.
Unique identifier for term.
An integer list of student ids to filter by.
An integer list of student ids to filter by.
Include archived students in the response.
A flag that indicates the response should only include records associated to students who are not currently enrolled in the given class.
Success
GET /v2p0/classes/{class_id}/assessments/term/{term_id}/term-grades HTTP/1.1
Host: api.devel.managebac.com
Accept: */*
Success
{
"students": [
{
"id": 12068821,
"name": "Epelbaum, Chloe",
"term_grade": {
"grade": 6,
"average": {
"percent": 85,
"grade": 6
},
"comments": "Your class participation and determination to help your peers is remarkable.",
"rubrics": [
{
"id": 11181,
"title": "Class Participation",
"grade": "Excellent"
}
]
}
},
{
"id": 12068757,
"name": "Evans, Raymond",
"term_grade": {
"grade": 5,
"average": {
"percent": 86.5,
"grade": "5"
},
"comments": "You've managed to meet expectations.",
"rubrics": [
{
"id": 11181,
"title": "Class Participation",
"grade": "Satisfactory"
}
]
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 2,
"per_page": 10
}
}This endpoint retrieves all criteria belonging to the class as specified by ID.
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for class.
Success
GET /v2p0/classes/{id}/criteria HTTP/1.1
Host: api.devel.managebac.com
Accept: */*
Success
{
"criteria": [
{
"id": 25324,
"title": "Criteria Title",
"descriptors": [
{
"value": "Good",
"descriptor": "The student demonstrates a good understanding of the concept."
}
]
}
]
}This endpoint retrieves task categories for a class specified by class ID.
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for class.
Success
GET /v2p0/classes/{id}/task_categories HTTP/1.1
Host: api.devel.managebac.com
Accept: */*
Success
{
"task_categories": [
{
"id": 1,
"name": "Quiz",
"background_color": "#205C00",
"color": "#fff",
"weight": 10
},
{
"id": 2,
"name": "Homework",
"background_color": "#2175C6",
"color": "#fff",
"weight": 10
},
{
"id": 3,
"name": "Essay",
"background_color": "#33C",
"color": "#fff",
"weight": 10
},
{
"id": 6,
"name": "Paper",
"background_color": "#A2C400",
"color": "#fff",
"weight": 10
},
{
"id": 7,
"name": "Test",
"background_color": "#FFAD3A",
"color": "#fff",
"weight": 10
}
]
}This endpoint retrieves all tasks belonging to the class as specified by ID. If term ID is not specified, all tasks that the term class covers will be returned.
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for class.
Unique identifier for term.
Success
GET /v2p0/classes/{id}/tasks HTTP/1.1
Host: api.devel.managebac.com
Accept: */*
Success
{
"tasks": [
{
"id": 10277631,
"name": "Accelerated Motion Lab",
"notes": "",
"draft": false,
"task_type": "formative",
"task_type_name": "Formative",
"linked_to": {
"class_id": 10299022,
"task_id": 11921323
},
"dropbox": false,
"google_drive_dropbox": true,
"task_work_templates": [
{
"id": 60,
"name": "Lab Report",
"details": "Complete the given lab report template based on the in-class lab that was held on Monday."
},
{
"id": 61,
"name": "Post-Lab Reflection",
"details": "After completing your lab report, answer the questions in the post-lab reflection."
}
],
"turnitin": false,
"due_date": "2018-04-27T04:00:00+03:00",
"unit": {
"id": 67396,
"title": "Dynamics & Kinematics"
},
"hl": true,
"sl": true,
"category": {
"id": 11484803,
"name": "Lab Reports",
"weight": 25
},
"assessment_types": {
"comments": {},
"points": {
"max_score": 7
}
}
},
{
"id": 20018084,
"name": "Chapter 2.1 HW",
"notes": "",
"draft": false,
"task_type": "summative",
"task_type_name": "Summative",
"linked_to": {
"class_id": 10299022,
"task_id": 11921323
},
"dropbox": false,
"google_drive_dropbox": false,
"turnitin": false,
"due_date": "2018-05-13T04:00:00+03:00",
"unit": {
"id": 67396,
"title": "Dynamics & Kinematics"
},
"hl": true,
"sl": true,
"category": {
"id": 11484801,
"name": "Homework",
"weight": 10
},
"assessment_types": {
"comments": {},
"points": {
"max_score": 10
}
}
},
{
"id": 19942197,
"name": "Dynamics Unit Test",
"notes": "Prepare for the test by completing all homework questions for Chapter 2.",
"draft": false,
"task_type": "custom",
"task_type_name": "Custom Name",
"linked_to": {
"class_id": 10299022,
"task_id": 11921323
},
"dropbox": false,
"google_drive_dropbox": true,
"task_work_templates": false,
"turnitin": false,
"due_date": "2018-05-18T04:00:00+03:00",
"unit": {
"id": 67396,
"title": "Test"
},
"hl": true,
"sl": true,
"category": {
"id": 11484802,
"name": "Unit Tests",
"weight": 20
},
"assessment_types": {
"comments": {},
"points": {
"max_score": 7
}
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 4,
"per_page": 100
}
}This endpoint retrieves a task as specified by task ID and class ID.
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for task.
Unique identifier for class.
Success
GET /v2p0/classes/{class_id}/tasks/{id} HTTP/1.1
Host: api.devel.managebac.com
Accept: */*
Success
{
"task": {
"id": 10277631,
"name": "Accelerated Motion Lab",
"notes": "The lab will allow you to work in groups to create and test a hypothesis related to Newton's Laws of Motion.",
"draft": false,
"task_type": "formative",
"task_type_name": "Formative",
"linked_to": {
"class_id": 10299022,
"task_id": 11921323
},
"dropbox": false,
"google_drive_dropbox": true,
"task_work_templates": [
{
"id": 60,
"name": "Lab Report",
"details": "Complete the given lab report template based on the in-class lab that was held on Monday."
},
{
"id": 61,
"name": "Post-Lab Reflection",
"details": "After completing your lab report, answer the questions in the post-lab reflection."
}
],
"turnitin": false,
"due_date": "2018-04-27T04:00:00+03:00",
"unit": {
"id": 67396,
"title": "Dynamics & Kinematics"
},
"hl": true,
"sl": true,
"category": {
"id": 11484803,
"name": "Lab Reports",
"weight": 20
},
"assessment_types": {
"comments": {},
"points": {
"max_score": 7
}
}
}
}This endpoint retrieves all assessment result scores belonging to a class as specified by ID. If term ID is not specified, all assessed tasks that the term class covers will be returned.
Optional properties:
Assessments:
dropbox_status- Student Dropbox Submission status for a task if enabled
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for task.
Unique identifier for class.
Success
GET /v2p0/classes/{class_id}/tasks/{id}/students HTTP/1.1
Host: api.devel.managebac.com
Accept: */*
Success
{
"students": [
{
"id": 10752610,
"name": "Epelbaum, Chloe",
"task_works": [
{
"id": 11861277,
"template_id": 54,
"submission_status": "submitted"
},
{
"id": 11861277,
"template_id": 55,
"submission_status": "late"
}
],
"assessments": {
"dropbox_status": "waiting",
"comments": "Chloe has done a great job on both portions of the task",
"points": {
"score": 6,
"max_score": 7
},
"binary": 0
}
},
{
"id": 12068799,
"name": "Bailey, Jenna",
"task_works": [
{
"id": 11861277,
"template_id": 55,
"submission_status": "waiting"
}
],
"assessments": {
"comments": null,
"points": {
"score": null,
"max_score": 7
},
"binary": 1
}
},
{
"id": 10851648,
"name": "Francisco, Lewis",
"task_works": [
{
"id": 11861277,
"template_id": 55,
"submission_status": "late"
}
],
"assessments": {
"comments": "Lewis submitted his task late and did not meet expectations",
"points": {
"score": 4,
"max_score": 7
}
}
},
{
"id": 10866190,
"name": "Lucy, Jasmine",
"task_works": [
{
"id": 11861277,
"template_id": 54,
"submission_status": "submitted"
},
{
"id": 11861277,
"template_id": 55,
"submission_status": "submitted"
}
],
"assessments": {
"comments": "Great improvement Jasmine. Your hard work is showing.",
"points": {
"score": 5,
"max_score": 7
}
}
},
{
"id": 10813990,
"name": "Bowen, James",
"task_works": [
{
"id": 11861277,
"template_id": 54,
"submission_status": "submitted"
},
{
"id": 11861277,
"template_id": 55,
"submission_status": "submitted"
}
],
"assessments": {
"comments": "Great analysis, but your writing needs to be more concise.",
"points": {
"score": 5,
"max_score": 7
}
}
},
{
"id": 11183705,
"name": "Howard, Jessica",
"task_works": [
{
"id": 11861277,
"template_id": 54,
"submission_status": "waiting"
},
{
"id": 11861277,
"template_id": 55,
"submission_status": "submitted"
}
],
"assessments": {
"comments": null,
"points": {
"score": null,
"max_score": 7
}
}
},
{
"id": 12068760,
"name": "Boyd, Keith",
"task_works": [],
"assessments": {
"comments": null,
"points": {
"score": null,
"max_score": 7
}
}
},
{
"id": 12472028,
"name": "McNeil, Ian",
"task_works": [],
"assessments": {
"comments": null,
"points": {
"score": null,
"max_score": 7
}
}
}
]
}Creates or updates a grade for a specific student on a given task. If a grade already exists, it will be updated; otherwise, a new grade will be created.
The Content-Type header must be set to application/json, and the request body should contain the fields you want to update as a JSON payload.
For MYP, only integers are allowed (e.g., '1', 1). For non-MYP programs, floats are allowed (e.g., '1.22', 1.22), and if more than two decimal places are provided, the value will be automatically rounded (e.g., 1.448 → 1.45).
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for a task.
Unique identifier for a student.
Success
Not Authorized
Forbidden
Not Found
PATCH /v2p0/tasks/{task_id}/students/{student_id} HTTP/1.1
Host: api.devel.managebac.com
Content-Type: application/json
Accept: */*
Content-Length: 84
{
"task_grade": {
"author_id": 123434,
"points": 50,
"comment": "Well done!",
"binary": true
}
}{
"task_grade": {
"author_id": 123434,
"points": 50,
"comment": "Well done!",
"binary": true
}
}Destroys a grade for a specific student on a given task. There is no undo. Applies to all Students if no student_ids are provided.
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for a task.
List of student IDs whose grades and submissions will be reset
Success
DELETE /v2p0/tasks/{task_id}/students HTTP/1.1
Host: api.devel.managebac.com
Content-Type: application/json
Accept: */*
Content-Length: 29
{
"student_ids": [
12345,
67890
]
}Success
[
{
"id": 12343,
"status": "unprocessable_entity",
"error": {}
}
]Creates or updates a grade for many students on a given task. If a grade already exists, it will be updated; otherwise, a new grade will be created.
The Content-Type header must be set to application/json, and the request body should contain the fields you want to update as a JSON payload.
For MYP, only integers are allowed (e.g., '1', 1). For non-MYP programs, floats are allowed (e.g., '1.22', 1.22), and if more than two decimal places are provided, the value will be automatically rounded (e.g., 1.448 → 1.45).
Your V2 API authentication token may be passed in the parameters. To protect your key, use environment variables.
Unique identifier for a task.
Success
Not Authorized
Forbidden
Not Found
PATCH /v2p0/tasks/{task_id}/students HTTP/1.1
Host: api.devel.managebac.com
Content-Type: application/json
Accept: */*
Content-Length: 110
{
"students": [
{
"id": 12345,
"task_grade": {
"author_id": 123434,
"points": 50,
"comment": "Well done!",
"binary": true
}
}
]
}[
{
"id": 12343,
"status": "unprocessable_entity",
"error": {}
}
]Last updated
Was this helpful?

