Table of Contents
Courses are parent objects to course sections; they are mere placeholders and cannot be used to upload documents, assignments, etc.
Fields
Field | Name | Description | Type | Required |
---|---|---|---|---|
id | Schoology Course ID | The internal Schoology ID of the course | string | no |
building_id | Schoology School Building ID | The internal Schoology ID of the school building to which the course belongs | string | no |
title | Course Title | The title of the course | string | yes |
course_code | Course Code | The course code must be unique across the entire school (e.g. ENG101) | string | yes |
department | Department Name | The department name (e.g. English) | string | |
description | Description | The course description | string | |
credits | Credits | The number of credits this course is worth | double | |
synced | Sync Status | Whether or not this course was synced with an external system (eg, Student Information System). The default value is 0. For synced courses, the Course Code field is not editable through Schoology. | {0,1} | |
grade_level_range_start | Grade Level Range Start | The lowest (or only) grade level in the course. | integer {1, 2, 3, ..., 15} | |
grade_level_range_end | Grade Level Range End | The highest grade level in the course - must be great than grade_level_range_start if used. | integer {1, 2, 3, ..., 15} | |
subject_area | Subject Area | The subject area of the course | integer {1, 2, 3, ..., 9} | |
district_course_name | District Course Name | Uniquely identifies courses across buildings for a district | string |
Grade Range Values
API Value | Grade Level |
---|---|
0 | No grade level/remove grade level |
1 | Pre-K |
2 | K |
3 | 1 |
4 | 2 |
5 | 3 |
6 | 4 |
7 | 5 |
8 | 6 |
9 | 7 |
10 | 8 |
11 | 9 |
12 | 10 |
13 | 11 |
14 | 12 |
15 | Higher-Ed |
Course Subject Areas
API Value | Subject Area |
---|---|
0 | Other |
1 | Health & Physical Education |
2 | Language Arts |
3 | Mathematics |
4 | Professional Development |
5 | Science |
6 | Social Studies |
7 | Special Education |
8 | Technology |
9 | Arts |
Operations
create
Create a course
Path | |
Content | An object containing course fields JSON XML
|
Return | An object containing course fields JSON XML
|
bulk create
Create multiple courses (up to 50) in a single API call. The following querystring parameters can be added to this endpoint:
- update_existing: Set this to 1 (e.g. ?update_existing=1) in order to update existing courses, matched by the ‘course_code’ field. Without this parameter, creating a course will fail if another course already exists with the same ‘course_code’ already.
Path | |
Content | Multiple courses can be created at a time (up to 50) by wrapping your response in ‘course’, with course fields wrapped in ‘course’. Sections can be also be created at the same time - combined with the update_existing parameter, this can be used for importing or synchronization. JSON XML
|
Return | The API endpoint (location) of each course created, or an error message if there was a problem creating the course. |
list
View a list of courses in your school (paged), with the option to filter results with the following query strings:
- building_id: Only return courses for the given building.
- limit: The number of results to return, up to 50
- start: The number of results to skip (e.g.
start=0&limit=20
,start=20&limit=20
,start=40&limit=20
, etc). For largerstart
values, you may see better performance by usingstart_id
instead. - start_id: As an alternative to
start
, usestart_id
and set it to the last id received to get the next page of results, - fetch_district_course_name: If the set value is
1
, it will also showdistrict_course_name
for the courses, in the response.
Path | |
Content | none |
Return | A collection of course object, each one containing course fields JSON XML
|
view
View a specified course
Path | |
Content | none |
Return | An object containing course fields JSON XML
|
update
Modify a course
Path | |
Content | An object containing course fields JSON XML
|
Return | none |
bulk update
Modify multiple courses
Path | |
Content | Up to 50 courses can be updated at a time by wrapping your response in ‘courses’, with course fields wrapped in ‘course’ JSON XML
|
Return | The Schoology ID of each course updated, or an error message if there was a problem creating the course. JSON XML
|
delete
Delete a course (cannot be undone)
Path | |
Content | none |
Return | none |
bulk delete
Delete up to 50 courses (cannot be undone). Comma-separated Schoology IDs are passed in the query string with the course_ids parameter.
Path | |
Content | none |
Return | none |