# 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 Lti Context Controls API version: 1.0.0 extends: openapi/canvas-lti-context-controls-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: 6 - target: $.paths['/v1/accounts/{account_id}/lti_registrations/{registration_id}/controls'].get update: x-apievangelist-phrasing: intent: List an LTI registration's context controls effect: read questions: - Which courses and accounts is an LTI registration turned on or off for? - How do I see all context controls for a tool, grouped by deployment? instructions: - text: List context controls for LTI registration {registration_id} in account {account_id}. slots: registration_id: path.registration_id account_id: path.account_id - text: Show where registration {registration_id} is available under account {account_id}. slots: registration_id: path.registration_id account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/lti_registrations/{registration_id}/controls/{id}'].get update: x-apievangelist-phrasing: intent: Get one LTI context control effect: read questions: - How do I look at a single context control for an LTI registration? - Can I check whether one control marks a tool available? instructions: - text: Show context control {id} for registration {registration_id} in account {account_id}. slots: id: path.id registration_id: path.registration_id account_id: path.account_id - text: Get LTI control {id} of registration {registration_id}, account {account_id}. slots: id: path.id registration_id: path.registration_id account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/lti_registrations/{registration_id}/controls/{id}'].put update: x-apievangelist-phrasing: intent: Turn an LTI tool on or off for a context effect: write questions: - How do I make an LTI tool unavailable in one course without uninstalling it? - Can I change anything about a context control besides availability? instructions: - text: 'Set context control {id} of registration {registration_id} in account {account_id} to available: {available}.' slots: id: path.id registration_id: path.registration_id account_id: path.account_id available: requestBody.available - text: Disable control {id} for registration {registration_id}, account {account_id}, available {available}, noting {comment}. slots: id: path.id registration_id: path.registration_id account_id: path.account_id available: requestBody.available comment: requestBody.comment method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/lti_registrations/{registration_id}/controls/{id}'].delete update: x-apievangelist-phrasing: intent: Delete an LTI context control effect: destructive questions: - What happens if I delete the primary context control for a deployment? - How do I remove a context control from an LTI registration? instructions: - text: Delete context control {id} from registration {registration_id} in account {account_id}. slots: id: path.id registration_id: path.registration_id account_id: path.account_id - text: Remove LTI control {id} (registration {registration_id}, account {account_id}). slots: id: path.id registration_id: path.registration_id account_id: path.account_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{current_account_id}/lti_registrations/{registration_id}/controls'].post update: x-apievangelist-phrasing: intent: Create an LTI context control effect: write questions: - How do I enable an LTI registration for one specific course? - Can I add a context control tied to a particular deployment? instructions: - text: Create a context control for registration {registration_id} in account {current_account_id} for course {course_id}. slots: registration_id: path.registration_id current_account_id: path.current_account_id course_id: requestBody.course_id - text: Add a control under account {current_account_id} for registration {registration_id} on deployment {deployment_id}. slots: current_account_id: path.current_account_id registration_id: path.registration_id deployment_id: requestBody.deployment_id method: generated generated: '2026-10-01' - target: $.paths['/v1/accounts/{account_id}/lti_registrations/{registration_id}/controls/bulk'].post update: x-apievangelist-phrasing: intent: Bulk create LTI context controls effect: write questions: - Can I create context controls for many courses at once? - What's the maximum number of LTI context controls in one bulk request? instructions: - text: Bulk create context controls for registration {registration_id} in account {account_id}. slots: registration_id: path.registration_id account_id: path.account_id - text: Create controls in bulk for registration {registration_id}, account {account_id}, covering course {course_id}. slots: registration_id: path.registration_id account_id: path.account_id course_id: requestBody.course_id method: generated generated: '2026-10-01'