For the complete documentation index, see llms.txt. This page is also available as Markdown.

Projects

This group refers to endpoints related to projects.

Get CAS Experiences for Students in a Year Group

get
/v2p3/year-groups/{id}/projects/cas/experiences/students

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.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
idintegerRequired

The unique numeric identifier of the year group.

Query parameters
student_ids[]integer[]Optional

Filter by student IDs

pageintegerOptional

Page number for pagination

per_pageintegerOptional

Number of results per page (max 500)

Responses
200

Success

application/json
get/v2p3/year-groups/{id}/projects/cas/experiences/students
GET /v2p3/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
  }
}

Get CAS settings for a Year Group

get
/v2p3/year-groups/{id}/projects/cas

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).

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
idintegerRequired

The unique numeric identifier of the year group.

Responses
200

Success

application/json
get/v2p3/year-groups/{id}/projects/cas
GET /v2p3/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

get
/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/proposal/students

Retrieves Proposal component progress for each student in a Year Group PBL project. Includes status, supervisor, and proposal field values for each student.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
year_group_idintegerRequired

A Year Group ID.

project_idintegerRequired

A PBL Project ID.

Query parameters
archivedbooleanOptional

A boolean parameter to filter archived or active Year Groups

include_archived_studentsbooleanOptional

A boolean parameter to specify that specifies if archived students are included in response

Responses
200

Success

application/json
get/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/proposal/students
GET /v2p3/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

get
/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/reflections/students

Retrieves Reflections component progress for each student in a Year Group PBL project. Includes status, supervisor, and reflection submission details for each student.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
year_group_idintegerRequired

A Year Group ID.

project_idintegerRequired

A PBL Project ID.

Query parameters
archivedbooleanOptional

A boolean parameter to filter archived or active Year Groups

include_archived_studentsbooleanOptional

A boolean parameter to specify that specifies if archived students are included in response

Responses
200

Success

application/json
get/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/reflections/students
GET /v2p3/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

get
/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/todos/students

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.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
year_group_idintegerRequired

A Year Group ID.

project_idintegerRequired

A PBL Project ID.

Query parameters
archivedbooleanOptional

A boolean parameter to filter archived or active Year Groups

include_archived_studentsbooleanOptional

A boolean parameter to specify that specifies if archived students are included in response

pageintegerOptional

Page number for pagination

per_pageintegerOptional

Number of results per page

Responses
200

Success without deadline todos

application/json
get/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/todos/students
GET /v2p3/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

get
/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/journal/students

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.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
year_group_idintegerRequired

A Year Group ID.

project_idintegerRequired

A PBL Project ID.

Query parameters
archivedbooleanOptional

A boolean parameter to filter archived or active Year Groups

include_archived_studentsbooleanOptional

A boolean parameter to specify that specifies if archived students are included in response

Responses
200

Success

application/json
get/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/journal/students
GET /v2p3/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

get
/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/documents/students

This endpoint retrieves information about Year Group students PBL details for Documents component.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
year_group_idintegerRequired

A Year Group ID.

project_idintegerRequired

A PBL Project ID.

Query parameters
archivedbooleanOptional

A boolean parameter to filter archived or active Year Groups

include_archived_studentsbooleanOptional

A boolean parameter to specify that specifies if archived students are included in response

Responses
200

Success

application/json
get/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/documents/students
GET /v2p3/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

get
/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/presentation/students

This endpoint retrieves information about Year Group students PBL details for Presentation component.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
year_group_idintegerRequired

A Year Group ID.

project_idintegerRequired

A PBL Project ID.

Query parameters
archivedbooleanOptional

A boolean parameter to filter archived or active Year Groups

include_archived_studentsbooleanOptional

A boolean parameter to specify that specifies if archived students are included in response

Responses
200

Success

application/json
get/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/presentation/students
GET /v2p3/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

get
/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/notes_and_interviews/students

This endpoint retrieves information about Year Group students PBL details for Notes and Interviews component.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
year_group_idintegerRequired

A Year Group ID.

project_idintegerRequired

A PBL Project ID.

Query parameters
archivedbooleanOptional

A boolean parameter to filter archived or active Year Groups

include_archived_studentsbooleanOptional

A boolean parameter to specify that specifies if archived students are included in response

Responses
200

Success

application/json
get/v2p3/year-groups/{year_group_id}/projects/pbl/{project_id}/notes_and_interviews/students
GET /v2p3/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
  }
}

Get all Year Group Project Based Learning

get
/v2p3/year-groups/{id}/projects/pbl

Retrieves Project Based Learning (PBL) templates for a Year Group, including title, abbreviation, subject, and component configuration for each template.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as Bearer <token>.

Path parameters
idintegerRequired

A Year Group ID.

Query parameters
archivedbooleanOptional

A boolean parameter to filter archived or active Year Groups

Responses
200

Success

application/json
get/v2p3/year-groups/{id}/projects/pbl
GET /v2p3/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