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 paths.
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 the change log JSON for a course.
Totals
Running totals of syllabus changes are provided and broken down by Action and by Method. Actions are what was done to the item and consist of Add, Edit, Reorder up, Reorder Down and Delete. For file-only syllabi, initial Upload will be recorded as Add, and Replacement will be recorded as Edit. Method describes how actions in the syllabus were completed. It is important to note that two-step processes, like running a Course Feed or clicking on an LTI link which then subsequently creates a course, will be listed as Feed or LTI respectively since these were the initiating methods. Please see the Change Log article for additional definitions.
Syllabus
Changes to syllabus items are represented within a series of objects with name-value pairs that conform to the JavaScript Object Notation (JSON) standard. The pretty_name within the object is what is named in the system (e.g. Course Description), though not necessarily on the syllabus itself (e.g. Course Policy Entry).
All fields associated with the item will be represented, regardless of whether they have content entered, or if they have any actions logged against them.
Log
This provides an account of all changes to a syllabus over its lifetime, including historical entries for items that no longer exist. The log is available for 180 days after the end date of the course. If you require a precise history of changes to syllabi beyond the life of the course, be sure to warehouse this information in another system shortly after course completion. Aggregate course totals are currently preserved indefinitely.
Dates and times adhere to the Unix format.