Dartmouth API Developer Portal

Academic Terms API

Returns information about known academic terms.

Rating

Attribute Value
Highly Available Yes
Cache Refresh Interval 24 hours
Filtering Yes

Required Scopes

None: only requires authentication to Dartmouth's login API as documented in the introduction section of this portal.

Request

GET /api/academic/terms/{id}

Required Headers

Authorization: Bearer {jwt}

Parameters

Parameter Name Type Description Valid values Required

(standard filter parameters as documented in the introduction section of this portal)

Notes on usage

When {id} is excluded from the URL, all terms are returned as a collection. This can be useful when an application needs to provide a complete list of valid selections. Standard filtering via URL parameters is also available and returns a collection; the collection will be empty if no records are qualified by the filtering.

Academic terms consist of a broad quarterly term and within that can be one or more part of terms. To use this data effectively, the consumer must understand the conceptual difference in these ideas. Typically the UG academic calender consists of a single part of term in each quarterly term. The part of term start/end dates denote the specific academic term calendar. That is when the first day of classes begins to the end of grading period. The quarterly term start/end dates denote the range of time the term spans without marking interim periods. Different use cases can take advantage of either of these date ranges depending on the need.

Professional School quarterly terms often consist of multiple part of terms. For example the medical school often is running several simultaneous part of terms in single quarterly term for each phase of medical training.

The {quarterly_term.current_term_offset} attribute can be used to query relative to the "current" term. For example, quarterly_term.current_term_offset=0 will return all "current" terms (based on quarterly_term.id=term_set_mv.current_term); quarterly_term.current_term_offset=|-1,0,1 will return all previous, current, and next terms.

Business Logic

The {id} attribute is constructed from other attributes using the following format: {quarterly_term.id}-{term_description.id}. The term_description.id is the designation for the part of term. Date ranges for the quarterly term start/end dates come from the STVTERM table. Part of term start/end dates come from the SOBPTRM banner table.

Returns

Status Code Description
200 {id} requested exists or was not specified
404 {id} requested does not exist

Sample Request

https://api.dartmouth.edu/api/academic/terms/201909-U

Sample Return

{
    "aid_year": {
        "academic_year": "2019-2020",
        "code": "1920",
        "end_date": "2020-06-30T04:00:00Z",
        "name": "Financial Aid Year 2019-2020",
        "start_date": "2019-07-01T04:00:00Z"
    },
    "end_date": "2019-11-27T05:00:00Z",
    "id": "201909-U",
    "is_active": false,
    "lms_term": {
        "id": "FA19",
        "is_course_send_enabled": false,
        "is_enroll_send_enabled": false,
        "name": "Fall Term 2019 (A&S)",
        "feed_consumers": [
                "Canvas"
            ]
    },
    "quarterly_term": {
        "current_term_offset": -3,
        "id": "201909",
        "start_date": "2019-09-10T04:00:00Z",
        "end_date": "2019-12-15T05:00:00Z",
        "name": "Fall Term 2019"
    },
    "school_id": "UG",
    "start_date": "2019-09-16T04:00:00Z",
    "term_description": {
        "id": "U",
        "name": "Undergraduate full term"
    }
}