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'