# 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'