
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:
- /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.
- [
- {
- "id":"307",
- "external_id":"ACCT221_MASTER"
- },
- {
- "id":"310",
- "external_id":"ECON313_12919_202020"
- },
- {
- "id":"8398",
- "external_id":null
- }
- ]

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 Mode: One of "all" or "any"
Course Title
Subject
Number
Campus
School
Department
Instructor
Session
Year
Time Frame: One of "past", "past_current", "current", "current_future", or
"future"
Credits
Delivery
Templates: One of "templates" or "non"
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 ...