Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Blackout Dates API

14 actions 14 updates phrasing extends openapi/canvas-blackout-dates-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 14

$.info
$.paths['/v1/courses/{course_id}/blackout_dates'].get
$.paths['/v1/courses/{course_id}/blackout_dates'].put
$.paths['/v1/courses/{course_id}/blackout_dates'].post
$.paths['/v1/accounts/{account_id}/blackout_dates'].get
$.paths['/v1/accounts/{account_id}/blackout_dates'].post
$.paths['/v1/courses/{course_id}/blackout_dates/{id}'].get
$.paths['/v1/courses/{course_id}/blackout_dates/{id}'].put
$.paths['/v1/courses/{course_id}/blackout_dates/{id}'].delete
$.paths['/v1/accounts/{account_id}/blackout_dates/{id}'].get
$.paths['/v1/accounts/{account_id}/blackout_dates/{id}'].put
$.paths['/v1/accounts/{account_id}/blackout_dates/{id}'].delete
$.paths['/v1/courses/{course_id}/blackout_dates/new'].get
$.paths['/v1/accounts/{account_id}/blackout_dates/new'].get

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 Blackout Dates API
  version: 1.0.0
extends: openapi/canvas-blackout-dates-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: 13
- target: $.paths['/v1/courses/{course_id}/blackout_dates'].get
  update:
    x-apievangelist-phrasing:
      intent: List a course's blackout dates
      effect: read
      questions:
      - Which days are blocked out from scheduling in my Canvas course?
      - How do I see the blackout dates set on a course for pacing?
      instructions:
      - text: List the blackout dates for course {course_id}.
        slots:
          course_id: path.course_id
      - text: Show every no-class day configured on course {course_id}.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/blackout_dates'].put
  update:
    x-apievangelist-phrasing:
      intent: Sync a course's full list of blackout dates
      effect: destructive
      questions:
      - Can I replace all of a course's blackout dates in one call?
      - Will blackout dates missing from my bulk update be deleted from the course?
      instructions:
      - text: Replace the whole blackout date list on course {course_id} with {blackout_dates}.
        slots:
          course_id: path.course_id
          blackout_dates: 'requestBody.blackout_dates:'
      - text: Bulk sync course {course_id} blackout dates so they match {blackout_dates}.
        slots:
          course_id: path.course_id
          blackout_dates: 'requestBody.blackout_dates:'
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/blackout_dates'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a blackout date to a course
      effect: write
      questions:
      - How do I block out spring break in one course's schedule?
      - Can I give a course blackout date a title like Holiday?
      instructions:
      - text: Add a blackout date to course {course_id} from {start_date} to {end_date} called {event_title}.
        slots:
          course_id: path.course_id
          start_date: requestBody.start_date
          end_date: requestBody.end_date
          event_title: requestBody.event_title
      - text: Block out {start_date} in course {course_id}.
        slots:
          start_date: requestBody.start_date
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/blackout_dates'].get
  update:
    x-apievangelist-phrasing:
      intent: List an account's blackout dates
      effect: read
      questions:
      - What blackout dates are set at the account level for my institution?
      - Can I see sub-account-wide blackout dates?
      instructions:
      - text: List the blackout dates for account {account_id}.
        slots:
          account_id: path.account_id
      - text: Show account-wide blocked days for account {account_id}.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/blackout_dates'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a blackout date to an account
      effect: write
      questions:
      - How do I add a blackout date that applies to a whole account?
      - Can I create an institution-wide holiday as a blackout date?
      instructions:
      - text: Add an account {account_id} blackout date from {start_date} to {end_date} titled {event_title}.
        slots:
          account_id: path.account_id
          start_date: requestBody.start_date
          end_date: requestBody.end_date
          event_title: requestBody.event_title
      - text: Create an account-level blackout on {start_date} for account {account_id}.
        slots:
          start_date: requestBody.start_date
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/blackout_dates/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one blackout date in a course
      effect: read
      questions:
      - How do I look up a single course blackout date by its id?
      - What are the start and end dates of a specific blackout in my course?
      instructions:
      - text: Show blackout date {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Get the details of course {course_id} blackout {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/blackout_dates/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a course blackout date
      effect: write
      questions:
      - Can I change the end date of an existing course blackout?
      - How do I rename a blackout date in my course?
      instructions:
      - text: Change course {course_id} blackout {id} to end on {end_date}.
        slots:
          course_id: path.course_id
          id: path.id
          end_date: requestBody.end_date
      - text: Rename blackout date {id} in course {course_id} to {event_title}.
        slots:
          id: path.id
          course_id: path.course_id
          event_title: requestBody.event_title
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/blackout_dates/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a course blackout date
      effect: destructive
      questions:
      - How do I remove a blackout date from a course?
      - Can I delete one course blackout without touching the others?
      instructions:
      - text: Delete blackout date {id} from course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Remove course {course_id} blackout {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/blackout_dates/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one blackout date in an account
      effect: read
      questions:
      - How do I fetch a single account-level blackout date?
      - What dates does a particular account blackout cover?
      instructions:
      - text: Show blackout date {id} in account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Get account {account_id} blackout {id} details.
        slots:
          account_id: path.account_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/blackout_dates/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an account blackout date
      effect: write
      questions:
      - Can I move an account-wide blackout to different dates?
      - How do I edit the title of an account blackout date?
      instructions:
      - text: Move account {account_id} blackout {id} to start {start_date} and end {end_date}.
        slots:
          account_id: path.account_id
          id: path.id
          start_date: requestBody.start_date
          end_date: requestBody.end_date
      - text: Retitle account {account_id} blackout date {id} as {event_title}.
        slots:
          account_id: path.account_id
          id: path.id
          event_title: requestBody.event_title
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/blackout_dates/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an account blackout date
      effect: destructive
      questions:
      - How do I delete an account-level blackout date?
      - Can I remove an institution-wide blackout I no longer need?
      instructions:
      - text: Delete blackout date {id} from account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Remove account {account_id} blackout {id}.
        slots:
          account_id: path.account_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/blackout_dates/new'].get
  update:
    x-apievangelist-phrasing:
      intent: Initialize an unsaved course blackout date
      effect: read
      questions:
      - What does a blank, unsaved blackout date look like for a course?
      - Can I get a template blackout date object for a course before saving one?
      instructions:
      - text: Initialize a new unsaved blackout date for course {course_id}.
        slots:
          course_id: path.course_id
      - text: Give me a blank blackout date template for course {course_id}.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/blackout_dates/new'].get
  update:
    x-apievangelist-phrasing:
      intent: Initialize an unsaved account blackout date
      effect: read
      questions:
      - What default fields does an unsaved account blackout date have?
      - Can I get an empty blackout date object for an account?
      instructions:
      - text: Initialize a new unsaved blackout date for account {account_id}.
        slots:
          account_id: path.account_id
      - text: Give me a blank account blackout template for account {account_id}.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'