# 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 Accounts API version: 1.0.0 extends: openapi/canvas-accounts-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: 21 - target: $.paths['/v1/accounts'].get update: x-apievangelist-phrasing: intent: List accounts I can view or manage effect: read questions: - Which Canvas accounts am I an admin of? - Why do students and teachers get an empty list of accounts? instructions: - text: List every account I can view or manage. - text: List my admin accounts and include {include}. slots: include: query.include method: generated generated: '2026-10-01' - target: $.paths['/v1/horizon_accounts'].get update: x-apievangelist-phrasing: intent: List accounts with Horizon enabled effect: read questions: - Which of my accounts have the Horizon setting turned on? - Is Site Admin included when I list Horizon accounts? instructions: - text: List the Horizon accounts I have access to. - text: Show my Horizon-enabled accounts including {include}. slots: include: query.include method: generated generated: '2026-10-01' - target: $.paths['/v1/manageable_accounts'].get update: x-apievangelist-phrasing: intent: List accounts where I can manage courses effect: read questions: - In which accounts do I have permission to create or manage courses as an admin? - What accounts can I manage courses in? instructions: - text: List the manageable accounts where I can administer courses. - text: Show the accounts I'm allowed to manage courses in. method: generated generated: '2026-10-01' - target: $.paths['/v1/course_creation_accounts'].get update: x-apievangelist-phrasing: intent: List accounts where I can create courses effect: read questions: - Where am I allowed to create a new course? - Which accounts give me course-creation permission? instructions: - text: List the accounts I can create courses in. - text: Show where I have permission to start a new course. method: generated generated: '2026-10-01' - target: $.paths['/v1/course_accounts'].get update: x-apievangelist-phrasing: intent: List accounts visible through my teaching roles effect: read questions: - As a teacher or TA, which accounts can I see through my course enrollments? - What accounts do my designer enrollments give me visibility into? instructions: - text: List the accounts I can see through my teacher, TA or designer enrollments. - text: Show the course-admin accounts tied to my enrollments. method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{id}'].get update: x-apievangelist-phrasing: intent: Get details of an account effect: read questions: - What are the details of a specific account, by ID or SIS ID? - Can I look up an account using its SIS account ID? instructions: - text: Get account {id}. slots: id: path.id - text: Show me the details for the account with ID {id}. slots: id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{id}'].put update: x-apievangelist-phrasing: intent: Update an account's name and settings effect: write questions: - How do I rename an account or change its default time zone? - Can I change the default storage quota for courses in an account? - Is it possible to lock announcements for every course in an account? instructions: - text: Rename account {id} to {name}. slots: id: path.id name: requestBody.account[name] - text: Set the default time zone of account {id} to {default_time_zone}. slots: id: path.id default_time_zone: requestBody.account[default_time_zone] - text: Change account {id}'s default course storage quota to {default_storage_quota_mb} MB. slots: id: path.id default_storage_quota_mb: requestBody.account[default_storage_quota_mb] method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/settings'].get update: x-apievangelist-phrasing: intent: Get an account's settings effect: read questions: - What settings are configured on my account? - Which permission do I need to read an account's settings? instructions: - text: Get the settings for account {account_id}. slots: account_id: path.account_id - text: Show me how account {account_id} is configured. slots: account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/settings/environment'].get update: x-apievangelist-phrasing: intent: Get global environment settings effect: read questions: - What global settings does the root account expose to the web interface? - Can I read the ENV.SETTINGS values through the API? instructions: - text: List the environment settings for the root account. - text: Show the global ENV settings the web UI uses. method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/permissions'].get update: x-apievangelist-phrasing: intent: Check my permissions on an account effect: read questions: - Do I have a given permission in this account? - Can I check permissions against the domain root account using self? instructions: - text: Check whether I have {permissions} on account {account_id}. slots: permissions: query.permissions account_id: path.account_id - text: Show my permissions on account {account_id}. slots: account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/sub_accounts'].get update: x-apievangelist-phrasing: intent: List an account's sub-accounts effect: read questions: - What sub-accounts sit under this account? - Can I list sub-accounts recursively, all the way down the tree? instructions: - text: List the sub-accounts of account {account_id}. slots: account_id: path.account_id - text: List every nested sub-account under account {account_id}, recursively set to {recursive}. slots: account_id: path.account_id recursive: query.recursive method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/sub_accounts'].post update: x-apievangelist-phrasing: intent: Create a sub-account effect: write questions: - How do I add a new department as a sub-account? - Can I give a new sub-account its own SIS ID when I create it? instructions: - text: Create a sub-account called {name} under account {account_id}. slots: name: requestBody.account[name] account_id: path.account_id - text: Add sub-account {name} with SIS ID {sis_account_id} to account {account_id}. slots: name: requestBody.account[name] sis_account_id: requestBody.account[sis_account_id] account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/terms_of_service'].get update: x-apievangelist-phrasing: intent: Get an account's terms of service effect: read questions: - What terms of service does this account show users? - Where can I read the account's terms of use? instructions: - text: Get the terms of service for account {account_id}. slots: account_id: path.account_id - text: Show account {account_id}'s terms of use. slots: account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/help_links'].get update: x-apievangelist-phrasing: intent: Get an account's help links effect: read questions: - What help links are set up in the account's Help menu? - Which support links does my institution show users? instructions: - text: Get the help links for account {account_id}. slots: account_id: path.account_id - text: Show the help menu links configured on account {account_id}. slots: account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/manually_created_courses_account'].get update: x-apievangelist-phrasing: intent: Get the manually-created courses sub-account effect: read questions: - Which sub-account holds courses that were created by hand? - Where do manually created courses land in the root account? instructions: - text: Get the manually-created courses sub-account for the root account. - text: Show the sub-account that holds hand-made courses. method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/courses'].get update: x-apievangelist-phrasing: intent: List and search courses in an account effect: read questions: - What courses exist in this account? - Can I find only published courses in a given term? - Is there a way to search an account's courses by name or teacher? instructions: - text: List the courses in account {account_id}. slots: account_id: path.account_id - text: Search account {account_id} for courses matching {search_term}. slots: account_id: path.account_id search_term: query.search_term - text: List courses in account {account_id} for term {enrollment_term_id}. slots: account_id: path.account_id enrollment_term_id: query.enrollment_term_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/users/{user_id}'].delete update: x-apievangelist-phrasing: intent: Remove a user from the root account effect: destructive questions: - How do I delete a user from my institution's root account? - Will removing a user here also remove them from other root accounts? instructions: - text: Delete user {user_id} from root account {account_id}. slots: user_id: path.user_id account_id: path.account_id - text: Remove user {user_id}'s record from account {account_id}. slots: user_id: path.user_id account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/users'].delete update: x-apievangelist-phrasing: intent: Remove several users from the root account effect: destructive questions: - Can I delete a batch of users from the root account in one call? - How do I bulk-remove users from my institution? instructions: - text: Delete multiple users from root account {account_id}. slots: account_id: path.account_id - text: Bulk-remove the users I list from account {account_id}. slots: account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/users/bulk_update'].put update: x-apievangelist-phrasing: intent: Update several users at once effect: write questions: - How do I apply the same change to many users in bulk? - Can I update attributes for a list of user IDs in one request? instructions: - text: Bulk update users {user_ids} in account {account_id}. slots: user_ids: requestBody.user_ids account_id: path.account_id - text: Apply {user} to users {user_ids} in account {account_id}. slots: user: requestBody.user user_ids: requestBody.user_ids account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/users/{user_id}/restore'].put update: x-apievangelist-phrasing: intent: Restore a deleted user to the root account effect: write questions: - How do I undo the deletion of a user from the root account? - Can I bring back a deleted user along with their most recent login? instructions: - text: Restore deleted user {user_id} in account {account_id}. slots: user_id: path.user_id account_id: path.account_id - text: Undo the removal of user {user_id} from root account {account_id}. slots: user_id: path.user_id account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/sub_accounts/{id}'].delete update: x-apievangelist-phrasing: intent: Delete a sub-account effect: destructive questions: - How do I delete a sub-account that's no longer used? - Why can't I delete a sub-account that still has active courses? instructions: - text: Delete sub-account {id} from account {account_id}. slots: id: path.id account_id: path.account_id - text: Remove the empty sub-account {id} under {account_id}. slots: id: path.id account_id: path.account_id method: generated generated: '2026-10-01'