Content Exports
Welcome to Our New API Docs! This is the new home for all things API (previously at Canvas LMS REST API Documentation).
Content Exports API
API for exporting courses and course content
A ContentExport object looks like:
{
// the unique identifier for the export
"id": 101,
// the date and time this export was requested
"created_at": "2014-01-01T00:00:00Z",
// the type of content migration: 'common_cartridge' or 'qti'
"export_type": "common_cartridge",
// attachment api object for the export package (not present before the export
// completes or after it becomes unavailable for download.)
"attachment": {"url":"https:\/\/example.com\/api\/v1\/attachments\/789?download_frd=1\u0026verifier=bG9sY2F0cyEh"},
// The api endpoint for polling the current progress
"progress_url": "https://example.com/api/v1/progress/4",
// The ID of the user who started the export
"user_id": 4,
// Current state of the content migration: created exporting exported failed
"workflow_state": "exported"
}
ContentExportsApiController#index
GET /api/v1/courses/:course_id/content_exports
Scope: url:GET|/api/v1/courses/:course_id/content_exports
GET /api/v1/groups/:group_id/content_exports
Scope: url:GET|/api/v1/groups/:group_id/content_exports
GET /api/v1/users/:user_id/content_exports
Scope: url:GET|/api/v1/users/:user_id/content_exports
A paginated list of the past and pending content export jobs for a course, group, or user. Exports are returned newest first.
Returns a list of ContentExport objects.
ContentExportsApiController#show
GET /api/v1/courses/:course_id/content_exports/:id
Scope: url:GET|/api/v1/courses/:course_id/content_exports/:id
GET /api/v1/groups/:group_id/content_exports/:id
Scope: url:GET|/api/v1/groups/:group_id/content_exports/:id
GET /api/v1/users/:user_id/content_exports/:id
Scope: url:GET|/api/v1/users/:user_id/content_exports/:id
Get information about a single content export.
Returns a ContentExport object.
ContentExportsApiController#create
POST /api/v1/courses/:course_id/content_exports
Scope: url:POST|/api/v1/courses/:course_id/content_exports
POST /api/v1/groups/:group_id/content_exports
Scope: url:POST|/api/v1/groups/:group_id/content_exports
POST /api/v1/users/:user_id/content_exports
Scope: url:POST|/api/v1/users/:user_id/content_exports
Begin a content export job for a course, group, or user.
You can use the Progress API to track the progress of the export. The migration’s progress is linked to with the progress_url value.
When the export completes, use the Show content export endpoint to retrieve a download URL for the exported content.
Request Parameters:
export_type
Required string
“common_cartridge”
Export the contents of the course in the Common Cartridge (.imscc) format
“qti”
Export quizzes from a course in the QTI format
“zip”
Export files from a course, group, or user in a zip file
Allowed values: common_cartridge
, qti
, zip
skip_notifications
boolean
Don’t send the notifications about the export to the user. Default: false
select
Hash
The select parameter allows exporting specific data. The keys are object types like ‘files’, ‘folders’, ‘pages’, etc. The value for each key is a list of object ids. An id can be an integer or a string.
Multiple object types can be selected in the same call. However, not all object types are valid for every export_type. Common Cartridge supports all object types. Zip and QTI only support the object types as described below.
“folders”
Also supported for zip export_type.
“files”
Also supported for zip export_type.
“quizzes”
Also supported for qti export_type.
Allowed values: folders
, files
, attachments
, quizzes
, assignments
, announcements
, calendar_events
, discussion_topics
, modules
, module_items
, pages
, rubrics
Returns a ContentExport object.
This documentation is generated directly from the Canvas LMS source code, available on Github.
Last updated
Was this helpful?