Dartmouth API Developer Portal

Academic API Overview

Academic APIs return information about courses, sections, enrollments, academic departments, academic divisions, majors, subjects, and more.

Historical information is available for courses, sections, and enrollments through queries on term; and an is_active attribute is available to access current information.

No scope is required (only authentication to Dartmouth's login API as documented in the introduction section of this portal) for any academic API except enrollments, which requires the api:academic:enrollments:read scope; and holds, which requires the urn:dartmouth:students:read.sensitive scope.

The academic APIs currently support GET only; some will support POST and PATCH in the future (and will require additional scopes).

A course object holds basic course information that can span multiple terms. A history of course changes is maintained via term_code_effective. Course attributes include major, subject, and department.

A section object has one or more parent courses; the same course can be the parent of multiple sections. New sections are created every term. A section has many enrollments.

A course/crosslist object contains multiple courses; the same course can be a member of multiple crosslists; course/crosslists can span multiple terms.