# 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'