🚀 Heads up: Our API Docs Have Moved!
We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.
We have relocated to Instructure Developer Documentation Portal. 🎉 Please update your bookmarks. This page will automatically redirect after July 1, 2026.
Course Reports API
API for accessing course reports.
A Report object looks like:
{
// The unique identifier for the report.
"id": 1,
// The url to the report download.
"file_url": "https://example.com/some/path",
// The attachment api object of the report. Only available after the report has
// completed.
"attachment": null,
// The status of the report
"status": "complete",
// The date and time the report was created.
"created_at": "2013-12-01T23:59:00-06:00",
// The date and time the report started processing.
"started_at": "2013-12-02T00:03:21-06:00",
// The date and time the report finished processing.
"ended_at": "2013-12-02T00:03:21-06:00",
// The report parameters
"parameters": {"course_id":2,"start_at":"2012-07-13T10:55:20-06:00","end_at":"2012-07-13T10:55:20-06:00"},
// The progress of the report
"progress": 100
}
A ReportParameters object looks like:
// The parameters returned will vary for each report.
{
}
Status of a Report CourseReportsController#show
GET /api/v1/courses/:course_id/reports/:report_type/:id
Scope:
Returns the status of a report.
url:GET|/api/v1/courses/:course_id/reports/:report_type/:id
Example Request:
curl -H 'Authorization: Bearer <token>' \
https://<canvas>/api/v1/courses/<course_id>/reports/<report_type>/<report_id>
Start a Report CourseReportsController#create
POST /api/v1/courses/:course_id/reports/:report_type
Scope:
Generates a report instance for the account. Note that "report" in the
request must match one of the available report names.
url:POST|/api/v1/courses/:course_id/reports/:report_type
Request Parameters:
| Parameter | Type | Description | |
|---|---|---|---|
| course_id | integer | The id of the course to report on. | |
| report_type | string | The type of report to generate. | |
| parameters[] | Hash | The parameters will vary for each report. A few example parameters have been provided below. Note: the example parameters provided below may not be valid for every report. | |
| parameters[section_ids[]] | integer | The sections of the course to report on. Note: this parameter has been listed to serve as an example and may not be valid for every report. |
Status of last Report CourseReportsController#last
GET /api/v1/courses/:course_id/reports/:report_type
Scope:
Returns the status of the last report initiated by the current user.
url:GET|/api/v1/courses/:course_id/reports/:report_type
Example Request:
curl -H 'Authorization: Bearer <token>' \
https://<canvas>/api/v1/courses/<course_id>/reports/<report_type>