# 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 Enrollments API version: 1.0.0 extends: openapi/canvas-enrollments-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: 14 - target: $.paths['/v1/courses/{course_id}/enrollments'].get update: x-apievangelist-phrasing: intent: List enrollments in a course effect: read questions: - Who is enrolled in my course, students and teachers alike? - Can I list only the active student enrollments in a course? instructions: - text: List the enrollments in course {course_id}. slots: course_id: path.course_id - text: List {type} enrollments in course {course_id} with state {state}. slots: type: query.type course_id: path.course_id state: query.state method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/enrollments'].post update: x-apievangelist-phrasing: intent: Enroll a user in a course effect: write questions: - How do I add a student to a course? - Can I enroll someone as a teacher and skip the invitation? instructions: - text: Enroll user {user_id} in course {course_id} as a {type}. slots: user_id: requestBody.enrollment[user_id] course_id: path.course_id type: requestBody.enrollment[type] - text: Add user {user_id} to course {course_id} as {type} with state {enrollment_state}. slots: user_id: requestBody.enrollment[user_id] course_id: path.course_id type: requestBody.enrollment[type] enrollment_state: requestBody.enrollment[enrollment_state] method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/enrollments'].get update: x-apievangelist-phrasing: intent: List enrollments in a section effect: read questions: - Who is enrolled in a particular course section? - Can I filter a section's roster by role? instructions: - text: List the enrollments in section {section_id}. slots: section_id: path.section_id - text: List {role} enrollments in section {section_id}. slots: role: query.role section_id: path.section_id method: generated generated: '2026-10-01' - target: $.paths['/v1/sections/{section_id}/enrollments'].post update: x-apievangelist-phrasing: intent: Enroll a user in a section effect: write questions: - How do I put a student into a specific section? - Can I enroll a TA directly into one section of a course? instructions: - text: Enroll user {user_id} in section {section_id} as a {type}. slots: user_id: requestBody.enrollment[user_id] section_id: path.section_id type: requestBody.enrollment[type] - text: Add user {user_id} to section {section_id} as {type} and notify them by setting notify to {notify}. slots: user_id: requestBody.enrollment[user_id] section_id: path.section_id type: requestBody.enrollment[type] notify: requestBody.enrollment[notify] method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/enrollments'].get update: x-apievangelist-phrasing: intent: List a user's enrollments effect: read questions: - Which courses is a particular user enrolled in? - Can I see a student's enrollments for one grading period? instructions: - text: List all enrollments for user {user_id}. slots: user_id: path.user_id - text: List user {user_id}'s enrollments with state {state}. slots: user_id: path.user_id state: query.state method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/enrollments/{id}'].get update: x-apievangelist-phrasing: intent: Get an enrollment by ID effect: read questions: - What are the details of one enrollment record? - Can I look up a single enrollment by its ID within an account? instructions: - text: Get enrollment {id} in account {account_id}. slots: id: path.id account_id: path.account_id - text: Show me enrollment record {id} from account {account_id}. slots: id: path.id account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/bulk_enrollment'].post update: x-apievangelist-phrasing: intent: Bulk enroll users across courses effect: write questions: - How do I enroll a list of users into several courses at once? - Can I bulk-enroll people with a start and end date? instructions: - text: Enroll users {user_ids} into courses {course_ids} in account {account_id}. slots: user_ids: requestBody.user_ids course_ids: requestBody.course_ids account_id: path.account_id - text: Bulk enroll {user_ids} as {enrollment_type} in courses {course_ids} under account {account_id}. slots: user_ids: requestBody.user_ids enrollment_type: requestBody.enrollment_type course_ids: requestBody.course_ids account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/enrollments/{id}'].delete update: x-apievangelist-phrasing: intent: Conclude, deactivate or delete an enrollment effect: destructive questions: - How do I remove a student from a course? - What happens if I deactivate an enrollment instead of concluding it? instructions: - text: Conclude enrollment {id} in course {course_id}. slots: id: path.id course_id: path.course_id - text: Apply task {task} to enrollment {id} in course {course_id}. slots: task: query.task id: path.id course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/enrollments/{id}/accept'].post update: x-apievangelist-phrasing: intent: Accept a course invitation effect: write questions: - How do I accept a pending invitation to join a course? - Can I accept my course invite through the API? instructions: - text: Accept my invitation {id} to course {course_id}. slots: id: path.id course_id: path.course_id - text: Join course {course_id} by accepting pending enrollment {id}. slots: course_id: path.course_id id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/enrollments/{id}/reject'].post update: x-apievangelist-phrasing: intent: Decline a course invitation effect: destructive questions: - How do I decline an invitation to a course? - Can I turn down a pending course invite? instructions: - text: Reject my invitation {id} to course {course_id}. slots: id: path.id course_id: path.course_id - text: Decline pending enrollment {id} in course {course_id}. slots: id: path.id course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/enrollments/{id}/reactivate'].put update: x-apievangelist-phrasing: intent: Reactivate an inactive enrollment effect: write questions: - How do I bring back a student whose enrollment was deactivated? - Can an inactive enrollment be turned back on? instructions: - text: Reactivate enrollment {id} in course {course_id}. slots: id: path.id course_id: path.course_id - text: Make inactive enrollment {id} in course {course_id} active again. slots: id: path.id course_id: path.course_id method: generated generated: '2026-10-01' - target: $.paths['/v1/courses/{course_id}/users/{user_id}/last_attended'].put update: x-apievangelist-phrasing: intent: Record a student's last attended date effect: write questions: - How do I record the last day a student attended my course? - Can I set a last attendance date on a student's enrollment? instructions: - text: Set user {user_id}'s last attended date in course {course_id} to {date}. slots: user_id: path.user_id course_id: path.course_id date: requestBody.date - text: Record that student {user_id} last attended course {course_id} on {date}. slots: user_id: path.user_id course_id: path.course_id date: requestBody.date method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/temporary_enrollment_status'].get update: x-apievangelist-phrasing: intent: Check a user's temporary enrollment status effect: read questions: - Is this user giving or receiving a temporary enrollment? - Can I see whether someone is a temporary enrollment provider or recipient? instructions: - text: Show the temporary enrollment status for user {user_id}. slots: user_id: path.user_id - text: Check user {user_id}'s temporary enrollment status in account {account_id}. slots: user_id: path.user_id account_id: query.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/temporary_enrollment_status'].get update: x-apievangelist-phrasing: intent: Check temporary enrollment status for many users effect: read questions: - Can I check temporary enrollment status for a whole list of users at once? - What's the limit on users per bulk temporary enrollment check? instructions: - text: Get temporary enrollment statuses for users {user_ids}. slots: user_ids: query.user_ids - text: Check temporary enrollment status in bulk for {user_ids} in account {account_id}. slots: user_ids: query.user_ids account_id: query.account_id method: generated generated: '2026-10-01'