Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Line Items API

6 actions 6 updates phrasing extends openapi/canvas-line-items-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 6

$.info
$.paths['/lti/courses/{course_id}/line_items'].get
$.paths['/lti/courses/{course_id}/line_items'].post
$.paths['/lti/courses/{course_id}/line_items/{id}'].get
$.paths['/lti/courses/{course_id}/line_items/{id}'].put
$.paths['/lti/courses/{course_id}/line_items/{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 Line Items API
  version: 1.0.0
extends: openapi/canvas-line-items-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: 5
- target: $.paths['/lti/courses/{course_id}/line_items'].get
  update:
    x-apievangelist-phrasing:
      intent: List LTI line items in a course
      effect: read
      questions:
      - What gradebook columns has my LTI tool created in a course?
      - Can I filter line items by tag or resource id?
      instructions:
      - text: List the line items in course {course_id}.
        slots:
          course_id: path.course_id
      - text: Show line items in course {course_id} tagged {tag}.
        slots:
          course_id: path.course_id
          tag: query.tag
      - text: List line items for resource {resource_id} in course {course_id}.
        slots:
          course_id: path.course_id
          resource_id: query.resource_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/lti/courses/{course_id}/line_items'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an LTI line item
      effect: write
      questions:
      - How does an LTI tool add a new gradebook column?
      - Can I set a start and end date on a new line item?
      instructions:
      - text: Create line item {label} with a max score of {scoreMaximum} in course {course_id}.
        slots:
          label: requestBody.label
          scoreMaximum: requestBody.scoreMaximum
          course_id: path.course_id
      - text: Add a line item {label} worth {scoreMaximum} for resource link {resourceLinkId} in course {course_id}.
        slots:
          label: requestBody.label
          scoreMaximum: requestBody.scoreMaximum
          resourceLinkId: requestBody.resourceLinkId
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/lti/courses/{course_id}/line_items/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one LTI line item
      effect: read
      questions:
      - How can a tool read back a single line item it created?
      - What score maximum and label does a given line item have?
      instructions:
      - text: Show line item {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Get the details of LTI line item {id} for course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/lti/courses/{course_id}/line_items/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an LTI line item
      effect: write
      questions:
      - Can I change the maximum score of an existing line item?
      - Is it possible to relabel a gradebook column my tool owns?
      instructions:
      - text: Set the max score of line item {id} in course {course_id} to {scoreMaximum}.
        slots:
          id: path.id
          course_id: path.course_id
          scoreMaximum: requestBody.scoreMaximum
      - text: Relabel line item {id} in course {course_id} as {label}.
        slots:
          id: path.id
          course_id: path.course_id
          label: requestBody.label
      method: generated
      generated: '2026-10-01'
- target: $.paths['/lti/courses/{course_id}/line_items/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an LTI line item
      effect: destructive
      questions:
      - Can an LTI tool remove a gradebook column it created?
      - What happens when I delete a line item?
      instructions:
      - text: Delete line item {id} from course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Remove the LTI gradebook column {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'