🚀 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.

ePub Exports API

API for exporting courses as an ePub

A CourseEpubExport object looks like:

// Combination of a Course & EpubExport.
{
  // the unique identifier for the course
  "id": 101,
  // the name for the course
  "name": "Maths 101",
  // ePub export API object
  "epub_export": null
}

An EpubExport 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",
  // attachment api object for the export ePub (not present until the export
  // completes)
  "attachment": {"url":"https:\/\/example.com\/api\/v1\/attachments\/789?download_frd=1"},
  // 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 ePub export: created exporting exported generating
  // generated failed
  "workflow_state": "exported"
}

List courses with their latest ePub export EpubExportsController#index

GET /api/v1/epub_exports

Scope: url:GET|/api/v1/epub_exports

GET /courses/:course_id/files/:file_id/download

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/download.:type

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/preview

Scope: url:GET|/courses/:course_id/files/:file_id/preview

GET /quiz_statistics/:quiz_statistics_id/files/:file_id/download

Scope: url:GET|/quiz_statistics/:quiz_statistics_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download.:type

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/preview

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/preview

GET /groups/:group_id/files/:file_id/download

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/download.:type

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/preview

Scope: url:GET|/groups/:group_id/files/:file_id/preview

GET /accounts/:account_id/files/:file_id/download

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/download.:type

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/preview

Scope: url:GET|/accounts/:account_id/files/:file_id/preview

GET /users/:user_id/files/:file_id/download

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/download.:type

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/preview

Scope: url:GET|/users/:user_id/files/:file_id/preview

GET /assignments/:assignment_id/files/:id/download

Scope: url:GET|/assignments/:assignment_id/files/:id/download

GET /files/:file_id/download

Scope: url:GET|/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download.:type

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

A paginated list of all courses a user is actively participating in, and the latest ePub export associated with the user & course.

Returns a list of CourseEpubExport objects

Create ePub Export EpubExportsController#create

POST /api/v1/courses/:course_id/epub_exports

Scope: url:POST|/api/v1/courses/:course_id/epub_exports

GET /courses/:course_id/files/:file_id/download

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/download.:type

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/preview

Scope: url:GET|/courses/:course_id/files/:file_id/preview

GET /quiz_statistics/:quiz_statistics_id/files/:file_id/download

Scope: url:GET|/quiz_statistics/:quiz_statistics_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download.:type

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/preview

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/preview

GET /groups/:group_id/files/:file_id/download

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/download.:type

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/preview

Scope: url:GET|/groups/:group_id/files/:file_id/preview

GET /accounts/:account_id/files/:file_id/download

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/download.:type

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/preview

Scope: url:GET|/accounts/:account_id/files/:file_id/preview

GET /users/:user_id/files/:file_id/download

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/download.:type

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/preview

Scope: url:GET|/users/:user_id/files/:file_id/preview

GET /assignments/:assignment_id/files/:id/download

Scope: url:GET|/assignments/:assignment_id/files/:id/download

GET /files/:file_id/download

Scope: url:GET|/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download.:type

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Begin an ePub export for a course.

You can use the Progress API to track the progress of the export. The export’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.

Returns an EpubExport object

Show ePub export EpubExportsController#show

GET /api/v1/courses/:course_id/epub_exports/:id

Scope: url:GET|/api/v1/courses/:course_id/epub_exports/:id

GET /courses/:course_id/files/:file_id/download

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/download.:type

Scope: url:GET|/courses/:course_id/files/:file_id/download

GET /courses/:course_id/files/:file_id/preview

Scope: url:GET|/courses/:course_id/files/:file_id/preview

GET /quiz_statistics/:quiz_statistics_id/files/:file_id/download

Scope: url:GET|/quiz_statistics/:quiz_statistics_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/download.:type

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/download

GET /assessment_questions/:assessment_question_id/files/:file_id/preview

Scope: url:GET|/assessment_questions/:assessment_question_id/files/:file_id/preview

GET /groups/:group_id/files/:file_id/download

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/download.:type

Scope: url:GET|/groups/:group_id/files/:file_id/download

GET /groups/:group_id/files/:file_id/preview

Scope: url:GET|/groups/:group_id/files/:file_id/preview

GET /accounts/:account_id/files/:file_id/download

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/download.:type

Scope: url:GET|/accounts/:account_id/files/:file_id/download

GET /accounts/:account_id/files/:file_id/preview

Scope: url:GET|/accounts/:account_id/files/:file_id/preview

GET /users/:user_id/files/:file_id/download

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/download.:type

Scope: url:GET|/users/:user_id/files/:file_id/download

GET /users/:user_id/files/:file_id/preview

Scope: url:GET|/users/:user_id/files/:file_id/preview

GET /assignments/:assignment_id/files/:id/download

Scope: url:GET|/assignments/:assignment_id/files/:id/download

GET /files/:file_id/download

Scope: url:GET|/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download.:type

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/download

GET /quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Scope: url:GET|/quizzes/quiz_submissions/:quiz_submission_id/files/:file_id/preview

Get information about a single ePub export.

Returns an EpubExport object