Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST E Portfolios API

8 actions 8 updates phrasing extends openapi/canvas-e-portfolios-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 8

$.info
$.paths['/v1/users/{user_id}/eportfolios'].get
$.paths['/v1/users/{user_id}/eportfolios'].put
$.paths['/v1/eportfolios/{id}'].get
$.paths['/v1/eportfolios/{id}'].delete
$.paths['/v1/eportfolios/{eportfolio_id}/pages'].get
$.paths['/v1/eportfolios/{eportfolio_id}/moderate'].put
$.paths['/v1/eportfolios/{eportfolio_id}/restore'].put

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 E Portfolios API
  version: 1.0.0
extends: openapi/canvas-e-portfolios-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: 7
- target: $.paths['/v1/users/{user_id}/eportfolios'].get
  update:
    x-apievangelist-phrasing:
      intent: List a user's ePortfolios
      effect: read
      questions:
      - What ePortfolios has a student created?
      - Can I list every ePortfolio belonging to one user?
      instructions:
      - text: List ePortfolios for user {user_id}.
        slots:
          user_id: path.user_id
      - text: Show all of user {user_id}'s ePortfolios including {include}.
        slots:
          user_id: path.user_id
          include: query.include
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/eportfolios'].put
  update:
    x-apievangelist-phrasing:
      intent: Set spam status on all of a user's ePortfolios
      effect: write
      questions:
      - As an admin, can I flag every ePortfolio a user owns as spam in one go?
      - How do I mark all of someone's ePortfolios as safe after review?
      instructions:
      - text: Mark all ePortfolios of user {user_id} as {spam_status}.
        slots:
          user_id: path.user_id
          spam_status: requestBody.spam_status
      - text: Moderate every active ePortfolio for user {user_id} with spam status {spam_status}.
        slots:
          user_id: path.user_id
          spam_status: requestBody.spam_status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/eportfolios/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an ePortfolio
      effect: read
      questions:
      - How do I see the details of one ePortfolio?
      - Can I look up a single ePortfolio by id?
      instructions:
      - text: Show ePortfolio {id}.
        slots:
          id: path.id
      - text: Get the details of ePortfolio {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/eportfolios/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an ePortfolio
      effect: destructive
      questions:
      - How do I delete an ePortfolio?
      - Can a deleted ePortfolio be brought back later?
      instructions:
      - text: Delete ePortfolio {id}.
        slots:
          id: path.id
      - text: Mark ePortfolio {id} as deleted.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/eportfolios/{eportfolio_id}/pages'].get
  update:
    x-apievangelist-phrasing:
      intent: List an ePortfolio's pages
      effect: read
      questions:
      - What pages does an ePortfolio contain?
      - Can I pull the page details of a student's ePortfolio?
      instructions:
      - text: List the pages of ePortfolio {eportfolio_id}.
        slots:
          eportfolio_id: path.eportfolio_id
      - text: Show page details for ePortfolio {eportfolio_id}.
        slots:
          eportfolio_id: path.eportfolio_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/eportfolios/{eportfolio_id}/moderate'].put
  update:
    x-apievangelist-phrasing:
      intent: Set spam status on one ePortfolio
      effect: write
      questions:
      - How do I flag a single ePortfolio as spam?
      - Can an admin clear the spam status on one ePortfolio?
      instructions:
      - text: Set ePortfolio {eportfolio_id}'s spam status to {spam_status}.
        slots:
          eportfolio_id: path.eportfolio_id
          spam_status: requestBody.spam_status
      - text: Moderate ePortfolio {eportfolio_id} as {spam_status}.
        slots:
          eportfolio_id: path.eportfolio_id
          spam_status: requestBody.spam_status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/eportfolios/{eportfolio_id}/restore'].put
  update:
    x-apievangelist-phrasing:
      intent: Restore a deleted ePortfolio
      effect: write
      questions:
      - Can an admin undelete an ePortfolio?
      - How do I bring a deleted ePortfolio back to active?
      instructions:
      - text: Restore deleted ePortfolio {eportfolio_id}.
        slots:
          eportfolio_id: path.eportfolio_id
      - text: Undelete ePortfolio {eportfolio_id}.
        slots:
          eportfolio_id: path.eportfolio_id
      method: generated
      generated: '2026-10-01'