Tahoe Course API

API Endpoint to retrieve course identifier data on Tahoe from a third-party system. 

Use these to use an external system to retrieve course identifiers. This is needed in order for a remote client to retrieve course ids, which are used in enrollment. For the initial release, this endpoint is intended to provide course identifier information to support the Enrollment API, and not provide detailed course overview information. Future updates will include the ability to retrieve both simple identifier information and detailed information.

GET List

Endpoint: /tahoe/api/v1/courses/
Request Method: GET

Table 1 - Query parameters

Name Type Description
number string Course number. For the course id, “course-v1:testing-apis+AP200+2019”, the number would be ‘AP200.
This query parameter can be an exact match or substring of the course number

Response

The top level response contains pagination data, which can be used to page through the list responses.

Table 2 - Top Level Response Keys

Name Description
count Number of total records retrieved
next Link to the next page of results. Null if no next page
previous Link to the previous page of results. Null if no previous page
results List of enrollment data. See the next table

Table 3 - Results element values

Name Description
id Course identifier string
display_name Descriptive name of the course
org The course’s organization. Currently there is only one organization per site

Table 4 - Response codes

Name Description
200 OK (success)
400 Bad Request. Invalid parameter(s) or value(s) in request body
401 Unauthorized. User token passes but user doesn’t have permissions
403 Forbidden. An invalid token will cause this

Example response

{
    "count": 16,
    "next": null,
    "previous": null,
    "results": [
        {
            "id": "course-v1:testing-apis+AP200+2019",
            "display_name": "APIs: How I learned to stop worrying and love APIs",
            "org": "testing-apis"
        },
        {
            "id": "course-v1:testing-apis+AS100+2018",
            "display_name": "Beginner to advanced course authoring: Simplifying learning",
            "org": "testing-apis"
        },
        ...
    ]
}

Example cURL command

curl -X GET \
  https://<your-site-name>.tahoe.appsembler.com/tahoe/api/v1/courses/ \
  -H 'Accept: */*' \
  -H 'Authorization: Token <insert token here> \
  -H 'Cache-Control: no-cache'

GET Detail

Endpoint: /tahoe/api/v1/courses/<course id>/
Request Method: GET

Returns a single course record. See Table 3 above for the details of the record.

Example response

{
    "id": "course-v1:testing-apis+AS100+2018",
    "display_name": "Beginner to advanced course authoring: Simplifying learning",
    "org": "testing-apis"
}

Example cURL command

curl -X GET \
https://<your-site-name>.tahoe.appsembler.com/tahoe/api/v1/courses/course-v1:testing-apis+AS100+2019 \
  -H 'Accept: */*' \
  -H 'Authorization: Token <insert token here> \
  -H 'Cache-Control: no-cache'