Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Planner API

13 actions 13 updates phrasing extends openapi/canvas-planner-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 13

$.info
$.paths['/v1/planner/items'].get
$.paths['/v1/users/{user_id}/planner/items'].get
$.paths['/v1/planner_notes'].get
$.paths['/v1/planner_notes'].post
$.paths['/v1/planner_notes/{id}'].get
$.paths['/v1/planner_notes/{id}'].put
$.paths['/v1/planner_notes/{id}'].delete
$.paths['/v1/planner/overrides'].get
$.paths['/v1/planner/overrides'].post
$.paths['/v1/planner/overrides/{id}'].get
$.paths['/v1/planner/overrides/{id}'].put
$.paths['/v1/planner/overrides/{id}'].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 Planner API
  version: 1.0.0
extends: openapi/canvas-planner-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: 12
- target: $.paths['/v1/planner/items'].get
  update:
    x-apievangelist-phrasing:
      intent: List my planner items
      effect: read
      questions:
      - What assignments and to-dos are on my Canvas planner this week?
      - Can I filter my planner to only new activity or incomplete items?
      instructions:
      - text: List my planner items from {start_date} to {end_date}.
        slots:
          start_date: query.start_date
          end_date: query.end_date
      - text: Show my planner items filtered by {filter}.
        slots:
          filter: query.filter
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/planner/items'].get
  update:
    x-apievangelist-phrasing:
      intent: List a specific user's planner items
      effect: read
      questions:
      - As an observer, how do I see a student's planner items?
      - Can I pull another user's planner for selected courses only?
      instructions:
      - text: List planner items for user {user_id}.
        slots:
          user_id: path.user_id
      - text: Show user {user_id}'s planner between {start_date} and {end_date} for {context_codes}.
        slots:
          user_id: path.user_id
          start_date: query.start_date
          end_date: query.end_date
          context_codes: query.context_codes
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner_notes'].get
  update:
    x-apievangelist-phrasing:
      intent: List my planner notes
      effect: read
      questions:
      - Which personal to-do notes have I added to my planner?
      - Can I list planner notes for one course within a date range?
      instructions:
      - text: List my planner notes.
      - text: Show my planner notes for {context_codes} between {start_date} and {end_date}.
        slots:
          context_codes: query.context_codes
          start_date: query.start_date
          end_date: query.end_date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner_notes'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a planner note
      effect: write
      questions:
      - How do I add a personal to-do to my planner?
      - Can I link a planner note to a course?
      instructions:
      - text: Add a planner note {title} on {todo_date}.
        slots:
          title: requestBody.title
          todo_date: requestBody.todo_date
      - text: Create a planner note {title} for course {course_id} with details {details}.
        slots:
          title: requestBody.title
          course_id: requestBody.course_id
          details: requestBody.details
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner_notes/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Show a planner note
      effect: read
      questions:
      - How do I read one of my planner notes by its id?
      - What date is a specific planner note set for?
      instructions:
      - text: Show planner note {id}.
        slots:
          id: path.id
      - text: Get the details of my planner note {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner_notes/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a planner note
      effect: write
      questions:
      - Can I move a planner note to a different day?
      - How do I edit the title or details of a planner note?
      instructions:
      - text: Move planner note {id} to {todo_date}.
        slots:
          id: path.id
          todo_date: requestBody.todo_date
      - text: Rename planner note {id} to {title}.
        slots:
          id: path.id
          title: requestBody.title
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner_notes/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a planner note
      effect: destructive
      questions:
      - How do I delete a to-do note from my planner?
      - Can I remove a planner note I no longer need?
      instructions:
      - text: Delete planner note {id}.
        slots:
          id: path.id
      - text: Remove my planner note {id} permanently.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner/overrides'].get
  update:
    x-apievangelist-phrasing:
      intent: List my planner overrides
      effect: read
      questions:
      - Which planner items have I marked complete or dismissed?
      - Can I see all my planner visibility overrides?
      instructions:
      - text: List my planner overrides.
      - text: Show every planner item I've marked done or dismissed.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner/overrides'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark a planner item complete or dismissed
      effect: write
      questions:
      - How do I mark an assignment as done on my planner?
      - Can I dismiss a planner item so it stops showing up?
      instructions:
      - text: Mark {plannable_type} {plannable_id} as complete {marked_complete} on my planner.
        slots:
          plannable_type: requestBody.plannable_type
          plannable_id: requestBody.plannable_id
          marked_complete: requestBody.marked_complete
      - text: Dismiss {plannable_type} {plannable_id} from my planner, dismissed {dismissed}.
        slots:
          plannable_type: requestBody.plannable_type
          plannable_id: requestBody.plannable_id
          dismissed: requestBody.dismissed
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner/overrides/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Show a planner override
      effect: read
      questions:
      - How do I check the state of one planner override?
      - Is a given planner override marked complete or dismissed?
      instructions:
      - text: Show planner override {id}.
        slots:
          id: path.id
      - text: Get planner override {id} and its completion status.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner/overrides/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a planner override
      effect: write
      questions:
      - Can I un-mark a planner item I previously marked complete?
      - How do I restore a dismissed item to my planner?
      instructions:
      - text: Set planner override {id} marked complete to {marked_complete}.
        slots:
          id: path.id
          marked_complete: requestBody.marked_complete
      - text: Change planner override {id} dismissed to {dismissed}.
        slots:
          id: path.id
          dismissed: requestBody.dismissed
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/planner/overrides/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a planner override
      effect: destructive
      questions:
      - How do I delete a planner override entirely?
      - Can I remove the override record on a planner item?
      instructions:
      - text: Delete planner override {id}.
        slots:
          id: path.id
      - text: Remove override {id} from my planner.
        slots:
          id: path.id
      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-planner-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.