Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Accounts API

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

$.info
$.paths['/v1/accounts'].get
$.paths['/v1/horizon_accounts'].get
$.paths['/v1/manageable_accounts'].get
$.paths['/v1/course_creation_accounts'].get
$.paths['/v1/course_accounts'].get
$.paths['/v1/accounts/{id}'].get
$.paths['/v1/accounts/{id}'].put
$.paths['/v1/accounts/{account_id}/settings'].get
$.paths['/v1/settings/environment'].get
$.paths['/v1/accounts/{account_id}/permissions'].get
$.paths['/v1/accounts/{account_id}/sub_accounts'].get
$.paths['/v1/accounts/{account_id}/sub_accounts'].post
$.paths['/v1/accounts/{account_id}/terms_of_service'].get
$.paths['/v1/accounts/{account_id}/help_links'].get
$.paths['/v1/manually_created_courses_account'].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 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'