Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Communication Channels API

6 actions 6 updates phrasing extends openapi/canvas-communication-channels-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/v1/users/{user_id}/communication_channels'].get
$.paths['/v1/users/{user_id}/communication_channels'].post
$.paths['/v1/users/{user_id}/communication_channels/{id}'].delete
$.paths['/v1/users/{user_id}/communication_channels/{type}/{address}'].delete
$.paths['/v1/users/self/communication_channels/push'].delete

OpenAPI Overlay

Raw ↑
# 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 Communication Channels API
  version: 1.0.0
extends: openapi/canvas-communication-channels-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: 5
- target: $.paths['/v1/users/{user_id}/communication_channels'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's communication channels
      effect: read
      questions:
      - What email addresses and phone numbers can a user be notified at?
      - In what order are a user's notification channels listed?
      instructions:
      - text: List communication channels for user {user_id}.
        slots:
          user_id: path.user_id
      - text: Show where user {user_id} receives notifications.
        slots:
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/communication_channels'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a communication channel for a user
      effect: write
      questions:
      - How do I add a new email address for a user's notifications?
      - Can I add a channel without sending a confirmation?
      instructions:
      - text: Add {type} channel {address} for user {user_id}.
        slots:
          type: requestBody.communication_channel[type]
          address: requestBody.communication_channel[address]
          user_id: path.user_id
      - text: Add {type} address {address} to user {user_id} with skip confirmation {skip_confirmation}.
        slots:
          type: requestBody.communication_channel[type]
          address: requestBody.communication_channel[address]
          user_id: path.user_id
          skip_confirmation: requestBody.skip_confirmation
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/communication_channels/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a communication channel by ID
      effect: destructive
      questions:
      - How do I remove a user's notification channel when I know its ID?
      - Can I delete one channel record from a user?
      instructions:
      - text: Delete communication channel {id} for user {user_id}.
        slots:
          id: path.id
          user_id: path.user_id
      - text: Remove channel ID {id} from user {user_id}.
        slots:
          id: path.id
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/communication_channels/{type}/{address}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a channel by type and address
      effect: destructive
      questions:
      - Can I remove a user's email channel by the address itself?
      - Which call deletes a channel when I only know its type and address?
      instructions:
      - text: Delete the {type} channel {address} for user {user_id}.
        slots:
          type: path.type
          address: path.address
          user_id: path.user_id
      - text: Remove address {address} of type {type} from user {user_id}.
        slots:
          address: path.address
          type: path.type
          user_id: path.user_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/self/communication_channels/push'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove my push notification endpoint
      effect: destructive
      questions:
      - How do I stop push notifications going to my device?
      - Can I delete my push notification channel?
      instructions:
      - text: Delete my push notification endpoint.
      - text: Unregister push notifications for my account.
      method: generated
      generated: '2026-10-01'