---
title: "GET /courses/{term}/{pid}"
method: GET
path: "/courses/{term}/{pid}"
---

# GET /courses/{term}/{pid}

`GET /courses/{term}/{pid}`

Retrieves course details given the term and pid.

## Path parameters

- `pid` string, required
- `term` '202001' | '202005' | '202009' | '202101' | '202105' | '202109' | '202201' | '202205' | '202209' | '202301' | '202305' | '202309' | '202401', required

## Response `200`

Ok

- CourseDetails
  - `pid` string, required
  - `title` string, required
  - `description` string, required
  - `dateStart` string, required
  - `credits` object, required
    - `chosen` string, required
    - `value` union, required
      - string
      - object
        - `max` string, required
        - `min` string, required
    - `credits` object, required
      - `max` string, required
      - `min` string, required
  - `hoursCatalog` object[]
    - `lab` string, required
    - `tutorial` string, required
    - `lecture` string, required
  - `preAndCorequisites` union[]
    - union
      - string
      - NestedPreCoRequisites
        - `reqList` union[]
          - union
            - NestedPreCoRequisites — recursive
            - KualiCourse
              - …
            - string
        - `unparsed` string
        - `gpa` string
        - `grade` string
        - `units` boolean
        - `coreq` boolean
        - `quantity` union
          - number, double
          - 'ALL'
      - KualiCourse
        - `pid` string
        - `code` string, required
        - `subject` string, required
  - `preOrCorequisites` union[]
    - union
      - string
      - NestedPreCoRequisites
        - `reqList` union[]
          - union
            - NestedPreCoRequisites — recursive
            - KualiCourse
              - …
            - string
        - `unparsed` string
        - `gpa` string
        - `grade` string
        - `units` boolean
        - `coreq` boolean
        - `quantity` union
          - number, double
          - 'ALL'
      - KualiCourse
        - `pid` string
        - `code` string, required
        - `subject` string, required
  - `subject` string, required — Abbriviation of the subject of the course.
  - `code` string, required — The code portion of the course.
  - `formally` string — If a course was named something else previously.

## Changes

> 17 revisions in range; 1 could not be searched.

- **2023-03-05** `28e93e6f472a` — 1 info
  - added the new enum value `202305` to the `path` request parameter `term`
- **2022-05-16** `f757cb07724b` — 2 info
  - added the new enum value `202209` to the `path` request parameter `term`
  - added the new enum value `202301` to the `path` request parameter `term`
- **2022-03-01** `b1f53c898f30` — 3 info
  - added the new enum value `202205` to the `path` request parameter `term`
  - added the optional property `preAndCorequisites` to the response with the `200` status
  - added the optional property `preOrCorequisites` to the response with the `200` status
- **2021-08-26** `4a9160e092c4` — 4 breaking
  - the `hoursCatalog` response's property type/format changed from `object`/`` to `array`/`` for status `200`
  - removed the required property `hoursCatalog/lab` from the response with the `200` status
  - removed the required property `hoursCatalog/lecture` from the response with the `200` status
  - removed the required property `hoursCatalog/tutorial` from the response with the `200` status
- **2021-05-30** `6b8c9d966e34` — 2 info
  - added the new enum value `202109` to the `path` request parameter `term`
  - added the new enum value `202201` to the `path` request parameter `term`

[Full history](https://skmtc.dev/vikelabs/apis/functions/changes/courses/:term/:pid/get.md)

---

[API](https://skmtc.dev/vikelabs/apis/functions.md) · [All operations](https://skmtc.dev/vikelabs/apis/functions/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vikelabs/functions/revisions/5043f9148dcf/schema)
