Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Sis Imports API

8 actions 8 updates phrasing extends openapi/canvas-sis-imports-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 8

$.info
$.paths['/v1/accounts/{account_id}/sis_imports'].get
$.paths['/v1/accounts/{account_id}/sis_imports'].post
$.paths['/v1/accounts/{account_id}/sis_imports/importing'].get
$.paths['/v1/accounts/{account_id}/sis_imports/{id}'].get
$.paths['/v1/accounts/{account_id}/sis_imports/{id}/restore_states'].put
$.paths['/v1/accounts/{account_id}/sis_imports/{id}/abort'].put
$.paths['/v1/accounts/{account_id}/sis_imports/abort_all_pending'].put

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 Sis Imports API
  version: 1.0.0
extends: openapi/canvas-sis-imports-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: 7
- target: $.paths['/v1/accounts/{account_id}/sis_imports'].get
  update:
    x-apievangelist-phrasing:
      intent: List SIS imports for an account
      effect: read
      questions:
      - Which SIS imports have run on my root account?
      - Can I see only SIS imports created in a date range?
      - How do I find SIS imports that failed?
      instructions:
      - text: List SIS imports for account {account_id}.
        slots:
          account_id: path.account_id
      - text: Show SIS imports in account {account_id} created since {created_since}.
        slots:
          account_id: path.account_id
          created_since: query.created_since
      - text: List account {account_id} SIS imports in state {workflow_state}.
        slots:
          account_id: path.account_id
          workflow_state: query.workflow_state
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/sis_imports'].post
  update:
    x-apievangelist-phrasing:
      intent: Import SIS data into Canvas
      effect: write
      questions:
      - How do I upload a SIS CSV file to sync users and enrollments?
      - Can I run a SIS import in batch mode for one term?
      - Is there a threshold to stop an import that would delete too many records?
      instructions:
      - text: Import SIS file {attachment} into account {account_id}.
        slots:
          attachment: requestBody.attachment
          account_id: path.account_id
      - text: Run a batch-mode SIS import of {attachment} into account {account_id} for term {batch_mode_term_id}.
        slots:
          attachment: requestBody.attachment
          account_id: path.account_id
          batch_mode_term_id: requestBody.batch_mode_term_id
      - text: Import {attachment} into account {account_id} with a change threshold of {change_threshold}.
        slots:
          attachment: requestBody.attachment
          account_id: path.account_id
          change_threshold: requestBody.change_threshold
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/sis_imports/importing'].get
  update:
    x-apievangelist-phrasing:
      intent: Show SIS imports currently running
      effect: read
      questions:
      - Is a SIS import running on my account right now?
      - Which SIS imports are still processing?
      instructions:
      - text: Show the SIS imports currently processing in account {account_id}.
        slots:
          account_id: path.account_id
      - text: Check whether account {account_id} has an import in progress.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/sis_imports/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a SIS import's status
      effect: read
      questions:
      - Did my SIS import finish, and were there errors?
      - What's the progress of a particular SIS import?
      instructions:
      - text: Get the status of SIS import {id} in account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Show progress and errors for SIS import {id} on account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/sis_imports/{id}/restore_states'].put
  update:
    x-apievangelist-phrasing:
      intent: Roll back states changed by a SIS import
      effect: write
      questions:
      - Can I undo the deletions a bad SIS import made?
      - Is it possible to restore only the enrollments a SIS import concluded?
      instructions:
      - text: Restore the workflow states changed by SIS import {id} in account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Undelete only the items removed by SIS import {id} in account {account_id}, undelete only {undelete_only}.
        slots:
          id: path.id
          account_id: path.account_id
          undelete_only: requestBody.undelete_only
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/sis_imports/{id}/abort'].put
  update:
    x-apievangelist-phrasing:
      intent: Abort a SIS import
      effect: destructive
      questions:
      - How do I stop a SIS import that's still running?
      - How long before the next import starts after I abort one?
      instructions:
      - text: Abort SIS import {id} in account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Cancel the unfinished SIS import {id} on account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/sis_imports/abort_all_pending'].put
  update:
    x-apievangelist-phrasing:
      intent: Abort all pending SIS imports
      effect: destructive
      questions:
      - Can I cancel every queued SIS import at once?
      - What's the way to clear the SIS import backlog?
      instructions:
      - text: Abort all pending SIS imports in account {account_id}.
        slots:
          account_id: path.account_id
      - text: Cancel every queued SIS import on account {account_id}.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'