# 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 Appointment Groups API version: 1.0.0 extends: openapi/canvas-appointment-groups-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: 8 - target: $.paths['/v1/appointment_groups'].get update: x-apievangelist-phrasing: intent: List appointment groups effect: read questions: - Which office-hours sign-up groups can I reserve or manage? - Can I include past appointments when listing appointment groups? instructions: - text: List appointment groups I can reserve. - text: Show appointment groups with scope {scope} for {context_codes}. slots: scope: query.scope context_codes: query.context_codes method: generated generated: '2026-10-01' - target: $.paths['/v1/appointment_groups'].post update: x-apievangelist-phrasing: intent: Create an appointment group effect: write questions: - How do I set up sign-up slots for office hours in a course? - Can I cap how many students can book each appointment? instructions: - text: Create appointment group {title} for {context_codes}. slots: title: requestBody.appointment_group[title] context_codes: requestBody.appointment_group[context_codes] - text: Set up {title} sign-ups in {context_codes} with {participants_per_appointment} per slot. slots: title: requestBody.appointment_group[title] context_codes: requestBody.appointment_group[context_codes] participants_per_appointment: requestBody.appointment_group[participants_per_appointment] method: generated generated: '2026-10-01' - target: $.paths['/v1/appointment_groups/{id}'].get update: x-apievangelist-phrasing: intent: Get an appointment group effect: read questions: - How do I see the details and slots of one appointment group? - Can I fetch a single sign-up group by id? instructions: - text: Show appointment group {id}. slots: id: path.id - text: Get appointment group {id} including {include}. slots: id: path.id include: query.include method: generated generated: '2026-10-01' - target: $.paths['/v1/appointment_groups/{id}'].put update: x-apievangelist-phrasing: intent: Update an appointment group effect: write questions: - Can I change the title or location of an existing sign-up group? - How do I publish an appointment group I already created? instructions: - text: Rename appointment group {id} to {title} in {context_codes}. slots: id: path.id title: requestBody.appointment_group[title] context_codes: requestBody.appointment_group[context_codes] - text: 'Publish appointment group {id} for {context_codes}: {publish}.' slots: id: path.id context_codes: requestBody.appointment_group[context_codes] publish: requestBody.appointment_group[publish] method: generated generated: '2026-10-01' - target: $.paths['/v1/appointment_groups/{id}'].delete update: x-apievangelist-phrasing: intent: Delete an appointment group effect: destructive questions: - What happens to existing reservations when I delete an appointment group? - How do I cancel a whole sign-up group with a reason? instructions: - text: Delete appointment group {id}. slots: id: path.id - text: Cancel appointment group {id} with reason {cancel_reason}. slots: id: path.id cancel_reason: query.cancel_reason method: generated generated: '2026-10-01' - target: $.paths['/v1/appointment_groups/{id}/users'].get update: x-apievangelist-phrasing: intent: List users in an appointment group effect: read questions: - Which students have signed up for an appointment group? - Can I see who hasn't registered for office hours yet? instructions: - text: List user participants in appointment group {id}. slots: id: path.id - text: Show users in appointment group {id} with status {registration_status}. slots: id: path.id registration_status: query.registration_status method: generated generated: '2026-10-01' - target: $.paths['/v1/appointment_groups/{id}/groups'].get update: x-apievangelist-phrasing: intent: List student groups in an appointment group effect: read questions: - Which student groups have booked a group-based appointment slot? - Can I list unregistered groups for a sign-up? instructions: - text: List student group participants in appointment group {id}. slots: id: path.id - text: Show groups in appointment group {id} with status {registration_status}. slots: id: path.id registration_status: query.registration_status method: generated generated: '2026-10-01' - target: $.paths['/v1/appointment_groups/next_appointment'].get update: x-apievangelist-phrasing: intent: Find the next open appointment effect: read questions: - What's the next appointment slot I could sign up for? - Is there an available future slot in specific appointment groups? instructions: - text: Find my next available appointment. - text: Get the next open slot in appointment groups {appointment_group_ids}. slots: appointment_group_ids: query.appointment_group_ids method: generated generated: '2026-10-01'