This article covers documentation related to the initial version (v0) of the syllabus content API.
To retrieve syllabus JSON for a course syllabus, first see Retrieval under the API - General Usage article.
For the course_info operation, you can provide any course or external ID. You must be a system administrator to access any course JSON. For example:
Requests can also be made programmatically by supplying your API key in the X-AUTH-KEY
request header, providing your root domain, and appending either of the aforementioned
This API produces output in a JSON format. The nested structure of syllabus items lends itself nicely to this particular output. Below is a formatted excerpt of what you might find when retrieving JSON for a course.
All fields associated with the item will be represented, regardless of whether they have content entered. Further, since much of the entry on a syllabus is HTML, you will want to pay particular attention to the need for JSON escaping. For example <td colspan="1"> will be represented as <td colspan=\"1\"> since double quotes are replaced with \".
Additional attributes denote whether the item is locked or linked, and last whether the item has any children, which if so, will then start the object notation all over again.
Dates and times adhere to the Unix format.
There is not a separate attribute denoting the sequencing of items on a syllabus. This is implicit to the order of the objects within the children array. Therefore, if you saw the following, you would expect that the Late Assignment policy is shown before the Add/Drop policy on the syllabus.
Group permissions for the syllabus and all item categories are included with each item object. Please note that the JSON file itself will include all item content regardless of group permissions. Therefore, if applicable to your use case, you must interpret whether the group for the given item (or its parent or grandparent in the case of sub-items and sub-sub-items) would have access to the item and at what level.
Comments will also be included for each item. In the Concourse interface these
are only visible to those editing a syllabus, so be sure to not include this
information in applications for Groups where the Syllabus permission is set to
View or None.
Select course metadata name-value pairs are included in each JSON file. These
are technically not part of the syllabus content itself, but are often helpful
in understanding details about the course, such as the title, subject code and
number, and in what part of the organization the course falls.