Tahoe Course API - Appsembler

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'