Canvas · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Canvas LMS REST Pages API
24 actions
24 updates
phrasing
extends
openapi/canvas-pages-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.
What the actions change
x-apievangelist-phrasing
Targets 24 · first 16 shown; the file carries all of them
$.info
$.paths['/v1/courses/{course_id}/front_page'].get
$.paths['/v1/courses/{course_id}/front_page'].put
$.paths['/v1/groups/{group_id}/front_page'].get
$.paths['/v1/groups/{group_id}/front_page'].put
$.paths['/v1/courses/{course_id}/pages/{url_or_id}/duplicate'].post
$.paths['/v1/courses/{course_id}/pages'].get
$.paths['/v1/courses/{course_id}/pages'].post
$.paths['/v1/groups/{group_id}/pages'].get
$.paths['/v1/groups/{group_id}/pages'].post
$.paths['/v1/courses/{course_id}/pages/{url_or_id}'].get
$.paths['/v1/courses/{course_id}/pages/{url_or_id}'].put
$.paths['/v1/courses/{course_id}/pages/{url_or_id}'].delete
$.paths['/v1/groups/{group_id}/pages/{url_or_id}'].get
$.paths['/v1/groups/{group_id}/pages/{url_or_id}'].put
$.paths['/v1/groups/{group_id}/pages/{url_or_id}'].delete
OpenAPI Overlay
# 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 Pages API
version: 1.0.0
extends: openapi/canvas-pages-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: 23
- target: $.paths['/v1/courses/{course_id}/front_page'].get
update:
x-apievangelist-phrasing:
intent: Show a course's front page
effect: read
questions:
- How do I get the content of a Canvas course's front page?
- What is currently set as the home page of my course?
instructions:
- text: Show the front page of course {course_id}.
slots:
course_id: path.course_id
- text: Get the title and body of the front page for course {course_id}.
slots:
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/front_page'].put
update:
x-apievangelist-phrasing:
intent: Update or create a course's front page
effect: write
questions:
- Can I change the title or body of my course's front page?
- Is it possible to notify students when I edit the course front page?
instructions:
- text: Set the front page title of course {course_id} to {title}.
slots:
course_id: path.course_id
title: requestBody.wiki_page[title]
- text: Replace the course {course_id} front page body with {body} and publish it as {published}.
slots:
course_id: path.course_id
body: requestBody.wiki_page[body]
published: requestBody.wiki_page[published]
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/front_page'].get
update:
x-apievangelist-phrasing:
intent: Show a group's front page
effect: read
questions:
- How do I read the front page of a student group?
- What does a group's wiki home page currently say?
instructions:
- text: Show the front page of group {group_id}.
slots:
group_id: path.group_id
- text: Fetch the group {group_id} home wiki page content.
slots:
group_id: path.group_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/front_page'].put
update:
x-apievangelist-phrasing:
intent: Update or create a group's front page
effect: write
questions:
- Can I edit the front page of a group's wiki?
- Who can edit a group front page, and can I restrict editing roles?
instructions:
- text: Set the front page title of group {group_id} to {title}.
slots:
group_id: path.group_id
title: requestBody.wiki_page[title]
- text: Update group {group_id}'s front page body to {body} with editing roles {editing_roles}.
slots:
group_id: path.group_id
body: requestBody.wiki_page[body]
editing_roles: requestBody.wiki_page[editing_roles]
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}/duplicate'].post
update:
x-apievangelist-phrasing:
intent: Duplicate a course wiki page
effect: write
questions:
- How do I make a copy of an existing wiki page in a course?
- Can I clone a course page instead of rebuilding it from scratch?
instructions:
- text: Duplicate page {url_or_id} in course {course_id}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
- text: Make a copy of the {url_or_id} page in course {course_id}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages'].get
update:
x-apievangelist-phrasing:
intent: List a course's wiki pages
effect: read
questions:
- How do I list all the wiki pages in a course?
- Can I search a course's pages by title or show only unpublished ones?
instructions:
- text: List the pages in course {course_id}.
slots:
course_id: path.course_id
- text: Search course {course_id} pages for {search_term}, sorted by {sort}.
slots:
course_id: path.course_id
search_term: query.search_term
sort: query.sort
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages'].post
update:
x-apievangelist-phrasing:
intent: Create a wiki page in a course
effect: write
questions:
- How do I add a new content page to my course?
- Can I schedule a new course page to publish at a later date?
instructions:
- text: Create a page titled {title} in course {course_id}.
slots:
title: requestBody.wiki_page[title]
course_id: path.course_id
- text: Add page {title} to course {course_id} with body {body}, publishing at {publish_at}.
slots:
title: requestBody.wiki_page[title]
course_id: path.course_id
body: requestBody.wiki_page[body]
publish_at: requestBody.wiki_page[publish_at]
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages'].get
update:
x-apievangelist-phrasing:
intent: List a group's wiki pages
effect: read
questions:
- What wiki pages exist in a student group?
- Can I filter a group's pages to published ones only?
instructions:
- text: List the pages in group {group_id}.
slots:
group_id: path.group_id
- text: Find group {group_id} pages matching {search_term}.
slots:
group_id: path.group_id
search_term: query.search_term
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages'].post
update:
x-apievangelist-phrasing:
intent: Create a wiki page in a group
effect: write
questions:
- How do I add a new wiki page to a group?
- Can I make a new group page the group's front page right away?
instructions:
- text: Create a page titled {title} in group {group_id}.
slots:
title: requestBody.wiki_page[title]
group_id: path.group_id
- text: Add group {group_id} page {title} and set it as front page {front_page}.
slots:
group_id: path.group_id
title: requestBody.wiki_page[title]
front_page: requestBody.wiki_page[front_page]
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}'].get
update:
x-apievangelist-phrasing:
intent: Show a course wiki page
effect: read
questions:
- How do I get the content of one page in a course?
- Can I fetch a course page by its URL slug rather than its id?
instructions:
- text: Show page {url_or_id} in course {course_id}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
- text: Read the body of course {course_id} page {url_or_id}.
slots:
course_id: path.course_id
url_or_id: path.url_or_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}'].put
update:
x-apievangelist-phrasing:
intent: Update or create a course page by URL
effect: write
questions:
- How do I edit the title or body of an existing course page?
- Why does passing a numeric page identifier sometimes create a new page instead of updating?
instructions:
- text: Update course {course_id} page {url_or_id} with body {body}.
slots:
course_id: path.course_id
url_or_id: path.url_or_id
body: requestBody.wiki_page[body]
- text: Rename page {url_or_id} in course {course_id} to {title}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
title: requestBody.wiki_page[title]
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a course wiki page
effect: destructive
questions:
- How do I delete a page from my course?
- Can I remove a course page using its URL slug?
instructions:
- text: Delete page {url_or_id} from course {course_id}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
- text: Remove the course {course_id} wiki page {url_or_id}.
slots:
course_id: path.course_id
url_or_id: path.url_or_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages/{url_or_id}'].get
update:
x-apievangelist-phrasing:
intent: Show a group wiki page
effect: read
questions:
- How do I read a specific page in a group's wiki?
- Can I look up a group page by its URL?
instructions:
- text: Show page {url_or_id} in group {group_id}.
slots:
url_or_id: path.url_or_id
group_id: path.group_id
- text: Read group {group_id} page {url_or_id}.
slots:
group_id: path.group_id
url_or_id: path.url_or_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages/{url_or_id}'].put
update:
x-apievangelist-phrasing:
intent: Update or create a group page by URL
effect: write
questions:
- Can I edit a page in a group's wiki?
- Is it possible to unpublish a group page by updating it?
instructions:
- text: Update group {group_id} page {url_or_id} with body {body}.
slots:
group_id: path.group_id
url_or_id: path.url_or_id
body: requestBody.wiki_page[body]
- text: Set group {group_id} page {url_or_id} published to {published}.
slots:
group_id: path.group_id
url_or_id: path.url_or_id
published: requestBody.wiki_page[published]
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages/{url_or_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a group wiki page
effect: destructive
questions:
- How do I delete a page from a group's wiki?
- Can a group page be removed by its URL slug?
instructions:
- text: Delete page {url_or_id} from group {group_id}.
slots:
url_or_id: path.url_or_id
group_id: path.group_id
- text: Remove the group {group_id} wiki page {url_or_id}.
slots:
group_id: path.group_id
url_or_id: path.url_or_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}/revisions'].get
update:
x-apievangelist-phrasing:
intent: List revisions of a course page
effect: read
questions:
- How do I see the edit history of a course page?
- What permission do I need to view a course page's revisions?
instructions:
- text: List the revisions of page {url_or_id} in course {course_id}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
- text: Show the version history for course {course_id} page {url_or_id}.
slots:
course_id: path.course_id
url_or_id: path.url_or_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages/{url_or_id}/revisions'].get
update:
x-apievangelist-phrasing:
intent: List revisions of a group page
effect: read
questions:
- How do I see who changed a group wiki page and when?
- Can I list every revision of a page in a group?
instructions:
- text: List the revisions of page {url_or_id} in group {group_id}.
slots:
url_or_id: path.url_or_id
group_id: path.group_id
- text: Show group {group_id} page {url_or_id} edit history.
slots:
group_id: path.group_id
url_or_id: path.url_or_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}/revisions/latest'].get
update:
x-apievangelist-phrasing:
intent: Show the latest revision of a course page
effect: read
questions:
- How do I get the most recent revision of a course page?
- Can I get just the metadata of a course page's latest revision without its content?
instructions:
- text: Show the latest revision of page {url_or_id} in course {course_id}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
- text: Get course {course_id} page {url_or_id} current revision with summary only {summary}.
slots:
course_id: path.course_id
url_or_id: path.url_or_id
summary: query.summary
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages/{url_or_id}/revisions/latest'].get
update:
x-apievangelist-phrasing:
intent: Show the latest revision of a group page
effect: read
questions:
- What is the most recent revision of a group wiki page?
- Can I fetch only the summary of a group page's latest revision?
instructions:
- text: Show the latest revision of page {url_or_id} in group {group_id}.
slots:
url_or_id: path.url_or_id
group_id: path.group_id
- text: Get group {group_id} page {url_or_id} newest revision, summary {summary}.
slots:
group_id: path.group_id
url_or_id: path.url_or_id
summary: query.summary
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}/revisions/{revision_id}'].get
update:
x-apievangelist-phrasing:
intent: Show a specific revision of a course page
effect: read
questions:
- How do I view an older version of a course page by revision number?
- Do I need edit rights to see a historic revision of a course page?
instructions:
- text: Show revision {revision_id} of page {url_or_id} in course {course_id}.
slots:
revision_id: path.revision_id
url_or_id: path.url_or_id
course_id: path.course_id
- text: Get the content of course {course_id} page {url_or_id} as of revision {revision_id}.
slots:
course_id: path.course_id
url_or_id: path.url_or_id
revision_id: path.revision_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}/revisions/{revision_id}'].post
update:
x-apievangelist-phrasing:
intent: Revert a course page to a prior revision
effect: write
questions:
- How do I roll a course page back to an earlier version?
- Can I restore a course page that someone edited by mistake?
instructions:
- text: Revert page {url_or_id} in course {course_id} to revision {revision_id}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
revision_id: path.revision_id
- text: Restore course {course_id} page {url_or_id} back to revision {revision_id}.
slots:
course_id: path.course_id
url_or_id: path.url_or_id
revision_id: path.revision_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages/{url_or_id}/revisions/{revision_id}'].get
update:
x-apievangelist-phrasing:
intent: Show a specific revision of a group page
effect: read
questions:
- How do I look at an old revision of a group wiki page?
- Can I see what a group page said at a particular revision?
instructions:
- text: Show revision {revision_id} of page {url_or_id} in group {group_id}.
slots:
revision_id: path.revision_id
url_or_id: path.url_or_id
group_id: path.group_id
- text: Get group {group_id} page {url_or_id} content at revision {revision_id}.
slots:
group_id: path.group_id
url_or_id: path.url_or_id
revision_id: path.revision_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/groups/{group_id}/pages/{url_or_id}/revisions/{revision_id}'].post
update:
x-apievangelist-phrasing:
intent: Revert a group page to a prior revision
effect: write
questions:
- How do I roll back a group wiki page to an earlier revision?
- Can I undo bad edits to a group page by restoring an old version?
instructions:
- text: Revert page {url_or_id} in group {group_id} to revision {revision_id}.
slots:
url_or_id: path.url_or_id
group_id: path.group_id
revision_id: path.revision_id
- text: Restore group {group_id} page {url_or_id} back to revision {revision_id}.
slots:
group_id: path.group_id
url_or_id: path.url_or_id
revision_id: path.revision_id
method: generated
generated: '2026-10-01'