API - General Usage

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 (v0) of the API.

Request

The common format for API requests is:

  1. https://yourdomain.campusconcourse.com/api?version=0&operation=your_operation&arg1=val1&...

Operations may have required and/or optional arguments. All data is returned in the JSON format. See the documentation for each operation to understand its functionality and arguments.

Retrieval

Go to Admin > System > API to view your base endpoint URL and key. You must be a system administrator to access this area and to make browser-based API requests.

Requests can also be made programmatically by supplying your API key in the X-AUTH-KEY request header. For example:

  1. curl -H "X-AUTH-KEY: your_api_key" "https://yourdomain.campusconcourse.com/api?version=0&operation=course_info&course_id=1"

Operations

course_ids

The course_ids operation returns an array of pairs of internal course IDs and external IDs. Any parameter available in the Concourse search form may be used to filter the courses which are returned. For example:

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

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

Learn more about the course_ids operation with our API - Course Listing article.

course_info

The course_info operation returns a nested array of course and syllabus content. Either a course_id or external_id identifying a course is required. For example:

  1. /api?version=0&operation=course_info&external_id=ACCT_101_SPR_2025

Note: all syllabus content is returned. If your application requires content to be controlled based on permissions, consider the group permissions included in the JSON.

Learn more about the course_info operation with our API - Syllabus Content article.

syllabus_access

The syllabus_access operation returns a nested array of users who have accessed a syllabus. Either a course_id or external_id identifying a course is required. For example:

  1. /api?version=0&operation=syllabus_access&external_id=ACCT_101_SPR_2025

Note: all users who have accessed a syllabus are returned. If your application requires only select groups, consider the group included in the JSON.

Learn more about the syllabus_access operation with our API - Syllabus Access article.

change_log

The change_log operation returns a nested array of users and systems that have changed a syllabus. Either a course_id or external_id identifying a course is required. For example:

  1. /api?version=0&operation=change_log&external_id=ACCT_101_SPR_2025

Note: all actors who have changed a syllabus are returned. If your application requires only select users or groups of users, consider pairing this with the syllabus_access operation.

Learn more about the change_log operation with our API - Syllabus Changes article.

Errors

HTTP response codes are used for the following general errors:

CodeErrorResolution
400Request malformedCheck URL parameters
403Incorrect API keyCheck the provided API key
404Specified resource not foundCheck for matching resource
500API key is not configuredSubmit a ticket

    • Related Articles

    • 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 ...
    • 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 ...
    • Linked Course Templates

      This article provides more "technical" information regarding linked templates. If you are looking for a tutorial on how to link templates, consider visiting the Create a Link Between Templates article in the "How-To" section of our Knowledge Base. ...