# 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 Ai Experiences API version: 1.0.0 extends: openapi/canvas-ai-experiences-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: 9 - target: $.paths['/v1/courses/{course_id}/ai_experiences'].get update: x-apievangelist-phrasing: intent: List a course's AI experiences effect: read questions: - What AI experiences are set up in my course? - Can I list only the published AI experiences in a course? instructions: - text: List AI experiences in course {course_id}. slots: course_id: path.course_id - text: Show course {course_id} AI experiences in the {workflow_state} state. slots: course_id: path.course_id workflow_state: query.workflow_state method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/ai_experiences'].post update: x-apievangelist-phrasing: intent: Create an AI experience for a course effect: write questions: - How do I set up a new AI learning experience with a learning objective in my course? - What do I need to provide, like pedagogical guidance, to create an AI experience? instructions: - text: Create an AI experience titled {title} in course {course_id} with learning objective {learning_objective} and guidance {pedagogical_guidance}. slots: title: requestBody.title course_id: path.course_id learning_objective: requestBody.learning_objective pedagogical_guidance: requestBody.pedagogical_guidance - text: Add a draft AI experience {title} to course {course_id} using the facts {facts}. slots: title: requestBody.title course_id: path.course_id facts: requestBody.facts method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/ai_experiences/{id}'].get update: x-apievangelist-phrasing: intent: Get an AI experience effect: read questions: - What are the learning objective and guidance of one AI experience? - Can I view a single AI experience's details by id? instructions: - text: Show AI experience {id} in course {course_id}. slots: id: path.id course_id: path.course_id - text: Get the details of course {course_id} AI experience {id}. slots: course_id: path.course_id id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/ai_experiences/{id}'].put update: x-apievangelist-phrasing: intent: Update an AI experience effect: write questions: - How do I change the learning objective of an existing AI experience? - Can I publish an AI experience that's currently unpublished? instructions: - text: Update AI experience {id} in course {course_id} with learning objective {learning_objective} and guidance {pedagogical_guidance}. slots: id: path.id course_id: path.course_id learning_objective: requestBody.learning_objective pedagogical_guidance: requestBody.pedagogical_guidance - text: Set course {course_id} AI experience {id} to {workflow_state}. slots: course_id: path.course_id id: path.id workflow_state: requestBody.workflow_state method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/ai_experiences/{id}'].delete update: x-apievangelist-phrasing: intent: Delete an AI experience effect: destructive questions: - Is deleting an AI experience permanent or a soft delete? - Can I remove an AI experience from a course? instructions: - text: Delete AI experience {id} from course {course_id}. slots: id: path.id course_id: path.course_id - text: Remove course {course_id} AI experience {id}. slots: course_id: path.course_id id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/ai_experiences/new'].get update: x-apievangelist-phrasing: intent: Open the form for a new AI experience effect: read questions: - Where is the form for starting a new AI experience in a course? - Can I load the blank AI experience creation form? instructions: - text: Open the new AI experience form for course {course_id}. slots: course_id: path.course_id - text: Load the blank creation form for an AI experience in course {course_id}. slots: course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/ai_experiences/{id}/edit'].get update: x-apievangelist-phrasing: intent: Open the edit form for an AI experience effect: read questions: - Where is the edit form for an existing AI experience? - Can I load an AI experience's editing form pre-filled? instructions: - text: Open the edit form for AI experience {id} in course {course_id}. slots: id: path.id course_id: path.course_id - text: Load the editing screen for course {course_id} AI experience {id}. slots: course_id: path.course_id id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/ai_experiences/{id}/ai_conversations'].get update: x-apievangelist-phrasing: intent: List students' latest AI conversations for an experience effect: read questions: - How have my students been chatting with an AI experience? - Can a teacher see each student's latest conversation in an AI experience? instructions: - text: List each student's latest AI conversation for experience {id} in course {course_id}. slots: id: path.id course_id: path.course_id - text: Show student conversations with course {course_id} AI experience {id}. slots: course_id: path.course_id id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/ai_experiences/{id}/ai_conversations/{conversation_id}'].get update: x-apievangelist-phrasing: intent: Read one student's full AI conversation effect: read questions: - Can I read the full message history of one student's AI conversation? - What did a specific student say to an AI experience? instructions: - text: Show AI conversation {conversation_id} for experience {id} in course {course_id}. slots: conversation_id: path.conversation_id id: path.id course_id: path.course_id - text: Get the full message history of conversation {conversation_id} on course {course_id} AI experience {id}. slots: conversation_id: path.conversation_id course_id: path.course_id id: path.id method: generated generated: '2026-10-01'