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

    • 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 ...
    • API - Syllabus Access

      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 statistics related to views of syllabi. This is helpful for integrating Concourse with other systems ...
    • API - Syllabus Changes

      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 statistics related to edits made to syllabi. This is helpful for integrating Concourse with other ...
    • API - Syllabus Content

      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 the content, permissions, and metadata related to syllabi. This is helpful for integrating Concourse ...
    • Designing Course Templates

      The Syllabus Geeks understand that creating a course template can seem like a daunting task. Never fear, we are here to help! We understand that you may have a lot of questions surrounding the creation of a syllabus template. This may be a completely ...