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'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/canvas-communication-channels-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.