Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Content Migrations API

38 actions 38 updates phrasing extends openapi/canvas-content-migrations-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 38 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/accounts/{account_id}/content_migrations/{content_migration_id}/migration_issues'].get
$.paths['/v1/courses/{course_id}/content_migrations/{content_migration_id}/migration_issues'].get
$.paths['/v1/groups/{group_id}/content_migrations/{content_migration_id}/migration_issues'].get
$.paths['/v1/users/{user_id}/content_migrations/{content_migration_id}/migration_issues'].get
$.paths['/v1/accounts/{account_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].get
$.paths['/v1/accounts/{account_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].put
$.paths['/v1/courses/{course_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].get
$.paths['/v1/courses/{course_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].put
$.paths['/v1/groups/{group_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].get
$.paths['/v1/groups/{group_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].put
$.paths['/v1/users/{user_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].get
$.paths['/v1/users/{user_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].put
$.paths['/v1/accounts/{account_id}/content_migrations'].get
$.paths['/v1/accounts/{account_id}/content_migrations'].post
$.paths['/v1/courses/{course_id}/content_migrations'].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 Migrations API
  version: 1.0.0
extends: openapi/canvas-content-migrations-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: 37
- target: $.paths['/v1/accounts/{account_id}/content_migrations/{content_migration_id}/migration_issues'].get
  update:
    x-apievangelist-phrasing:
      intent: List issues raised by an account content migration
      effect: read
      questions:
      - What problems came up during an import into my Canvas account?
      - Which warnings did an account-level content migration leave behind?
      instructions:
      - text: List the migration issues for migration {content_migration_id} in account {account_id}.
        slots:
          content_migration_id: path.content_migration_id
          account_id: path.account_id
      - text: Show every problem flagged on account {account_id}'s import {content_migration_id}.
        slots:
          account_id: path.account_id
          content_migration_id: path.content_migration_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations/{content_migration_id}/migration_issues'].get
  update:
    x-apievangelist-phrasing:
      intent: List issues raised by a course content migration
      effect: read
      questions:
      - What went wrong when I imported content into my course?
      - Can I see all the errors from a course copy or import?
      instructions:
      - text: List the migration issues for course {course_id} migration {content_migration_id}.
        slots:
          course_id: path.course_id
          content_migration_id: path.content_migration_id
      - text: Show the import problems from migration {content_migration_id} into course {course_id}.
        slots:
          content_migration_id: path.content_migration_id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations/{content_migration_id}/migration_issues'].get
  update:
    x-apievangelist-phrasing:
      intent: List issues raised by a group content migration
      effect: read
      questions:
      - Which errors did a content import into a student group produce?
      - Are there any unresolved warnings on a group's content migration?
      instructions:
      - text: List the migration issues for group {group_id} migration {content_migration_id}.
        slots:
          group_id: path.group_id
          content_migration_id: path.content_migration_id
      - text: Show every problem flagged on group {group_id}'s import {content_migration_id}.
        slots:
          group_id: path.group_id
          content_migration_id: path.content_migration_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations/{content_migration_id}/migration_issues'].get
  update:
    x-apievangelist-phrasing:
      intent: List issues raised by a user content migration
      effect: read
      questions:
      - What problems came up importing files into a user's personal space?
      - Can I list the warnings from a user-level content migration?
      instructions:
      - text: List the migration issues for user {user_id} migration {content_migration_id}.
        slots:
          user_id: path.user_id
          content_migration_id: path.content_migration_id
      - text: Show every problem flagged on user {user_id}'s import {content_migration_id}.
        slots:
          user_id: path.user_id
          content_migration_id: path.content_migration_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one issue from an account content migration
      effect: read
      questions:
      - What are the details of a single issue from an account-level import?
      - Can I look up one specific migration issue on my account by its ID?
      instructions:
      - text: Get issue {id} from migration {content_migration_id} in account {account_id}.
        slots:
          id: path.id
          content_migration_id: path.content_migration_id
          account_id: path.account_id
      - text: Show me the details of account {account_id} migration issue {id} on import {content_migration_id}.
        slots:
          account_id: path.account_id
          id: path.id
          content_migration_id: path.content_migration_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Resolve or reopen an account migration issue
      effect: write
      questions:
      - How do I mark an issue from an account-level import as resolved?
      - Can I change the workflow state of a migration issue on my account?
      instructions:
      - text: Set issue {id} on account {account_id} migration {content_migration_id} to {workflow_state}.
        slots:
          id: path.id
          account_id: path.account_id
          content_migration_id: path.content_migration_id
          workflow_state: requestBody.workflow_state
      - text: Mark account {account_id} migration {content_migration_id} issue {id} as resolved.
        slots:
          account_id: path.account_id
          content_migration_id: path.content_migration_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one issue from a course content migration
      effect: read
      questions:
      - What exactly does one error from my course import say?
      - Can I fetch a single course migration issue by its ID?
      instructions:
      - text: Get issue {id} from migration {content_migration_id} in course {course_id}.
        slots:
          id: path.id
          content_migration_id: path.content_migration_id
          course_id: path.course_id
      - text: Show me the details of course {course_id} migration issue {id} on import {content_migration_id}.
        slots:
          course_id: path.course_id
          id: path.id
          content_migration_id: path.content_migration_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Resolve or reopen a course migration issue
      effect: write
      questions:
      - How do I mark a course import problem as resolved once I've fixed it?
      - Can I reactivate a course migration issue I resolved by mistake?
      instructions:
      - text: Set issue {id} on course {course_id} migration {content_migration_id} to {workflow_state}.
        slots:
          id: path.id
          course_id: path.course_id
          content_migration_id: path.content_migration_id
          workflow_state: requestBody.workflow_state
      - text: Mark course {course_id} migration {content_migration_id} issue {id} as resolved.
        slots:
          course_id: path.course_id
          content_migration_id: path.content_migration_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one issue from a group content migration
      effect: read
      questions:
      - What are the details of one problem from a group's content import?
      - Can I fetch a single group migration issue by its ID?
      instructions:
      - text: Get issue {id} from migration {content_migration_id} in group {group_id}.
        slots:
          id: path.id
          content_migration_id: path.content_migration_id
          group_id: path.group_id
      - text: Show me the details of group {group_id} migration issue {id} on import {content_migration_id}.
        slots:
          group_id: path.group_id
          id: path.id
          content_migration_id: path.content_migration_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Resolve or reopen a group migration issue
      effect: write
      questions:
      - How do I mark a problem from a group's content import as resolved?
      - Can I change the state of a group migration issue?
      instructions:
      - text: Set issue {id} on group {group_id} migration {content_migration_id} to {workflow_state}.
        slots:
          id: path.id
          group_id: path.group_id
          content_migration_id: path.content_migration_id
          workflow_state: requestBody.workflow_state
      - text: Mark group {group_id} migration {content_migration_id} issue {id} as resolved.
        slots:
          group_id: path.group_id
          content_migration_id: path.content_migration_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one issue from a user content migration
      effect: read
      questions:
      - What does a single issue from a user's personal import say?
      - Can I fetch one user-level migration issue by its ID?
      instructions:
      - text: Get issue {id} from migration {content_migration_id} for user {user_id}.
        slots:
          id: path.id
          content_migration_id: path.content_migration_id
          user_id: path.user_id
      - text: Show me the details of user {user_id} migration issue {id} on import {content_migration_id}.
        slots:
          user_id: path.user_id
          id: path.id
          content_migration_id: path.content_migration_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations/{content_migration_id}/migration_issues/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Resolve or reopen a user migration issue
      effect: write
      questions:
      - How do I mark an issue from a user's personal import as resolved?
      - Can I set the workflow state of a user-level migration issue?
      instructions:
      - text: Set issue {id} on user {user_id} migration {content_migration_id} to {workflow_state}.
        slots:
          id: path.id
          user_id: path.user_id
          content_migration_id: path.content_migration_id
          workflow_state: requestBody.workflow_state
      - text: Mark user {user_id} migration {content_migration_id} issue {id} as resolved.
        slots:
          user_id: path.user_id
          content_migration_id: path.content_migration_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/content_migrations'].get
  update:
    x-apievangelist-phrasing:
      intent: List content migrations run on an account
      effect: read
      questions:
      - Which imports have been run against my Canvas account?
      - Can I see the history of account-level content migrations?
      instructions:
      - text: List the content migrations for account {account_id}.
        slots:
          account_id: path.account_id
      - text: Show all imports that have run on account {account_id}.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/content_migrations'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a content import into an account
      effect: write
      questions:
      - How do I import a question bank or package into my account rather than a course?
      - Can I start an account-level content migration from a file URL?
      instructions:
      - text: Start a {migration_type} content migration into account {account_id}.
        slots:
          migration_type: requestBody.migration_type
          account_id: path.account_id
      - text: Import the file at {file_url} into account {account_id} as a {migration_type} migration.
        slots:
          file_url: requestBody.settings[file_url]
          account_id: path.account_id
          migration_type: requestBody.migration_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations'].get
  update:
    x-apievangelist-phrasing:
      intent: List content migrations run on a course
      effect: read
      questions:
      - What imports and course copies have been run into my course?
      - Can I check whether a previous course copy finished?
      instructions:
      - text: List the content migrations for course {course_id}.
        slots:
          course_id: path.course_id
      - text: Show all imports and copies that have run into course {course_id}.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations'].post
  update:
    x-apievangelist-phrasing:
      intent: Copy or import content into a course
      effect: write
      questions:
      - How do I copy everything from last term's course into a new one?
      - Can I shift assignment dates to a new term while importing course content?
      - Which settings let me import only selected items instead of the whole course?
      instructions:
      - text: Copy course {source_course_id} into course {course_id}.
        slots:
          source_course_id: requestBody.settings[source_course_id]
          course_id: path.course_id
      - text: Start a {migration_type} import into course {course_id} from {file_url}.
        slots:
          migration_type: requestBody.migration_type
          course_id: path.course_id
          file_url: requestBody.settings[file_url]
      - text: Import into course {course_id} with dates shifted to start {new_start_date} using migration type {migration_type}.
        slots:
          course_id: path.course_id
          new_start_date: requestBody.date_shift_options[new_start_date]
          migration_type: requestBody.migration_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations'].get
  update:
    x-apievangelist-phrasing:
      intent: List content migrations run on a group
      effect: read
      questions:
      - Which content imports have been run into a student group?
      - Can I see the migration history for a group?
      instructions:
      - text: List the content migrations for group {group_id}.
        slots:
          group_id: path.group_id
      - text: Show all imports that have run into group {group_id}.
        slots:
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a content import into a group
      effect: write
      questions:
      - How do I upload a zip of files into a group's files area?
      - Can I import content into a group instead of a course?
      instructions:
      - text: Start a {migration_type} content migration into group {group_id}.
        slots:
          migration_type: requestBody.migration_type
          group_id: path.group_id
      - text: Import the file at {file_url} into group {group_id} as a {migration_type} migration.
        slots:
          file_url: requestBody.settings[file_url]
          group_id: path.group_id
          migration_type: requestBody.migration_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations'].get
  update:
    x-apievangelist-phrasing:
      intent: List content migrations run for a user
      effect: read
      questions:
      - What imports have been run into a user's personal files?
      - Can I list a user's own content migrations?
      instructions:
      - text: List the content migrations for user {user_id}.
        slots:
          user_id: path.user_id
      - text: Show all imports that have run for user {user_id}.
        slots:
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations'].post
  update:
    x-apievangelist-phrasing:
      intent: Start a content import into a user's files
      effect: write
      questions:
      - How do I import a zip file into a user's personal files?
      - Can I start a content migration scoped to a single user?
      instructions:
      - text: Start a {migration_type} content migration for user {user_id}.
        slots:
          migration_type: requestBody.migration_type
          user_id: path.user_id
      - text: Import the file at {file_url} into user {user_id}'s files as a {migration_type} migration.
        slots:
          file_url: requestBody.settings[file_url]
          user_id: path.user_id
          migration_type: requestBody.migration_type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/content_migrations/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the status of an account content migration
      effect: read
      questions:
      - Has a particular import into my account finished yet?
      - What is the current state of one account-level migration?
      instructions:
      - text: Get content migration {id} in account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Check the progress of account {account_id} import {id}.
        slots:
          account_id: path.account_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/content_migrations/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update or retry an account content migration
      effect: write
      questions:
      - How do I retry an account import after its file upload failed?
      - Can I change settings on an account migration that's already been created?
      instructions:
      - text: Update content migration {id} in account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Resubmit the upload for account {account_id} import {id}.
        slots:
          account_id: path.account_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the status of a course content migration
      effect: read
      questions:
      - Did my course copy finish, or is it still running?
      - What's the workflow state of one import into my course?
      instructions:
      - text: Get content migration {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Check the progress of course {course_id} import {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Choose items or retry a course content migration
      effect: write
      questions:
      - How do I pick which items to bring over in a selective course import?
      - Can I resend a file for a course import whose first upload failed?
      instructions:
      - text: Update content migration {id} in course {course_id} with the items I selected.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Retry the file upload for course {course_id} import {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the status of a group content migration
      effect: read
      questions:
      - Has the content import into my group completed?
      - What is the state of a single group-level migration?
      instructions:
      - text: Get content migration {id} in group {group_id}.
        slots:
          id: path.id
          group_id: path.group_id
      - text: Check the progress of group {group_id} import {id}.
        slots:
          group_id: path.group_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update or retry a group content migration
      effect: write
      questions:
      - How do I retry a group import after the upload went wrong?
      - Can I adjust a group migration after creating it?
      instructions:
      - text: Update content migration {id} in group {group_id}.
        slots:
          id: path.id
          group_id: path.group_id
      - text: Resubmit the upload for group {group_id} import {id}.
        slots:
          group_id: path.group_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the status of a user content migration
      effect: read
      questions:
      - Has the import into a user's personal files finished?
      - What is the state of one user-level migration?
      instructions:
      - text: Get content migration {id} for user {user_id}.
        slots:
          id: path.id
          user_id: path.user_id
      - text: Check the progress of user {user_id} import {id}.
        slots:
          user_id: path.user_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update or retry a user content migration
      effect: write
      questions:
      - How do I retry a user's personal import after the upload failed?
      - Can I change a user-level migration after it was created?
      instructions:
      - text: Update content migration {id} for user {user_id}.
        slots:
          id: path.id
          user_id: path.user_id
      - text: Resubmit the upload for user {user_id} import {id}.
        slots:
          user_id: path.user_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/content_migrations/migrators'].get
  update:
    x-apievangelist-phrasing:
      intent: List import types available to an account
      effect: read
      questions:
      - Which migration types can I use when importing into my account?
      - What import formats does my account support?
      instructions:
      - text: List the available migration systems for account {account_id}.
        slots:
          account_id: path.account_id
      - text: Show which import types account {account_id} supports.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations/migrators'].get
  update:
    x-apievangelist-phrasing:
      intent: List import types available to a course
      effect: read
      questions:
      - What migration types can I choose from when importing into a course?
      - Does my course support Common Cartridge or QTI imports?
      instructions:
      - text: List the available migration systems for course {course_id}.
        slots:
          course_id: path.course_id
      - text: Show which import types course {course_id} supports.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations/migrators'].get
  update:
    x-apievangelist-phrasing:
      intent: List import types available to a group
      effect: read
      questions:
      - Which migration types are allowed for imports into a group?
      - What import formats can a group accept?
      instructions:
      - text: List the available migration systems for group {group_id}.
        slots:
          group_id: path.group_id
      - text: Show which import types group {group_id} supports.
        slots:
          group_id: path.group_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations/migrators'].get
  update:
    x-apievangelist-phrasing:
      intent: List import types available to a user
      effect: read
      questions:
      - Which migration types can be used for a user's personal imports?
      - What import formats are available at the user level?
      instructions:
      - text: List the available migration systems for user {user_id}.
        slots:
          user_id: path.user_id
      - text: Show which import types user {user_id} supports.
        slots:
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/content_migrations/{id}/selective_data'].get
  update:
    x-apievangelist-phrasing:
      intent: Browse content selectable in an account import
      effect: read
      questions:
      - What content can I choose from in an account-level selective import?
      - Can I see the tree of importable items for an account migration?
      instructions:
      - text: List the selectable items for account {account_id} migration {id}.
        slots:
          account_id: path.account_id
          id: path.id
      - text: Show the {type} items available to import in account {account_id} migration {id}.
        slots:
          type: query.type
          account_id: path.account_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations/{id}/selective_data'].get
  update:
    x-apievangelist-phrasing:
      intent: Browse content selectable in a course import
      effect: read
      questions:
      - Which assignments, pages and modules can I pick in a selective course import?
      - How do I get the copy parameters for just some items of a course migration?
      instructions:
      - text: List the selectable items for course {course_id} migration {id}.
        slots:
          course_id: path.course_id
          id: path.id
      - text: Show only the {type} items I can import in course {course_id} migration {id}.
        slots:
          type: query.type
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/content_migrations/{id}/selective_data'].get
  update:
    x-apievangelist-phrasing:
      intent: Browse content selectable in a group import
      effect: read
      questions:
      - What content can I choose from in a group's selective import?
      - Can I see the importable item tree for a group migration?
      instructions:
      - text: List the selectable items for group {group_id} migration {id}.
        slots:
          group_id: path.group_id
          id: path.id
      - text: Show the {type} items available to import in group {group_id} migration {id}.
        slots:
          type: query.type
          group_id: path.group_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/content_migrations/{id}/selective_data'].get
  update:
    x-apievangelist-phrasing:
      intent: Browse content selectable in a user import
      effect: read
      questions:
      - What items can be picked in a user-level selective import?
      - Can I see the importable item tree for a user's migration?
      instructions:
      - text: List the selectable items for user {user_id} migration {id}.
        slots:
          user_id: path.user_id
          id: path.id
      - text: Show the {type} items available to import in user {user_id} migration {id}.
        slots:
          type: query.type
          user_id: path.user_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/content_migrations/{id}/asset_id_mapping'].get
  update:
    x-apievangelist-phrasing:
      intent: Map source to copied asset IDs after a course copy
      effect: read
      questions:
      - After a course copy, how do I find the new ID of each copied assignment or page?
      - Can I get the old-to-new ID mapping from a blueprint sync?
      instructions:
      - text: Get the asset ID mapping for course {course_id} migration {id}.
        slots:
          course_id: path.course_id
          id: path.id
      - text: Show which destination IDs the copied quizzes and modules got in course {course_id} from migration {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'