Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Content Exports API

10 actions 10 updates phrasing extends openapi/canvas-content-exports-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Canvas's API. It is a proposal applied on top of the contract, not a document Canvas publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 10

$.info
$.paths['/v1/courses/{course_id}/content_exports'].get
$.paths['/v1/courses/{course_id}/content_exports'].post
$.paths['/v1/groups/{group_id}/content_exports'].get
$.paths['/v1/groups/{group_id}/content_exports'].post
$.paths['/v1/users/{user_id}/content_exports'].get
$.paths['/v1/users/{user_id}/content_exports'].post
$.paths['/v1/courses/{course_id}/content_exports/{id}'].get
$.paths['/v1/groups/{group_id}/content_exports/{id}'].get
$.paths['/v1/users/{user_id}/content_exports/{id}'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Canvas LMS REST Content Exports API
  version: 1.0.0
extends: openapi/canvas-content-exports-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 9
- target: $.paths['/v1/courses/{course_id}/content_exports'].get
  update:
    x-apievangelist-phrasing:
      intent: List a course's content exports
      effect: read
      questions:
      - What content exports have been run for a course?
      - Can I see pending course export jobs, newest first?
      instructions:
      - text: List content exports for course {course_id}.
        slots:
          course_id: path.course_id
      - text: Show past and pending export jobs in course {course_id}.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_exports'].post
  update:
    x-apievangelist-phrasing:
      intent: Export a course's content
      effect: write
      questions:
      - How do I export a whole course as a Common Cartridge file?
      - Can I export only a course's quizzes in QTI format?
      - Is it possible to export just selected pages and files from a course?
      instructions:
      - text: Export course {course_id} as {export_type}.
        slots:
          course_id: path.course_id
          export_type: requestBody.export_type
      - text: Export only {select} from course {course_id} in {export_type} format.
        slots:
          select: requestBody.select
          course_id: path.course_id
          export_type: requestBody.export_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_exports'].get
  update:
    x-apievangelist-phrasing:
      intent: List a group's content exports
      effect: read
      questions:
      - What exports have been run for a group?
      - Are there any group export jobs still pending?
      instructions:
      - text: List content exports for group {group_id}.
        slots:
          group_id: path.group_id
      - text: Show past and pending export jobs in group {group_id}.
        slots:
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_exports'].post
  update:
    x-apievangelist-phrasing:
      intent: Export a group's content
      effect: write
      questions:
      - How do I export the files and pages of a group?
      - Can I export a group's content without being notified?
      instructions:
      - text: Export group {group_id} as {export_type}.
        slots:
          group_id: path.group_id
          export_type: requestBody.export_type
      - text: Export {select} from group {group_id} as {export_type} with skip notifications {skip_notifications}.
        slots:
          select: requestBody.select
          group_id: path.group_id
          export_type: requestBody.export_type
          skip_notifications: requestBody.skip_notifications
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_exports'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's content exports
      effect: read
      questions:
      - What exports have been made of a user's personal files?
      - Which user-level export jobs are still running?
      instructions:
      - text: List content exports for user {user_id}.
        slots:
          user_id: path.user_id
      - text: Show past and pending export jobs for user {user_id}.
        slots:
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_exports'].post
  update:
    x-apievangelist-phrasing:
      intent: Export a user's personal content
      effect: write
      questions:
      - How do I export all of a user's personal files as a zip?
      - Can I export a user's content to back it up?
      instructions:
      - text: Export user {user_id}'s content as {export_type}.
        slots:
          user_id: path.user_id
          export_type: requestBody.export_type
      - text: Start a {export_type} export of {select} for user {user_id}.
        slots:
          export_type: requestBody.export_type
          select: requestBody.select
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_exports/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a course export and its download link
      effect: read
      questions:
      - Is my course export finished, and where do I download it?
      - Can I check the status of a single course export job?
      instructions:
      - text: Show content export {id} for course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Get the download URL for course {course_id} export {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_exports/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a group export and its download link
      effect: read
      questions:
      - Has my group export completed yet?
      - Where's the download for a finished group export?
      instructions:
      - text: Show content export {id} for group {group_id}.
        slots:
          id: path.id
          group_id: path.group_id
      - text: Get the download URL for group {group_id} export {id}.
        slots:
          group_id: path.group_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_exports/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a user export and its download link
      effect: read
      questions:
      - Is a user's file export ready to download?
      - What's the status of one export of a user's content?
      instructions:
      - text: Show content export {id} for user {user_id}.
        slots:
          id: path.id
          user_id: path.user_id
      - text: Get the download URL for user {user_id} export {id}.
        slots:
          user_id: path.user_id
          id: path.id
      method: generated
      generated: '2026-10-01'