Projects
This group refers to endpoints related to projects.
Get CAS Experiences for Students in a Year Group
Retrieves CAS (Creativity, Activity, Service) experiences for all students in a year group. Each student's response includes their experience items with approval status, strand breakdowns (creativity/activity/service hours), supervisor details, and approach flags. Results are paginated and can be filtered by student IDs.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
The unique numeric identifier of the year group.
Filter by student IDs
Page number for pagination
Number of results per page (max 500)
Success
Unauthorized
Not found
GET /v2p1/year-groups/{id}/projects/cas/experiences/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 11084604,
"identifier": "STU001",
"aims_and_goals": "Develop leadership through service",
"overall_progress": "excellent",
"component": {
"items": [
{
"id": 22301859,
"name": "Model United Nations",
"status": {
"post_approved": true,
"pre_approved": true,
"progress": {
"title": "completed"
}
},
"status_annotations": {
"incomplete": false,
"rejected": false,
"reviewed": true
},
"supervisor": {
"name": "Jane Smith",
"email": "jane.smith@example.com",
"title": "Program Coordinator",
"contact_number": "+1234567890"
},
"cas_project": true,
"creativity": true,
"creativity_hours": 20,
"activity": true,
"activity_hours": 20,
"service": true,
"service_hours": 10,
"service_action_type": "Direct",
"ongoing_approach": true,
"school_based_approach": false,
"community_based_approach": true,
"individual_approach": false,
"start_date": "2025-01-15",
"end_date": "2025-06-30",
"slug": "experiences"
}
]
}
},
{
"id": 10193652,
"identifier": "STU002",
"aims_and_goals": "",
"overall_progress": "to_be_determined",
"component": {
"items": []
}
}
],
"meta": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 2,
"per_page": 100
}
}Retrieves Creativity, Activity, Service (CAS) settings and component configuration for an IB Diploma year group. Returns the experience component with its hour-tracking settings, total hours requirement, and optional question prompts. Returns 404 if the year group does not support CAS (e.g. IB CP groups).
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
The unique numeric identifier of the year group.
Success
Unauthorized
Not found
GET /v2p1/year-groups/{id}/projects/cas HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"cas": {
"components": [
{
"slug": "experiences",
"label": "Experiences",
"track_hours": true,
"show_hours_chart": true,
"cas_total_hours": 150,
"show_aims_and_goals": true,
"optional_question": "What are your goals?",
"activity_description_title": "Description and Goals"
}
]
}
}Get Student Proposal Progress for a Year Group PBL
Retrieves Proposal component progress for each student in a Year Group PBL project. Includes status, supervisor, and proposal field values for each student.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
A Year Group ID.
A PBL Project ID.
A boolean parameter to filter archived or active Year Groups
A boolean parameter to specify that specifies if archived students are included in response
Success
Unauthorized
Not Found
GET /v2p1/year-groups/{year_group_id}/projects/pbl/{project_id}/proposal/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 12345,
"identifier": "S2025-52-4",
"status": {
"progress": {
"id": 312,
"title": "Excellent",
"default": true
},
"approved": false,
"completed": false
},
"supervisor": {
"id": 1232,
"identifier": "S2025-52-s"
},
"component": {
"slug": "proposal",
"items": [
{
"id": 12,
"title": "Field Text",
"kind": "radio_buttons",
"value": null
}
]
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"per_page": 100
}
}Get Student Reflection Progress for a Year Group PBL
Retrieves Reflections component progress for each student in a Year Group PBL project. Includes status, supervisor, and reflection submission details for each student.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
A Year Group ID.
A PBL Project ID.
A boolean parameter to filter archived or active Year Groups
A boolean parameter to specify that specifies if archived students are included in response
Success
Unauthorized
Not Found
GET /v2p1/year-groups/{year_group_id}/projects/pbl/{project_id}/reflections/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 12345,
"identifier": "S2025-52-4",
"status": {
"progress": {
"id": 312,
"title": "Excellent",
"default": true
},
"approved": false,
"completed": false
},
"supervisor": {
"id": 1232,
"identifier": "S2025-52-s"
},
"component": {
"slug": "reflections",
"items": [
{
"id": 12,
"title": "Field Text",
"submitted": false
}
]
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"per_page": 100
}
}Get Student Personal Todos and Deadlines for a Year Group PBL
Retrieves Todos component progress for each student in a Year Group PBL project. Includes personal todos and deadline items with completion status for each student.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
A Year Group ID.
A PBL Project ID.
A boolean parameter to filter archived or active Year Groups
A boolean parameter to specify that specifies if archived students are included in response
Page number for pagination
Number of results per page
Success without deadline todos
Bad Request
Unauthorized
Not Found
GET /v2p1/year-groups/{year_group_id}/projects/pbl/{project_id}/todos/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 12345,
"identifier": "S2025-52-4",
"status": {
"progress": {
"id": 312,
"title": "Excellent",
"default": true
},
"approved": false,
"completed": false
},
"supervisor": {
"id": 1232,
"identifier": "S2025-52-s"
},
"component": {
"slug": "todos",
"personal_todos": [
{
"id": 1,
"title": "Project Title",
"completed": false,
"responsible_group": null
}
],
"deadlines": [
{
"id": 12,
"title": "Deadline Title",
"due_date": "2026-03-14T09:00:00Z",
"status": "Pending",
"todos": [
{
"id": 123,
"title": "Todo Title",
"completed": false,
"responsible_group": "advisors"
}
]
}
]
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"per_page": 100
}
}Get Student Journal Entries for a Year Group PBL
Retrieves Journal component entries for each student in a Year Group PBL project. Includes journal entry body, files, photos, and author information for each student.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
A Year Group ID.
A PBL Project ID.
A boolean parameter to filter archived or active Year Groups
A boolean parameter to specify that specifies if archived students are included in response
Success
Unauthorized
Not Found
GET /v2p1/year-groups/{year_group_id}/projects/pbl/{project_id}/journal/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 12345,
"identifier": "S2025-52-4",
"status": {
"progress": {
"id": 312,
"title": "Excellent",
"default": true
},
"approved": false,
"completed": false
},
"supervisor": {
"id": 1232,
"identifier": "S2025-52-s"
},
"component": {
"slug": "journal",
"items": [
{
"id": 1,
"kind": "journal",
"title": null,
"description": null,
"author_id": 12,
"created_at": "2025-11-19T22:06:09Z",
"files": [],
"body": "Test 1",
"photos": [],
"url": null
}
]
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"per_page": 100
}
}Get Student Documents for a Year Group PBL
This endpoint retrieves information about Year Group students PBL details for Documents component.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
A Year Group ID.
A PBL Project ID.
A boolean parameter to filter archived or active Year Groups
A boolean parameter to specify that specifies if archived students are included in response
Success
Not Found
GET /v2p1/year-groups/{year_group_id}/projects/pbl/{project_id}/documents/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 12345,
"identifier": "S2025-52-4",
"status": {
"progress": {
"id": 312,
"title": "Excellent",
"default": true
},
"approved": false,
"completed": false
},
"supervisor": {
"id": 1232,
"identifier": "S2025-52-s"
},
"component": {
"slug": "documents",
"items": [
{
"id": 1,
"filename": "document.txt",
"url": "https://example.com/uploads/store/asset/file/16/document.txt",
"created_at": "2025-11-20T00:05:14Z"
}
]
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"per_page": 100
}
}Get Student Presentations for a Year Group PBL
This endpoint retrieves information about Year Group students PBL details for Presentation component.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
A Year Group ID.
A PBL Project ID.
A boolean parameter to filter archived or active Year Groups
A boolean parameter to specify that specifies if archived students are included in response
Success
Not Found
GET /v2p1/year-groups/{year_group_id}/projects/pbl/{project_id}/presentation/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 12345,
"identifier": "S2025-52-4",
"status": {
"progress": {
"id": 312,
"title": "Excellent",
"default": true
},
"approved": false,
"completed": false
},
"supervisor": {
"id": 1232,
"identifier": "S2025-52-s"
},
"component": {
"slug": "presentation",
"title": "Presentation",
"duration": null,
"documents": [
{
"id": 1,
"caption": "uploaded file",
"url": "https://example.com/uploads/store/asset/file/16/document.txt",
"created_at": "2025-11-20T09:28:39Z"
}
],
"items": [
{
"title": "Presentation Field Title",
"value": "Value 1, Value 2"
}
]
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"per_page": 100
}
}Get Student Notes & Interviews for a Year Group PBL
This endpoint retrieves information about Year Group students PBL details for Notes and Interviews component.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
A Year Group ID.
A PBL Project ID.
A boolean parameter to filter archived or active Year Groups
A boolean parameter to specify that specifies if archived students are included in response
Success
Not Found
GET /v2p1/year-groups/{year_group_id}/projects/pbl/{project_id}/notes_and_interviews/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"students": [
{
"id": 12345,
"identifier": "S2025-52-4",
"status": {
"progress": {
"id": 312,
"title": "Excellent",
"default": true
},
"approved": false,
"completed": false
},
"supervisor": {
"id": 1232,
"identifier": "S2025-52-s"
},
"component": {
"slug": "notes_and_interviews",
"items": [
{
"id": 1,
"author": {
"id": 123
},
"interview": true,
"title": "Interview Title",
"body": "Interview Body",
"posted_at": "2026-06-25T14:05:00Z"
}
]
}
}
],
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"per_page": 100
}
}Retrieves Project Based Learning (PBL) templates for a Year Group, including title, abbreviation, subject, and component configuration for each template.
OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.
A Year Group ID.
A boolean parameter to filter archived or active Year Groups
Success
Unauthorized
Not Found
GET /v2p1/year-groups/{id}/projects/pbl HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"pbl": [
{
"id": 396,
"title": "TOK Essay",
"abbreviation": "TOK",
"archived": false,
"subject": {
"id": 798,
"name": "Theory of Knowledge"
},
"description": "The TOK essay is the external assessment for TOK. Students are required to write an essay in response to one of the six prescribed titles that are issued by the IB for each examination session.",
"components": [
{
"slug": "proposal",
"label": "Prescribed Title",
"enabled": true
},
{
"slug": "todos",
"label": "To Dos",
"enabled": true
},
{
"slug": "documents",
"label": "Documents",
"enabled": true
},
{
"slug": "notes_and_interviews",
"label": "Notes",
"enabled": true
}
]
}
]
}Last updated