# 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 Notification Preferences API version: 1.0.0 extends: openapi/canvas-notification-preferences-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: 10 - target: $.paths['/v1/users/{user_id}/communication_channels/{communication_channel_id}/notification_preferences'].get update: x-apievangelist-phrasing: intent: List notification settings for a channel by id effect: read questions: - What notification frequencies are set on a user's Canvas email channel? - Can I see every notification preference for one communication channel id? instructions: - text: List notification preferences for user {user_id} on channel {communication_channel_id}. slots: user_id: path.user_id communication_channel_id: path.communication_channel_id - text: Show how often channel {communication_channel_id} of user {user_id} gets each alert. slots: communication_channel_id: path.communication_channel_id user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/communication_channels/{type}/{address}/notification_preferences'].get update: x-apievangelist-phrasing: intent: List notification settings for a channel by address effect: read questions: - Can I look up notification preferences using an email address instead of a channel id? - Which alerts go to a user's phone number, looked up by channel type and address? instructions: - text: List preferences for user {user_id} on the {type} channel at {address}. slots: user_id: path.user_id type: path.type address: path.address - text: Show the notification settings for {address} ({type}) belonging to {user_id}. slots: address: path.address type: path.type user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/communication_channels/{communication_channel_id}/notification_preference_categories'].get update: x-apievangelist-phrasing: intent: List notification categories for a channel effect: read questions: - What notification categories exist for a user's communication channel? - Which groupings of alerts can I set preferences on by category? instructions: - text: List notification preference categories for user {user_id} channel {communication_channel_id}. slots: user_id: path.user_id communication_channel_id: path.communication_channel_id - text: Get the alert categories available on channel {communication_channel_id} for {user_id}. slots: communication_channel_id: path.communication_channel_id user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/communication_channels/{communication_channel_id}/notification_preferences/{notification}'].get update: x-apievangelist-phrasing: intent: Get one notification setting by channel id effect: read questions: - How often does a user get a specific notification on a given channel id? - Is a particular alert turned off for one communication channel? instructions: - text: Get the {notification} preference for user {user_id} on channel {communication_channel_id}. slots: notification: path.notification user_id: path.user_id communication_channel_id: path.communication_channel_id - text: Check the frequency of {notification} alerts on channel {communication_channel_id} for {user_id}. slots: notification: path.notification communication_channel_id: path.communication_channel_id user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/communication_channels/{type}/{address}/notification_preferences/{notification}'].get update: x-apievangelist-phrasing: intent: Get one notification setting by channel address effect: read questions: - Can I check a single notification setting using the channel's email or phone address? - What frequency is one alert set to for a given address and channel type? instructions: - text: Get the {notification} setting for user {user_id} at {type} address {address}. slots: notification: path.notification user_id: path.user_id type: path.type address: path.address - text: Look up how {address} ({type}) of {user_id} receives {notification}. slots: address: path.address type: path.type user_id: path.user_id notification: path.notification method: generated generated: '2026-10-01' - target: $.paths['/v1/users/self/communication_channels/{communication_channel_id}/notification_preferences/{notification}'].put update: x-apievangelist-phrasing: intent: Change one notification setting by channel id effect: write questions: - Can I make one notification arrive as a daily digest on my email channel? - How do I silence a single alert type on one of my channels? instructions: - text: Set {notification} on my channel {communication_channel_id} to {frequency}. slots: notification: path.notification communication_channel_id: path.communication_channel_id frequency: requestBody.notification_preferences[frequency] - text: Change my {notification} alerts on channel {communication_channel_id} to never. slots: notification: path.notification communication_channel_id: path.communication_channel_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/self/communication_channels/{type}/{address}/notification_preferences/{notification}'].put update: x-apievangelist-phrasing: intent: Change one notification setting by channel address effect: write questions: - Can I update a single notification for my channel using its address rather than id? - Is it possible to set my text-message alert for one notification to weekly? instructions: - text: Set {notification} for my {type} address {address} to {frequency}. slots: notification: path.notification type: path.type address: path.address frequency: requestBody.notification_preferences[frequency] - text: Make {notification} immediate on my {type} channel {address}. slots: notification: path.notification type: path.type address: path.address method: generated generated: '2026-10-01' - target: $.paths['/v1/users/self/communication_channels/{communication_channel_id}/notification_preference_categories/{category}'].put update: x-apievangelist-phrasing: intent: Change all notifications in a category effect: write questions: - Can I change a whole category of alerts, like all grading notices, at once? - Is there a way to set one frequency for every notification in a category? instructions: - text: Set the {category} category on my channel {communication_channel_id} to {frequency}. slots: category: path.category communication_channel_id: path.communication_channel_id frequency: requestBody.notification_preferences[frequency] - text: Turn every {category} alert on channel {communication_channel_id} to daily. slots: category: path.category communication_channel_id: path.communication_channel_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/self/communication_channels/{communication_channel_id}/notification_preferences'].put update: x-apievangelist-phrasing: intent: Change several notification settings by channel id effect: write questions: - Can I update many different notifications on one channel id in a single request? - What's the bulk way to rewrite my notification frequencies for a channel? instructions: - text: Update multiple notification preferences on my channel {communication_channel_id} to {frequency}. slots: communication_channel_id: path.communication_channel_id frequency: requestBody.notification_preferences[][frequency] - text: Bulk set several alerts at once for channel {communication_channel_id}. slots: communication_channel_id: path.communication_channel_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/self/communication_channels/{type}/{address}/notification_preferences'].put update: x-apievangelist-phrasing: intent: Change several notification settings by address effect: write questions: - Can I bulk-change notifications for my email address without knowing the channel id? - Is a multi-notification update possible by channel type and address? instructions: - text: Update several notification frequencies for my {type} address {address} to {frequency}. slots: type: path.type address: path.address frequency: requestBody.notification_preferences[][frequency] - text: Bulk rewrite the alert settings on {type} channel {address}. slots: type: path.type address: path.address method: generated generated: '2026-10-01'