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

Year Groups

A Year Group is a collection of student memberships in a cohort that share the same Program.

Get Service Learning Categories for Students in a Year Group

get
/v2p1/year-groups/{id}/projects/sl/categories/students

Retrieves Service Learning category activities for all students in a year group. Each student's response includes their categorized activities with approval status, supervisor details, activity type, date range, and associated learning outcomes. 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/v2p1/year-groups/{id}/projects/sl/categories/students
GET /v2p1/year-groups/{id}/projects/sl/categories/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "students": [
    {
      "id": 11084604,
      "identifier": "STU001",
      "component": {
        "items": [
          {
            "id": 22301859,
            "name": "Community Garden Project",
            "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"
            },
            "activity_type": "Service",
            "start_date": "2025-01-15",
            "end_date": "2025-06-30",
            "learning_outcomes": [
              {
                "id": 1,
                "name": "LO1",
                "description": "First learning outcome"
              }
            ],
            "slug": "categories"
          }
        ]
      }
    },
    {
      "id": 10193652,
      "identifier": "STU002",
      "component": {
        "items": []
      }
    }
  ],
  "meta": {
    "current_page": 1,
    "next_page": null,
    "prev_page": null,
    "total_pages": 1,
    "total_count": 2,
    "per_page": 100
  }
}

Get Service Learning Outcomes for Students in a Year Group

get
/v2p1/year-groups/{id}/projects/sl/outcomes/students

Retrieves Service Learning outcomes progress for all students in a year group. Each student's response includes their progress on each defined learning outcome, with counts of activities linked to each outcome. 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/v2p1/year-groups/{id}/projects/sl/outcomes/students
GET /v2p1/year-groups/{id}/projects/sl/outcomes/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "students": [
    {
      "id": 11084604,
      "identifier": "STU001",
      "status": "On-track",
      "overall_progress": "on_track",
      "component": {
        "items": [
          {
            "id": 1,
            "title": "Strength & Growth",
            "description": "Identify own strengths and develop areas for growth",
            "completed": true,
            "experiences_with_reflection": 2,
            "total_experiences": 3,
            "slug": "outcomes"
          }
        ]
      }
    }
  ],
  "meta": {
    "current_page": 1,
    "next_page": null,
    "prev_page": null,
    "total_pages": 1,
    "total_count": 1,
    "per_page": 100
  }
}

Get Service Learning settings for a Year Group

get
/v2p1/year-groups/{id}/projects/sl

Retrieves Service Learning (or Community Engagement) settings and component configuration for a year group. Returns the program title, description, abbreviation, and two components: categories (engagement types with their labels, initials, and color codes) and outcomes (learning outcomes with titles and descriptions). Returns 404 if the year group does not support Service Learning (e.g. IB Diploma 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/v2p1/year-groups/{id}/projects/sl
GET /v2p1/year-groups/{id}/projects/sl HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "service_learning": {
    "title": "Service Learning Programme",
    "description": "A comprehensive service learning programme",
    "abbreviation": "SL",
    "components": [
      {
        "slug": "categories",
        "label": "Categories",
        "types": [
          {
            "id": 1,
            "label": "Type 1",
            "initial": "T1",
            "color_code": "#FF5733"
          }
        ]
      },
      {
        "slug": "outcomes",
        "label": "Learning Outcomes",
        "outcomes": [
          {
            "id": 1,
            "title": "Outcome 1",
            "description": "First learning outcome"
          }
        ]
      }
    ]
  }
}

Get all Year Groups

get
/v2p1/year-groups

Retrieves basic information for all Year Groups, including the group name, program, program_code, grade level, and student IDs for members.

Authorizations
AuthorizationstringRequired

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

Query parameters
modified_sincestringOptional

A timestamp to filter results by modification date.

pagestringOptional

An integer defining which page to display.

per_pagestringOptional

An integer defining the number of records to display per page.

archivedbooleanOptional

A boolean that, if set to true, returns only archived groups.

student_idsinteger[]Optional

List of student ids. Accepts repeated params or a comma-separated string.

Example: student_ids=1,2,3 OR student_ids[]=1&student_ids[]=2
Responses
200

Success

application/json
get/v2p1/year-groups
GET /v2p1/year-groups HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "year_groups": [
    {
      "id": 10907398,
      "name": "IB Diploma Group of 2019 (Grade 12)",
      "short_name": "IB Diploma Group of 2019",
      "program": "IB Diploma",
      "program_code": "diploma",
      "grade": "Grade 12",
      "archived": false,
      "grade_number": 13,
      "graduation_year": 2025,
      "student_ids": [
        10193652
      ]
    },
    {
      "id": 11076103,
      "name": "IB MYP Group of 2019 (Year 4)",
      "short_name": "IB MYP Group of 2019",
      "program": "IB Middle Years",
      "program_code": "myp",
      "grade": "Year 4",
      "archived": false,
      "grade_number": 10,
      "graduation_year": 2019,
      "student_ids": [
        12459565,
        11456849,
        12068809
      ]
    }
  ],
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 2,
    "per_page": 100
  }
}

Get Students for a Year Group

get
/v2p1/year-groups/{id}/students

Retrieves all students belonging to a year group, as specified by the year group ID. Returns student details including email, name, program, grade, and parent 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

Unique identifier for year group.

Query parameters
pagestringOptional

An integer defining which page to display.

per_pagestringOptional

An integer defining the number of records to display per page.

student_idsinteger[]Optional

List of student ids. Accepts repeated params or a comma-separated string.

Example: student_ids=1,2,3 OR student_ids[]=1&student_ids[]=2
Responses
200

Success

application/json
get/v2p1/year-groups/{id}/students
GET /v2p1/year-groups/{id}/students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 3,
    "per_page": 100
  },
  "student_ids": [
    10193652,
    12449380,
    12569245
  ],
  "students": [
    {
      "id": 10193652,
      "email": "cage@eduvo.com",
      "first_name": "John",
      "last_name": "Cage",
      "archived": false,
      "created_at": "2018-09-15T06:31:08.000-07:00",
      "updated_at": "2021-02-23T00:57:49.000-08:00",
      "last_accessed_at": "2021-02-25T08:13:03.000-08:00",
      "gender": "Male",
      "birthday": "1994-08-01",
      "mobile_phone_number": "",
      "student_id": "857906",
      "cas_advisor_id": 10559037,
      "class_grade": "Grade 10",
      "class_grade_number": 11,
      "program": "IB Diploma",
      "program_code": "diploma",
      "ib_group_id": 10342694,
      "year_group_id": 10342694,
      "parent_ids": [],
      "street_address": "",
      "city": "New York",
      "state": "",
      "zipcode": "",
      "country": "US",
      "nationalities": [
        "US"
      ],
      "languages": [
        "ENG",
        "SPA"
      ],
      "graduating_year": 2023,
      "role": "Student"
    },
    {
      "id": 12449380,
      "email": "blue@eduvo.com",
      "first_name": "Blue Ivy",
      "last_name": "Carter",
      "archived": false,
      "created_at": "2014-03-11T06:50:34.000-07:00",
      "updated_at": "2021-02-23T00:57:48.000-08:00",
      "student_id": "",
      "class_grade": "Grade 10",
      "class_grade_number": 11,
      "program": "IB Diploma",
      "program_code": "diploma",
      "ib_group_id": 10342694,
      "year_group_id": 10342694,
      "parent_ids": [
        10193613,
        12425959
      ],
      "nationalities": [],
      "languages": [],
      "graduating_year": 2023,
      "role": "Student"
    },
    {
      "id": 12569245,
      "email": "robyn@managebac.com",
      "first_name": "Robyn",
      "last_name": "Anderson",
      "archived": false,
      "created_at": "2014-10-23T06:12:42.000-07:00",
      "updated_at": "2021-02-23T00:57:49.000-08:00",
      "phone_number": "",
      "mobile_phone_number": "",
      "national_id": "",
      "student_id": "",
      "class_grade": "Grade 10",
      "class_grade_number": 11,
      "program": "IB Diploma",
      "program_code": "diploma",
      "ib_group_id": 10342694,
      "year_group_id": 10342694,
      "parent_ids": [],
      "street_address": "99590 Johnson Park",
      "street_address_ii": "",
      "city": "Fort Lauderdale",
      "state": "FL",
      "zipcode": "72146",
      "country": "US",
      "nationalities": [],
      "languages": [],
      "graduating_year": 2023,
      "role": "Student"
    }
  ]
}

Add Students to a Year Group

post
/v2p1/year-groups/{id}/add_students

Adds a list of student IDs to a year group, as specified by the year group ID. Students who are already members of the group will not be duplicated.

A student may only belong to one active year group at a time, so any student added here is removed from their other active year groups. Adding a student to an archived year group does not affect their active year group membership.

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

Unique identifier for year group.

Body
student_idsinteger[]Required

An array of student IDs to be added to a year group

Responses
200

Success

application/json
post/v2p1/year-groups/{id}/add_students
POST /v2p1/year-groups/{id}/add_students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "student_ids": [
    1
  ]
}
{
  "status": "ok"
}

Remove Students from a Year Group

post
/v2p1/year-groups/{id}/remove_students

Removes a list of student IDs from a year group, as specified by the year group ID. Students not currently in the group will be silently ignored.

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

Unique identifier for year group.

Body
student_idsinteger[]Required

An array of Student IDs to remove from the Year Group

Responses
200

Success

application/json
post/v2p1/year-groups/{id}/remove_students
POST /v2p1/year-groups/{id}/remove_students HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "student_ids": [
    1
  ]
}
{
  "status": "ok"
}

Get Advisors

get
/v2p1/year-groups/{id}/advisors

Retrieves the Homeroom, CAS, EE, TOK, and Project-based Learning advisors for a Year Group, specified by its ID. Returns advisor IDs and role abbreviations.

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

Unique identifier for year group.

Responses
200

Success

application/json
get/v2p1/year-groups/{id}/advisors
GET /v2p1/year-groups/{id}/advisors HTTP/1.1
Host: api.managebac.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "advisors": [
    {
      "id": 10193613,
      "roles": [
        "homeroom",
        "cas",
        "M25",
        "EXT"
      ]
    },
    {
      "id": 12425959,
      "roles": [
        "ee",
        "tok",
        "M25"
      ]
    }
  ]
}

Last updated