API - Course Listing

API - Course Listing


FYI: All lines within code blocks are numbered, regardless of whether there is more than one line of code provided.

An API is available to retrieve a listing of courses stored in Concourse. This is helpful for integrating Concourse with other systems to support applications like outcomes analysis, compliance reporting, and schedule notifications.

This article covers documentation related to the initial version (v0) of the course listing API.

Request

To retrieve JSON for a course listing, first see Retrieval under the API - General Usage article.

For the course_ids operation, you can provide any mix of search parameters described below. You must be a system administrator to access any course listing JSON. For example:

  1. /api?version=0&operation=course_ids&year=2021&template=templates

Requests can also be made programmatically by supplying your API key in the X-AUTH-KEY request header, providing your root domain, and appending the aforementioned path.

Response

This API produces output in a JSON format. Below is a formatted excerpt of what you might find when retrieving JSON for a course listing.

  1. [
  2. {
  3. "id":"307",
  4. "external_id":"ACCT221_MASTER"
  5. },
  6. {
  7. "id":"310",
  8. "external_id":"ECON313_12919_202020"
  9. },
  10. {
  11. "id":"8398",
  12. "external_id":null
  13. }
  14. ]

Note: courses that have no external ID will contain null in the output.

Parameters

To generate a course listing, you may use any combination of the criteria offered on the Concourse Search page. These include:

  • Keyword(s)
    • keyword=string
  • Keyword Mode: One of "all" or "any"
    • keyword_mode=all
  • Course Title
    • title=string
  • Subject
    • prefix=string
  • Number
    • number=string
  • Campus
    • campus_id=string
  • School
    • school_id=string
  • Department
    • department_id=string
  • Instructor
    • instructor=string
  • Session
    • session=string
  • Year
    • year=string
  • Time Frame: One of "past", "past_current", "current", "current_future", or "future"
    • timeframe=current_future
  • Credits
    • credits=string
  • Delivery
    • delivery_method=string
  • Templates: One of "templates" or "non"
    • template=
  • Audit Status: One of "0", "1", "2", "3", or "4".
    • audit_status=1
    • For the purpose of this API, 0 means New, 1 means In Progress, 2 means Reviewed, 3 means Modified Since Review, and 4 means Submitted For Review.


While each of these parameters are optional, we recommend you apply at least one criteria to limit the number of matching courses in your JSON output.


    • Related Articles

    • Reporting on Course Tags

      This article will be most useful for Concourse admins. Overview Course Tags are a feature that allow you to categorize Concourse syllabi beyond their domain, subject area, or other course metadata. With Course Tags, courses in your system across the ...
    • API - General Usage

      FYI: All lines within code blocks are numbered, regardless of whether there is more than one line of code provided. An API is available to retrieve certain data stored by Concourse. This article covers documentation related to the initial version ...
    • Setting Course Tags

      This article will be most useful for Concourse admins, domain administrators, and template managers. Overview Course Tags are designations within your system that identify courses sharing similar characteristics, requirements, or policies, such as ...
    • Course Tags

      This article will be most useful for Concourse admins and academic leaders. Overview At many institutions, there are courses across the curriculum that share characteristics, requirements, and policies, such as General Education and Service Learning ...
    • Managing Course Tags

      This article will be most useful for Concourse admins. Overview Course Tags are system-level identifiers that can be used to categorize courses beyond organizational markers such as department or subject. Each institution determines the full list of ...