> For the complete documentation index, see [llms.txt](https://guide.fariaedu.com/integrations-portal/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide.fariaedu.com/integrations-portal/managebac/public-rest-apis/v2p1/academics.md).

# Academics

This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session.

## Create Academic Term

> Creates an Academic Term within the specified Academic Year.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"AcademicTermResponse":{"type":"object","properties":{"academic_term":{"$ref":"#/components/schemas/AcademicTermAttributes"}}},"AcademicTermAttributes":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID in ManageBac."},"academic_year_id":{"type":"integer","description":"Unique ID in ManageBac."},"name":{"type":"string","description":"Academic Term name."},"starts_on":{"type":"string","description":"Academic Term start date"},"ends_on":{"type":"string","description":"Academic Term end date"},"locked":{"type":"boolean","description":"Restrict teachers from making any changes to term grades."},"exam_grade":{"type":"boolean","description":"Enable Exam Grade."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"AcademicTermRequest":{"type":"object","properties":{"academic_term":{"$ref":"#/components/schemas/AcademicTerm"}}},"AcademicTerm":{"type":"object","description":"A term (semester/trimester/quarter) within an academic year. Terms define the time periods for which term grades are recorded.","required":["name","starts_on","ends_on"],"properties":{"name":{"type":"string","description":"Display name for this term (e.g. \"Semester 1\", \"Term 2\"). Required on create."},"starts_on":{"type":"string","description":"First day of the term in yyyy-mm-dd format. Required on create."},"ends_on":{"type":"string","description":"Last day of the term in yyyy-mm-dd format. Required on create."},"locked":{"type":"boolean","description":"When true, teachers cannot edit term grades for this term. Typically locked after grades are finalized and published."},"enable_exam_grade":{"type":"boolean","description":"When true, an additional exam grade column is available alongside the regular term grade. Used in IB Diploma for predicted vs exam grades."}}}}},"paths":{"/v2p1/school/programs/{program_code}/academic-years/{academic_year_id}/academic-terms":{"post":{"summary":"Create Academic Term","operationId":"createAcademicTerm","tags":["Academics"],"description":"Creates an Academic Term within the specified Academic Year.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"academic_year_id","in":"path","description":"Academic Year ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicTermResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"starts_on":{"type":"array","items":{"type":"string"}}}}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicTermRequest"}}}}}}}}
```

## Delete Academic Term

> Deletes an Academic Term from the specified Academic Year by ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"AcademicTermResponse":{"type":"object","properties":{"academic_term":{"$ref":"#/components/schemas/AcademicTermAttributes"}}},"AcademicTermAttributes":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID in ManageBac."},"academic_year_id":{"type":"integer","description":"Unique ID in ManageBac."},"name":{"type":"string","description":"Academic Term name."},"starts_on":{"type":"string","description":"Academic Term start date"},"ends_on":{"type":"string","description":"Academic Term end date"},"locked":{"type":"boolean","description":"Restrict teachers from making any changes to term grades."},"exam_grade":{"type":"boolean","description":"Enable Exam Grade."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}}}},"paths":{"/v2p1/school/programs/{program_code}/academic-years/{academic_year_id}/academic-terms/{id}":{"delete":{"summary":"Delete Academic Term","operationId":"deleteAcademicTerm","tags":["Academics"],"description":"Deletes an Academic Term from the specified Academic Year by ID.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"academic_year_id","in":"path","description":"Academic Year ID","required":true,"schema":{"type":"integer"}},{"name":"id","in":"path","description":"Academic Term ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicTermResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"base":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}}
```

## Update Academic Term

> Updates an Academic Term within the specified Academic Year by ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"AcademicTermResponse":{"type":"object","properties":{"academic_term":{"$ref":"#/components/schemas/AcademicTermAttributes"}}},"AcademicTermAttributes":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID in ManageBac."},"academic_year_id":{"type":"integer","description":"Unique ID in ManageBac."},"name":{"type":"string","description":"Academic Term name."},"starts_on":{"type":"string","description":"Academic Term start date"},"ends_on":{"type":"string","description":"Academic Term end date"},"locked":{"type":"boolean","description":"Restrict teachers from making any changes to term grades."},"exam_grade":{"type":"boolean","description":"Enable Exam Grade."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"NotFound":{"type":"object","description":"Returned when the requested resource cannot be found by the given ID.","properties":{"error":{"type":"string","description":"A human-readable message indicating which resource could not be found, including the model name and the ID that was looked up."}}},"AcademicTermRequest":{"type":"object","properties":{"academic_term":{"$ref":"#/components/schemas/AcademicTerm"}}},"AcademicTerm":{"type":"object","description":"A term (semester/trimester/quarter) within an academic year. Terms define the time periods for which term grades are recorded.","required":["name","starts_on","ends_on"],"properties":{"name":{"type":"string","description":"Display name for this term (e.g. \"Semester 1\", \"Term 2\"). Required on create."},"starts_on":{"type":"string","description":"First day of the term in yyyy-mm-dd format. Required on create."},"ends_on":{"type":"string","description":"Last day of the term in yyyy-mm-dd format. Required on create."},"locked":{"type":"boolean","description":"When true, teachers cannot edit term grades for this term. Typically locked after grades are finalized and published."},"enable_exam_grade":{"type":"boolean","description":"When true, an additional exam grade column is available alongside the regular term grade. Used in IB Diploma for predicted vs exam grades."}}}}},"paths":{"/v2p1/school/programs/{program_code}/academic-years/{academic_year_id}/academic-terms/{id}":{"patch":{"summary":"Update Academic Term","operationId":"updateAcademicTerm","tags":["Academics"],"description":"Updates an Academic Term within the specified Academic Year by ID.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"academic_year_id","in":"path","description":"Academic Year ID","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Academic Term ID","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicTermResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound"}}}},"422":{"description":"Unprocessable entity","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"starts_on":{"type":"array","items":{"type":"string"}}}}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicTermRequest"}}}}}}}}
```

## Retrieve Academic Year

> Retrieves an Academic Year by ID, including its associated Academic Terms.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"AcademicYearResponse":{"type":"object","properties":{"academic_year":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID in ManageBac."},"name":{"type":"string","description":"Academic Year name."},"starts_on":{"type":"string","description":"Academic Year start date."},"ends_on":{"type":"string","description":"Academic Year end date."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."},"program":{"type":"string","description":"Academic Year program."},"academic_terms":{"type":"array","description":"Academic Terms.","items":{"$ref":"#/components/schemas/AcademicTermAttributes"}}}}}},"AcademicTermAttributes":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID in ManageBac."},"academic_year_id":{"type":"integer","description":"Unique ID in ManageBac."},"name":{"type":"string","description":"Academic Term name."},"starts_on":{"type":"string","description":"Academic Term start date"},"ends_on":{"type":"string","description":"Academic Term end date"},"locked":{"type":"boolean","description":"Restrict teachers from making any changes to term grades."},"exam_grade":{"type":"boolean","description":"Enable Exam Grade."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"NotFound":{"type":"object","description":"Returned when the requested resource cannot be found by the given ID.","properties":{"error":{"type":"string","description":"A human-readable message indicating which resource could not be found, including the model name and the ID that was looked up."}}}}},"paths":{"/v2p1/school/programs/{program_code}/academic-years/{id}":{"get":{"summary":"Retrieve Academic Year","tags":["Academics"],"description":"Retrieves an Academic Year by ID, including its associated Academic Terms.\n","parameters":[{"name":"program_code","in":"path","description":"Program code","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Unique ID in ManageBac.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicYearResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound"}}}}}}}}}
```

## Create Academic Year

> Creates an Academic Year with its associated Academic Terms.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"AcademicYearResponse":{"type":"object","properties":{"academic_year":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID in ManageBac."},"name":{"type":"string","description":"Academic Year name."},"starts_on":{"type":"string","description":"Academic Year start date."},"ends_on":{"type":"string","description":"Academic Year end date."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."},"program":{"type":"string","description":"Academic Year program."},"academic_terms":{"type":"array","description":"Academic Terms.","items":{"$ref":"#/components/schemas/AcademicTermAttributes"}}}}}},"AcademicTermAttributes":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID in ManageBac."},"academic_year_id":{"type":"integer","description":"Unique ID in ManageBac."},"name":{"type":"string","description":"Academic Term name."},"starts_on":{"type":"string","description":"Academic Term start date"},"ends_on":{"type":"string","description":"Academic Term end date"},"locked":{"type":"boolean","description":"Restrict teachers from making any changes to term grades."},"exam_grade":{"type":"boolean","description":"Enable Exam Grade."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."}}},"InvalidPayloadError":{"type":"object","description":"Returned when the request body fails validation or contains unpermitted parameters.","properties":{"error":{"type":"string","description":"A human-readable message describing the validation failure. For unpermitted parameters, includes an allowed_params array listing the accepted field names.\n"}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"AcademicYearRequest":{"type":"object","properties":{"academic_year":{"type":"object","properties":{"terms_attributes":{"type":"array","description":"Academic Terms.","items":{"$ref":"#/components/schemas/AcademicTerm"}}}}}},"AcademicTerm":{"type":"object","description":"A term (semester/trimester/quarter) within an academic year. Terms define the time periods for which term grades are recorded.","required":["name","starts_on","ends_on"],"properties":{"name":{"type":"string","description":"Display name for this term (e.g. \"Semester 1\", \"Term 2\"). Required on create."},"starts_on":{"type":"string","description":"First day of the term in yyyy-mm-dd format. Required on create."},"ends_on":{"type":"string","description":"Last day of the term in yyyy-mm-dd format. Required on create."},"locked":{"type":"boolean","description":"When true, teachers cannot edit term grades for this term. Typically locked after grades are finalized and published."},"enable_exam_grade":{"type":"boolean","description":"When true, an additional exam grade column is available alongside the regular term grade. Used in IB Diploma for predicted vs exam grades."}}}}},"paths":{"/v2p1/school/programs/{program_code}/academic-years":{"post":{"summary":"Create Academic Year","operationId":"createAcademicYear","tags":["Academics"],"description":"Creates an Academic Year with its associated Academic Terms.\n","parameters":[{"name":"program_code","in":"path","description":"Program code","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicYearResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidPayloadError"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicYearRequest"}}}}}}}}
```

## Retrieves Assessment Types

> Retrieves the list of assessment types configured for a given program. Each assessment type includes\
> its kind (e.g. summative, formative), display name, color code, and the assessment methods that are\
> available or required for that type (binary, criteria, comment, points).<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"AssessmentTypesResponse":{"type":"object","properties":{"assessment_type":{"$ref":"#/components/schemas/AssessmentTypeAttributes"}}},"AssessmentTypeAttributes":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string"},"name":{"type":"string"},"color_code":{"type":"string"},"available_assessments":{"type":"array","items":{"type":"string"}},"required_assessments":{"type":"array","items":{"type":"string"}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}}}},"paths":{"/v2p1/school/programs/{program_code}/assessment_types":{"get":{"summary":"Retrieves Assessment Types","operationId":"getAssessmentTypes","tags":["Academics"],"description":"Retrieves the list of assessment types configured for a given program. Each assessment type includes\nits kind (e.g. summative, formative), display name, color code, and the assessment methods that are\navailable or required for that type (binary, criteria, comment, points).\n","parameters":[{"name":"program_code","in":"path","description":"The short code identifying the program (e.g. \"ibpyp\", \"diploma\", \"igcse\").","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessmentTypesResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}}}}}}}
```

## Get Academic Year Calendar

> Retrieves the academic year calendar for a specific program and academic year. Returns the calendar\
> configuration (type, rotation cycle length, days off, whether holidays are ignored) and an array of\
> dates with their assigned rotation day numbers. Vacation days are excluded from the rotation sequence.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"AcademicYearCalendarResponse":{"type":"object","properties":{"calendar":{"type":"object","properties":{"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"calendar_type":{"type":"string"},"rotation_cycle":{"type":"integer"},"ignore_holidays":{"type":"boolean"},"days_off":{"type":"array","items":{"type":"integer"}},"dates":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","format":"date"},"rotation_day":{"type":"integer"}}}}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"NotFound":{"type":"object","description":"Returned when the requested resource cannot be found by the given ID.","properties":{"error":{"type":"string","description":"A human-readable message indicating which resource could not be found, including the model name and the ID that was looked up."}}}}},"paths":{"/v2p1/school/programs/{program_code}/academic-years/{academic_year_id}/calendar":{"get":{"summary":"Get Academic Year Calendar","tags":["Academics"],"description":"Retrieves the academic year calendar for a specific program and academic year. Returns the calendar\nconfiguration (type, rotation cycle length, days off, whether holidays are ignored) and an array of\ndates with their assigned rotation day numbers. Vacation days are excluded from the rotation sequence.\n","parameters":[{"name":"program_code","in":"path","description":"The short code identifying the program (e.g. \"diploma\", \"ibpyp\").","required":true,"schema":{"type":"string"}},{"name":"academic_year_id","in":"path","description":"The unique numeric identifier of the academic year.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcademicYearCalendarResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound"}}}}}}}}}
```

## Get All Term Reports

> Retrieves a list of published term reports for the specified program. Each report includes\
> download URLs for PDF, individual reports ZIP, and term grades ZIP when available.\
> Only non-draft reports are returned.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}}},"paths":{"/v2p1/school/programs/{program}/reports":{"get":{"summary":"Get All Term Reports","operationId":"GetAllTermReports","tags":["Academics"],"description":"Retrieves a list of published term reports for the specified program. Each report includes\ndownload URLs for PDF, individual reports ZIP, and term grades ZIP when available.\nOnly non-draft reports are returned.\n","parameters":[{"name":"program","in":"path","required":true,"description":"Program code (e.g. diploma, myp, pyp, cp)","schema":{"type":"string"}},{"name":"academic_term_id","in":"query","required":false,"description":"Filter by academic term ID","schema":{"type":"integer"}},{"name":"type","in":"query","required":false,"description":"Filter by report type: final or interim:\n * `final` \n * `interim` \n ","enum":["final","interim"],"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"term_reports":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string","enum":["final","interim"]},"program":{"type":"string"},"academic_term_id":{"type":"integer"},"academic_term_name":{"type":"string"},"next_gen":{"type":"boolean"},"pdf_url":{"type":"string"},"individual_reports_url":{"type":"string"},"term_grades_url":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"released_on":{"type":"string","format":"date"}}}},"meta":{"type":"object","properties":{"current_page":{"type":"integer"},"total_pages":{"type":"integer"},"total_count":{"type":"integer"},"per_page":{"type":"integer"}}}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Program not found"}}}}}}
```

## Get Term Report

> Retrieves a single published term report by ID, with download URLs for available files.

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}}},"paths":{"/v2p1/school/programs/{program}/reports/{id}":{"get":{"summary":"Get Term Report","operationId":"getTermReport","tags":["Academics"],"description":"Retrieves a single published term report by ID, with download URLs for available files.","parameters":[{"name":"program","in":"path","required":true,"description":"Program code","schema":{"type":"string"}},{"name":"id","in":"path","required":true,"description":"Term report ID","schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"term_report":{"type":"object","properties":{"id":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string","enum":["final","interim"]},"program":{"type":"string"},"academic_term_id":{"type":"integer"},"academic_term_name":{"type":"string"},"next_gen":{"type":"boolean"},"pdf_url":{"type":"string"},"individual_reports_url":{"type":"string"},"term_grades_url":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"released_on":{"type":"string","format":"date"}}}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Not found"}}}}}}
```

## Download Term Report File

> Returns a 302 redirect to a pre-signed download URL for the requested file.\
> Supported file types: pdf (master PDF), individual\_reports (ZIP of individual student PDFs),\
> term\_grades (ZIP of term grades export).<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}}},"paths":{"/v2p1/school/programs/{program}/reports/{id}/download/{kind}":{"get":{"summary":"Download Term Report File","operationId":"downloadTermReportFile","tags":["Academics"],"description":"Returns a 302 redirect to a pre-signed download URL for the requested file.\nSupported file types: pdf (master PDF), individual_reports (ZIP of individual student PDFs),\nterm_grades (ZIP of term grades export).\n","parameters":[{"name":"program","in":"path","required":true,"description":"Program code (e.g. diploma, myp, pyp, cp)","schema":{"type":"string"}},{"name":"id","in":"path","required":true,"description":"Term report ID","schema":{"type":"integer"}},{"name":"kind","in":"path","required":true,"description":"File type to download:\n * `pdf` \n * `individual_reports` \n * `term_grades` \n ","enum":["pdf","individual_reports","term_grades"],"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to download URL"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"}}}}}}
```

## Retrieves Subject Groups

> Retrieves a paginated list of Subject Groups for the specified program.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectGroupsResponse":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/Meta"},"subject_groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for Subject Group in ManageBac."},"name":{"type":"string","description":"Subject Group name."},"max_phase":{"type":"string","description":"Phases Range (only allowed in the IB PYP program). Possible values are '4' or '5'. The default value is '5'."},"program":{"type":"string","description":"Program code (allowed values are ib_pyp, hs, ms, ps)."},"updated_at":{"type":"string","description":"Updated datetime."}}}}}},"Meta":{"type":"object","description":"Pagination metadata included in all list (index) responses.","properties":{"current_page":{"type":"integer","description":"The page number of the current result set, starting from 1."},"total_pages":{"type":"integer","description":"The total number of pages available for this query."},"total_count":{"type":"integer","description":"The total number of records matching the query across all pages."},"per_page":{"type":"integer","description":"The number of records returned per page. Defaults to 100; can be overridden with the per_page query parameter (max 200)."}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}}}},"paths":{"/v2p1/school/programs/{program_code}/subject-groups":{"get":{"summary":"Retrieves Subject Groups","operationId":"getSubjectGroups","tags":["Academics"],"description":"Retrieves a paginated list of Subject Groups for the specified program.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"An integer defining which page to display.","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","description":"An integer defining the number of records to display per page.","required":false,"schema":{"type":"string"}},{"name":"modified_since","in":"query","description":"A timestamp to filter the modification date of results.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectGroupsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}}}}}}}
```

## Create Subject Group

> Creates a new Subject Group for the specified program.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectGroupResponse":{"type":"object","properties":{"subject_group":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for Subject Group in ManageBac."},"name":{"type":"string","description":"Subject Group name."},"custom":{"type":"boolean","description":"Whether the Subject Group is a custom one created by the school."},"max_phase":{"type":"string","description":"Phases Range (only allowed in the IB PYP program). Possible values are '4' or '5'. The default value is '5'."},"program":{"type":"string","description":"Program code (allowed values are ib_pyp, hs, ms, ps)."},"updated_at":{"type":"string","description":"Updated datetime."}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"SubjectGroupRequest":{"type":"object","properties":{"subject_group":{"type":"object","properties":{"name":{"type":"string","description":"Subject Group name."},"max_phase":{"type":"string","description":"Phases Range (only allowed in the IB PYP program). Possible values are '4' or '5'. The default value is '5'."}}}}}}},"paths":{"/v2p1/school/programs/{program_code}/subject-groups":{"post":{"summary":"Create Subject Group","operationId":"createSubjectGroup","tags":["Academics"],"description":"Creates a new Subject Group for the specified program.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectGroupResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"name":{"type":"array","description":"name validation errors","items":{"type":"string"}},"max_phase":{"type":"array","description":"max_phase validation errors","items":{"type":"string"}}}}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectGroupRequest"}}}}}}}}
```

## Get Subject Group

> Retrieves a single Subject Group by ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectGroupResponse":{"type":"object","properties":{"subject_group":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for Subject Group in ManageBac."},"name":{"type":"string","description":"Subject Group name."},"custom":{"type":"boolean","description":"Whether the Subject Group is a custom one created by the school."},"max_phase":{"type":"string","description":"Phases Range (only allowed in the IB PYP program). Possible values are '4' or '5'. The default value is '5'."},"program":{"type":"string","description":"Program code (allowed values are ib_pyp, hs, ms, ps)."},"updated_at":{"type":"string","description":"Updated datetime."}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"NotFound":{"type":"object","description":"Returned when the requested resource cannot be found by the given ID.","properties":{"error":{"type":"string","description":"A human-readable message indicating which resource could not be found, including the model name and the ID that was looked up."}}}}},"paths":{"/v2p1/school/programs/{program_code}/subject-groups/{id}":{"get":{"summary":"Get Subject Group","operationId":"getSubjectGroup","tags":["Academics"],"description":"Retrieves a single Subject Group by ID.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Unique ID for Subject Group in ManageBac.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectGroupResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound"}}}}}}}}}
```

## Remove Subject Group

> Deletes a Subject Group by ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectGroupResponse":{"type":"object","properties":{"subject_group":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for Subject Group in ManageBac."},"name":{"type":"string","description":"Subject Group name."},"custom":{"type":"boolean","description":"Whether the Subject Group is a custom one created by the school."},"max_phase":{"type":"string","description":"Phases Range (only allowed in the IB PYP program). Possible values are '4' or '5'. The default value is '5'."},"program":{"type":"string","description":"Program code (allowed values are ib_pyp, hs, ms, ps)."},"updated_at":{"type":"string","description":"Updated datetime."}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}}}},"paths":{"/v2p1/school/programs/{program_code}/subject-groups/{id}":{"delete":{"summary":"Remove Subject Group","operationId":"destroySubjectGroup","tags":["Academics"],"description":"Deletes a Subject Group by ID.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Subject Group ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectGroupResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"403":{"description":"Forbidden"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"base":{"type":"array","items":{"type":"string"}}}}}}}}}}}}}}
```

## Update Subject Group

> Updates an existing Subject Group by ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectGroupResponse":{"type":"object","properties":{"subject_group":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for Subject Group in ManageBac."},"name":{"type":"string","description":"Subject Group name."},"custom":{"type":"boolean","description":"Whether the Subject Group is a custom one created by the school."},"max_phase":{"type":"string","description":"Phases Range (only allowed in the IB PYP program). Possible values are '4' or '5'. The default value is '5'."},"program":{"type":"string","description":"Program code (allowed values are ib_pyp, hs, ms, ps)."},"updated_at":{"type":"string","description":"Updated datetime."}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"SubjectGroupRequest":{"type":"object","properties":{"subject_group":{"type":"object","properties":{"name":{"type":"string","description":"Subject Group name."},"max_phase":{"type":"string","description":"Phases Range (only allowed in the IB PYP program). Possible values are '4' or '5'. The default value is '5'."}}}}}}},"paths":{"/v2p1/school/programs/{program_code}/subject-groups/{id}":{"patch":{"summary":"Update Subject Group","operationId":"updateSubjectGroup","tags":["Academics"],"description":"Updates an existing Subject Group by ID.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Subject Group ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectGroupResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"403":{"description":"Forbidden"},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectGroupRequest"}}}}}}}}
```

## Retrieves Subjects

> Retrieves a paginated list of Subjects for the specified program.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectsResponse":{"type":"object","properties":{"meta":{"$ref":"#/components/schemas/Meta"},"subjects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for subject in ManageBac."},"subject_group_id":{"type":"integer","description":"Unique ID for subject group in ManageBac."},"custom":{"type":"boolean","description":"The boolean value defines whether the Subject is custom or system."},"name":{"type":"string","description":"Subject name."},"title":{"type":"string","description":"Subject title."},"sl":{"type":"boolean","description":"Subject SL level."},"hl":{"type":"boolean","description":"Subject HL level."},"sl_code":{"type":"string","description":"Subject SL code"},"hl_code":{"type":"string","description":"Subject HL code"},"description":{"type":"string","description":"Subject description"},"scope_and_sequence_based_on":{"type":"string","description":"Subject Scope & Sequence based on value."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."},"self_taught":{"type":"boolean","description":"Self taught subject"},"phases":{"type":"array","items":{"type":"string"}},"levels":{"type":"array","description":"Language levels","items":{"type":"string"}},"enabled":{"type":"boolean","description":"Describe if school subject enabled"}}}}}},"Meta":{"type":"object","description":"Pagination metadata included in all list (index) responses.","properties":{"current_page":{"type":"integer","description":"The page number of the current result set, starting from 1."},"total_pages":{"type":"integer","description":"The total number of pages available for this query."},"total_count":{"type":"integer","description":"The total number of records matching the query across all pages."},"per_page":{"type":"integer","description":"The number of records returned per page. Defaults to 100; can be overridden with the per_page query parameter (max 200)."}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}}}},"paths":{"/v2p1/school/programs/{program_code}/subjects":{"get":{"summary":"Retrieves Subjects","operationId":"getSubjects","tags":["Academics"],"description":"Retrieves a paginated list of Subjects for the specified program.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"page","in":"query","description":"An integer defining which page to display.","required":false,"schema":{"type":"string"}},{"name":"per_page","in":"query","description":"An integer defining the number of records to display per page.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectsResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}}}}}}}
```

## Creates Subject

> Creates a new Subject for the specified program.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectResponse":{"type":"object","properties":{"subject":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for subject in ManageBac."},"subject_group_id":{"type":"integer","description":"Unique ID for subject group in ManageBac."},"custom":{"type":"boolean","description":"The boolean value defines whether the Subject is custom or system."},"name":{"type":"string","description":"Subject name."},"title":{"type":"string","description":"Subject title."},"sl":{"type":"boolean","description":"Subject SL level."},"hl":{"type":"boolean","description":"Subject HL level."},"code":{"type":"string","description":"Subject custom code"},"description":{"type":"string","description":"Subject description."},"scope_and_sequence_based_on":{"type":"string","description":"Subject Scope & Sequence based on value."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."},"self_taught":{"type":"boolean","description":"Self taught subject"},"phases":{"type":"array","items":{"type":"string"}},"levels":{"type":"array","description":"Language levels","items":{"type":"string"}},"enabled":{"type":"boolean","description":"Describe if school subject enabled"}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"SubjectRequest":{"type":"object","properties":{"subject":{"type":"object","properties":{"subject_group_id":{"type":"integer","description":"Unique ID for subject group in ManageBac."},"name":{"type":"string","description":"Subject name."},"title":{"type":"string","description":"Subject title."},"description":{"type":"string","description":"Subject description."},"scope_and_sequence_based_on":{"type":"string","description":"Subject Scope & Sequence based on value."},"sl":{"type":"boolean","description":"Subject SL level."},"hl":{"type":"boolean","description":"Subject HL level."},"enabled":{"type":"boolean","description":"Enable/disable school subject."},"code":{"type":"string","description":"Subject custom code"}}}}}}},"paths":{"/v2p1/school/programs/{program_code}/subjects":{"post":{"summary":"Creates Subject","operationId":"createSubject","tags":["Academics"],"description":"Creates a new Subject for the specified program.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"subject_group_id":{"type":"array","items":{"type":"string"}}}}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectRequest"}}}}}}}}
```

## Retrieves Subject

> Retrieves a single Subject by ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectResponse":{"type":"object","properties":{"subject":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for subject in ManageBac."},"subject_group_id":{"type":"integer","description":"Unique ID for subject group in ManageBac."},"custom":{"type":"boolean","description":"The boolean value defines whether the Subject is custom or system."},"name":{"type":"string","description":"Subject name."},"title":{"type":"string","description":"Subject title."},"sl":{"type":"boolean","description":"Subject SL level."},"hl":{"type":"boolean","description":"Subject HL level."},"code":{"type":"string","description":"Subject custom code"},"description":{"type":"string","description":"Subject description."},"scope_and_sequence_based_on":{"type":"string","description":"Subject Scope & Sequence based on value."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."},"self_taught":{"type":"boolean","description":"Self taught subject"},"phases":{"type":"array","items":{"type":"string"}},"levels":{"type":"array","description":"Language levels","items":{"type":"string"}},"enabled":{"type":"boolean","description":"Describe if school subject enabled"}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"NotFound":{"type":"object","description":"Returned when the requested resource cannot be found by the given ID.","properties":{"error":{"type":"string","description":"A human-readable message indicating which resource could not be found, including the model name and the ID that was looked up."}}}}},"paths":{"/v2p1/school/programs/{program_code}/subjects/{id}":{"get":{"summary":"Retrieves Subject","operationId":"getSubject","tags":["Academics"],"description":"Retrieves a single Subject by ID.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Unique ID for Subject in ManageBac.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFound"}}}}}}}}}
```

## Updates Subject

> Updates an existing Subject by ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectResponse":{"type":"object","properties":{"subject":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for subject in ManageBac."},"subject_group_id":{"type":"integer","description":"Unique ID for subject group in ManageBac."},"custom":{"type":"boolean","description":"The boolean value defines whether the Subject is custom or system."},"name":{"type":"string","description":"Subject name."},"title":{"type":"string","description":"Subject title."},"sl":{"type":"boolean","description":"Subject SL level."},"hl":{"type":"boolean","description":"Subject HL level."},"code":{"type":"string","description":"Subject custom code"},"description":{"type":"string","description":"Subject description."},"scope_and_sequence_based_on":{"type":"string","description":"Subject Scope & Sequence based on value."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."},"self_taught":{"type":"boolean","description":"Self taught subject"},"phases":{"type":"array","items":{"type":"string"}},"levels":{"type":"array","description":"Language levels","items":{"type":"string"}},"enabled":{"type":"boolean","description":"Describe if school subject enabled"}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}},"SubjectRequest":{"type":"object","properties":{"subject":{"type":"object","properties":{"subject_group_id":{"type":"integer","description":"Unique ID for subject group in ManageBac."},"name":{"type":"string","description":"Subject name."},"title":{"type":"string","description":"Subject title."},"description":{"type":"string","description":"Subject description."},"scope_and_sequence_based_on":{"type":"string","description":"Subject Scope & Sequence based on value."},"sl":{"type":"boolean","description":"Subject SL level."},"hl":{"type":"boolean","description":"Subject HL level."},"enabled":{"type":"boolean","description":"Enable/disable school subject."},"code":{"type":"string","description":"Subject custom code"}}}}}}},"paths":{"/v2p1/school/programs/{program_code}/subjects/{id}":{"put":{"summary":"Updates Subject","operationId":"updateSubject","tags":["Academics"],"description":"Updates an existing Subject by ID.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Unique ID for Subject in ManageBac.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Record was not found"}}}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"allowed_params":{"type":"array","items":{"type":"string"}}}}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectRequest"}}}}}}}}
```

## Delete Subject

> Deletes a Subject by ID.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"SubjectResponse":{"type":"object","properties":{"subject":{"type":"object","properties":{"id":{"type":"integer","description":"Unique ID for subject in ManageBac."},"subject_group_id":{"type":"integer","description":"Unique ID for subject group in ManageBac."},"custom":{"type":"boolean","description":"The boolean value defines whether the Subject is custom or system."},"name":{"type":"string","description":"Subject name."},"title":{"type":"string","description":"Subject title."},"sl":{"type":"boolean","description":"Subject SL level."},"hl":{"type":"boolean","description":"Subject HL level."},"code":{"type":"string","description":"Subject custom code"},"description":{"type":"string","description":"Subject description."},"scope_and_sequence_based_on":{"type":"string","description":"Subject Scope & Sequence based on value."},"updated_at":{"type":"string","description":"Updated date; yyyy-mm-dd."},"self_taught":{"type":"boolean","description":"Self taught subject"},"phases":{"type":"array","items":{"type":"string"}},"levels":{"type":"array","description":"Language levels","items":{"type":"string"}},"enabled":{"type":"boolean","description":"Describe if school subject enabled"}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}}}},"paths":{"/v2p1/school/programs/{program_code}/subjects/{id}":{"delete":{"summary":"Delete Subject","operationId":"deleteSubject","tags":["Academics"],"description":"Deletes a Subject by ID.\n","parameters":[{"name":"program_code","in":"path","description":"Program scope","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"Unique ID for Subject in ManageBac.","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubjectResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Record was not found"}}}}}}}}}}}
```

## Get School Details

> Retrieves the School's basic information including name, country, language,\
> logo URLs, and the list of enabled academic programs (e.g. IB Diploma, MYP, PYP).<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}}},"paths":{"/v2p1/school":{"get":{"summary":"Get School Details","operationId":"getSchool","tags":["Academics"],"description":"Retrieves the School's basic information including name, country, language,\nlogo URLs, and the list of enabled academic programs (e.g. IB Diploma, MYP, PYP).\n","responses":{"200":{"description":"Success","content":{"application/json":{}}},"401":{"description":"Unauthorized"}}}}}}
```

## Get Academic Years

> Retrieves academic years and their terms for each enabled program at the School.\
> Results are grouped by program code (e.g. diploma, myp, ibpyp). Each academic year\
> includes its terms with start/end dates and active status.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}}},"paths":{"/v2p1/school/academic-years":{"get":{"summary":"Get Academic Years","operationId":"listAcademicYears","tags":["Academics"],"description":"Retrieves academic years and their terms for each enabled program at the School.\nResults are grouped by program code (e.g. diploma, myp, ibpyp). Each academic year\nincludes its terms with start/end dates and active status.\n","parameters":[{"name":"program_code","in":"query","required":false,"description":"Filter by program code (e.g. 'diploma', 'myp', 'hs'). Omit to return all programs.","schema":{"type":"string"}},{"name":"active","in":"query","required":false,"description":"Filter by active status. When true, returns only currently active academic years.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Success","content":{"application/json":{}}},"401":{"description":"Unauthorized"}}}}}}
```

## Get School Grades

> Retrieves the grade levels defined for each enabled program at the School.\
> Grades are grouped by program and include the grade name, label, code, UID,\
> and grade number. The label is the school's customized display name for the grade.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"Program":{"type":"object","properties":{"name":{"type":"string","description":"Program name in full."},"short_name":{"type":"string","description":"Short program name."},"uid":{"type":"integer","description":"Unique identificator for a program."},"code":{"type":"string","description":"Program code."},"grades":{"type":"array","description":"Grade of program.","items":{"type":"object","properties":{"grade_number":{"type":"integer","description":"Grade number."},"uid":{"type":"integer","description":"Unique identificator for grade."},"name":{"type":"string","description":"Grade name."},"enabled":{"type":"boolean","description":"Switch to enable/disable grade."},"program":{"type":"string","description":"Program name."}}}}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}}}},"paths":{"/v2p1/school/grades":{"get":{"summary":"Get School Grades","operationId":"listGrades","tags":["Academics"],"description":"Retrieves the grade levels defined for each enabled program at the School.\nGrades are grouped by program and include the grade name, label, code, UID,\nand grade number. The label is the school's customized display name for the grade.\n","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"school":{"type":"object","properties":{"programs":{"type":"array","items":{"$ref":"#/components/schemas/Program"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}}}}}}}
```

## Get School Subjects

> Retrieves the subjects available for each enabled program at the School.\
> Subjects are grouped by program code. Each subject includes its name,\
> subject group, and level availability (HL/SL) where applicable.\
> Deprecated subjects are excluded from the response.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}}},"paths":{"/v2p1/school/subjects":{"get":{"summary":"Get School Subjects","operationId":"listSubjects","tags":["Academics"],"description":"Retrieves the subjects available for each enabled program at the School.\nSubjects are grouped by program code. Each subject includes its name,\nsubject group, and level availability (HL/SL) where applicable.\nDeprecated subjects are excluded from the response.\n","responses":{"200":{"description":"Success","content":{"application/json":{}}},"401":{"description":"Unauthorized"}}}}}}
```

## Get School Term Grade Scales

> Retrieves the term grade scales defined for each enabled program at the School.\
> Each scale entry maps a percentage score threshold to a mark (e.g. score 95.0 maps\
> to mark "7" for IB Diploma). These scales determine how numerical scores are\
> converted to grade marks on term reports.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}},"schemas":{"TermGradeScale":{"type":"object","description":"A mapping rule that converts a numeric score threshold to a letter mark. Used to translate percentage scores into grades (e.g. 95.5% and above = \"A+\").\n","properties":{"score":{"type":"number","description":"The minimum percentage score required to earn this mark. A student scoring at or above this value (but below the next higher threshold) receives this mark.\n","multipleOf":0.1},"mark":{"type":"string","description":"The letter or symbolic grade awarded when the score threshold is met (e.g. \"A+\", \"B\", \"Pass\")."},"program_code":{"type":"string","description":"Short code identifying which program this scale applies to (e.g. \"diploma\", \"igcse\")."}}},"AccessDeniedError":{"type":"object","description":"Returned when the API token is missing, invalid, or has been disabled.","properties":{"error":{"type":"string","description":"Always returns \"Access Denied\" when authentication fails. Check that your API token is valid and enabled."}}}}},"paths":{"/v2p1/school/term-grade-scales":{"get":{"summary":"Get School Term Grade Scales","operationId":"listSchoolTermGradeScales","tags":["Academics"],"description":"Retrieves the term grade scales defined for each enabled program at the School.\nEach scale entry maps a percentage score threshold to a mark (e.g. score 95.0 maps\nto mark \"7\" for IB Diploma). These scales determine how numerical scores are\nconverted to grade marks on term reports.\n","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"school":{"type":"object","properties":{"term_grade_scales":{"type":"array","items":{"$ref":"#/components/schemas/TermGradeScale"}}}}}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessDeniedError"}}}}}}}}}
```

## Get School Term Grade Rubrics

> Retrieves the term grade rubrics configured for the School. Rubrics define the\
> criteria or formulas used to calculate term grades. Each rubric includes its type\
> (Criteria, Formula, or Custom Field), program code, and status. Criteria rubrics\
> include their rubric options with values and descriptors. Formula rubrics specify\
> the calculation method (AVG or SUM) and reference other rubric IDs.<br>

```json
{"openapi":"3.0.3","info":{"title":"API V2P1","version":"v2p1"},"tags":[{"name":"Academics","description":"This group refers to top-level entities such as School, Programs, Subjects, and Academic Years. Programs are curriculum frameworks that ManageBac supports, and a Subject is a collection of delivered curricula. Academic Years define when the school is in session."}],"servers":[{"url":"https://api.managebac.com","description":"CA ManageBac API server."},{"url":"https://api.managebac.cn","description":"CN ManageBac API server."},{"url":"https://api.us.managebac.com","description":"US1 ManageBac API server."},{"url":"https://api.managebac.us","description":"US2 ManageBac API server."},{"url":"https://api.managebactest.com","description":"UAT ManageBac API server."},{"url":"https://{Host}","variables":{"Host":{"default":"api.devel.managebac.com","enum":["api.devel.managebac.com","api-faria.devel.managebac.com","api.managebac.dev"]}}}],"security":[{"bearerAuth":[]},{"authTokenQuery":[]},{"authTokenHeader":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"OAuth 2.0 Bearer token obtained via client credentials grant. Pass the token in the Authorization header as `Bearer <token>`."},"authTokenQuery":{"type":"apiKey","name":"auth_token","in":"query","description":"Your V2 API authentication token may be passed in the parameters. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."},"authTokenHeader":{"type":"apiKey","name":"auth-token","in":"header","description":"Your V2 API authentication token may be passed in the header. To protect your key, use [environment variables](https://cloud.google.com/docs/authentication/api-keys#securing_an_api_key)."}}},"paths":{"/v2p1/school/term-rubrics":{"get":{"summary":"Get School Term Grade Rubrics","operationId":"listTermRubrics","tags":["Academics"],"description":"Retrieves the term grade rubrics configured for the School. Rubrics define the\ncriteria or formulas used to calculate term grades. Each rubric includes its type\n(Criteria, Formula, or Custom Field), program code, and status. Criteria rubrics\ninclude their rubric options with values and descriptors. Formula rubrics specify\nthe calculation method (AVG or SUM) and reference other rubric IDs.\n","responses":{"200":{"description":"Success","content":{"application/json":{}}},"401":{"description":"Unauthorized"}}}}}}
```
