Canvas · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Canvas LMS REST Learning Object Dates API
12 actions
12 updates
phrasing
extends
openapi/canvas-learning-object-dates-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 12
$.info
$.paths['/v1/courses/{course_id}/modules/{context_module_id}/date_details'].get
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/date_details'].get
$.paths['/v1/courses/{course_id}/assignments/{assignment_id}/date_details'].put
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/date_details'].get
$.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/date_details'].put
$.paths['/v1/courses/{course_id}/discussion_topics/{discussion_topic_id}/date_details'].get
$.paths['/v1/courses/{course_id}/discussion_topics/{discussion_topic_id}/date_details'].put
$.paths['/v1/courses/{course_id}/pages/{url_or_id}/date_details'].get
$.paths['/v1/courses/{course_id}/pages/{url_or_id}/date_details'].put
$.paths['/v1/courses/{course_id}/files/{attachment_id}/date_details'].get
$.paths['/v1/courses/{course_id}/files/{attachment_id}/date_details'].put
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 Learning Object Dates API
version: 1.0.0
extends: openapi/canvas-learning-object-dates-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: 11
- target: $.paths['/v1/courses/{course_id}/modules/{context_module_id}/date_details'].get
update:
x-apievangelist-phrasing:
intent: Get date details for a module
effect: read
questions:
- What availability dates and overrides apply to a course module?
- Can I see which sections get a module on a different schedule?
instructions:
- text: Show the date details for module {context_module_id} in course {course_id}.
slots:
context_module_id: path.context_module_id
course_id: path.course_id
- text: List the overrides attached to module {context_module_id} in course {course_id}.
slots:
context_module_id: path.context_module_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/date_details'].get
update:
x-apievangelist-phrasing:
intent: Get date details for an assignment
effect: read
questions:
- Where can I see an assignment's base dates together with every override?
- Does the assignment date summary say whether it is only visible to overridden students?
instructions:
- text: Show the date details for assignment {assignment_id} in course {course_id}.
slots:
assignment_id: path.assignment_id
course_id: path.course_id
- text: Pull assignment {assignment_id}'s due, unlock and lock dates plus overrides in course {course_id}.
slots:
assignment_id: path.assignment_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/assignments/{assignment_id}/date_details'].put
update:
x-apievangelist-phrasing:
intent: Update date details for an assignment
effect: write
questions:
- Can I reset an assignment's dates and its overrides together in one request?
- Is it possible to change the peer review due date along with the assignment dates?
instructions:
- text: Set assignment {assignment_id} in course {course_id} to be due {due_at} via its date details.
slots:
assignment_id: path.assignment_id
course_id: path.course_id
due_at: requestBody.due_at
- text: Give assignment {assignment_id} in course {course_id} peer reviews due {peer_review_due_at}.
slots:
assignment_id: path.assignment_id
course_id: path.course_id
peer_review_due_at: requestBody.peer_review[due_at]
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/date_details'].get
update:
x-apievangelist-phrasing:
intent: Get date details for a quiz
effect: read
questions:
- When does a quiz open, close and come due, including any exceptions?
- Can I list the overrides on a classic quiz alongside its dates?
instructions:
- text: Show the date details for quiz {quiz_id} in course {course_id}.
slots:
quiz_id: path.quiz_id
course_id: path.course_id
- text: Get the availability window and overrides for quiz {quiz_id} in course {course_id}.
slots:
quiz_id: path.quiz_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/quizzes/{quiz_id}/date_details'].put
update:
x-apievangelist-phrasing:
intent: Update date details for a quiz
effect: write
questions:
- Can I move a quiz's open and close times in a single update?
- How do I restrict a quiz to only the students who have overrides?
instructions:
- text: Make quiz {quiz_id} in course {course_id} available from {unlock_at} until {lock_at}.
slots:
quiz_id: path.quiz_id
course_id: path.course_id
unlock_at: requestBody.unlock_at
lock_at: requestBody.lock_at
- text: 'Set quiz {quiz_id} in course {course_id} visible only to overrides: {only_visible_to_overrides}.'
slots:
quiz_id: path.quiz_id
course_id: path.course_id
only_visible_to_overrides: requestBody.only_visible_to_overrides
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/discussion_topics/{discussion_topic_id}/date_details'].get
update:
x-apievangelist-phrasing:
intent: Get date details for a discussion
effect: read
questions:
- What are the due and lock dates on a graded discussion?
- Which students or sections have a different schedule for a discussion topic?
instructions:
- text: Show the date details for discussion {discussion_topic_id} in course {course_id}.
slots:
discussion_topic_id: path.discussion_topic_id
course_id: path.course_id
- text: Get the overrides on discussion topic {discussion_topic_id} in course {course_id}.
slots:
discussion_topic_id: path.discussion_topic_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/discussion_topics/{discussion_topic_id}/date_details'].put
update:
x-apievangelist-phrasing:
intent: Update date details for a discussion
effect: write
questions:
- Can I change when a discussion closes for replies?
- Is there a way to update a discussion's overrides and base dates together?
instructions:
- text: Lock discussion {discussion_topic_id} in course {course_id} at {lock_at}.
slots:
discussion_topic_id: path.discussion_topic_id
course_id: path.course_id
lock_at: requestBody.lock_at
- text: Replace the overrides on discussion {discussion_topic_id} in course {course_id} with {assignment_overrides}.
slots:
discussion_topic_id: path.discussion_topic_id
course_id: path.course_id
assignment_overrides: requestBody.assignment_overrides
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/pages/{url_or_id}/date_details'].get
update:
x-apievangelist-phrasing:
intent: Get date details for a wiki page
effect: read
questions:
- When does a course page become available to students?
- Can I look up a page's availability by its URL slug instead of its id?
instructions:
- text: Show the date details for page {url_or_id} in course {course_id}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
- text: Get the availability dates and overrides of wiki page {url_or_id} 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/{url_or_id}/date_details'].put
update:
x-apievangelist-phrasing:
intent: Update date details for a wiki page
effect: write
questions:
- Can I schedule a course page to unlock on a certain date?
- How do I give one section earlier access to a wiki page?
instructions:
- text: Unlock page {url_or_id} in course {course_id} at {unlock_at}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
unlock_at: requestBody.unlock_at
- text: Set the overrides on wiki page {url_or_id} in course {course_id} to {assignment_overrides}.
slots:
url_or_id: path.url_or_id
course_id: path.course_id
assignment_overrides: requestBody.assignment_overrides
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/files/{attachment_id}/date_details'].get
update:
x-apievangelist-phrasing:
intent: Get date details for a course file
effect: read
questions:
- When is a course file available for students to download?
- Are there overrides on who can access an uploaded file and when?
instructions:
- text: Show the date details for file {attachment_id} in course {course_id}.
slots:
attachment_id: path.attachment_id
course_id: path.course_id
- text: Get availability dates and overrides of course file {attachment_id} in course {course_id}.
slots:
attachment_id: path.attachment_id
course_id: path.course_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/files/{attachment_id}/date_details'].put
update:
x-apievangelist-phrasing:
intent: Update date details for a course file
effect: write
questions:
- Can I hide a file until a certain date and then lock it again later?
- Is there a way to set different file availability for specific students?
instructions:
- text: Make file {attachment_id} in course {course_id} available from {unlock_at} to {lock_at}.
slots:
attachment_id: path.attachment_id
course_id: path.course_id
unlock_at: requestBody.unlock_at
lock_at: requestBody.lock_at
- text: Apply overrides {assignment_overrides} to file {attachment_id} in course {course_id}.
slots:
attachment_id: path.attachment_id
course_id: path.course_id
assignment_overrides: requestBody.assignment_overrides
method: generated
generated: '2026-10-01'