Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Rubrics API

21 actions 21 updates phrasing extends openapi/canvas-rubrics-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 21 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/courses/{course_id}/rubrics'].get
$.paths['/v1/courses/{course_id}/rubrics'].post
$.paths['/v1/courses/{course_id}/rubrics/{id}'].get
$.paths['/v1/courses/{course_id}/rubrics/{id}'].put
$.paths['/v1/courses/{course_id}/rubrics/{id}'].delete
$.paths['/v1/accounts/{account_id}/rubrics'].get
$.paths['/v1/accounts/{account_id}/rubrics/{id}'].get
$.paths['/v1/courses/{course_id}/rubrics/{id}/used_locations'].get
$.paths['/v1/accounts/{account_id}/rubrics/{id}/used_locations'].get
$.paths['/v1/courses/{course_id}/rubrics/upload'].post
$.paths['/v1/accounts/{account_id}/rubrics/upload'].post
$.paths['/v1/rubrics/upload_template'].get
$.paths['/v1/courses/{course_id}/rubrics/upload/{id}'].get
$.paths['/v1/accounts/{account_id}/rubrics/upload/{id}'].get
$.paths['/v1/courses/{course_id}/rubric_associations/{rubric_association_id}/rubric_assessments'].post

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 Rubrics API
  version: 1.0.0
extends: openapi/canvas-rubrics-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: 20
- target: $.paths['/v1/courses/{course_id}/rubrics'].get
  update:
    x-apievangelist-phrasing:
      intent: List a course's active rubrics
      effect: read
      questions:
      - What rubrics are active in my Canvas course?
      - Can I see every grading rubric defined at the course level?
      instructions:
      - text: List the active rubrics in course {course_id}.
        slots:
          course_id: path.course_id
      - text: Show all grading rubrics available in course {course_id}.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubrics'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a rubric in a course
      effect: write
      questions:
      - How do I build a new grading rubric with criteria in a course?
      - Can I attach a new rubric to an assignment and use it for grading when I create it?
      - Can a rubric allow free-form comments instead of fixed ratings?
      instructions:
      - text: Create a rubric titled {title} in course {course_id}.
        slots:
          title: requestBody.rubric[title]
          course_id: path.course_id
      - text: Create a new rubric {title} in course {course_id} and associate it with assignment {association_id} for grading.
        slots:
          title: requestBody.rubric[title]
          course_id: path.course_id
          association_id: requestBody.rubric_association[association_id]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubrics/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a rubric from a course
      effect: read
      questions:
      - How can I view one rubric's criteria and ratings in a course?
      - Can I include the assessments made with a course rubric when I fetch it?
      instructions:
      - text: Get rubric {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Show course {course_id} rubric {id} with its {include} included.
        slots:
          course_id: path.course_id
          id: path.id
          include: query.include
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubrics/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a course rubric
      effect: write
      questions:
      - How do I rename a rubric or change its criteria in a course?
      - Can I edit a rubric's criteria without recalculating the assignment's points possible?
      instructions:
      - text: Rename rubric {id} in course {course_id} to {title}.
        slots:
          id: path.id
          course_id: path.course_id
          title: requestBody.rubric[title]
      - text: Update the criteria of course {course_id} rubric {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubrics/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a rubric and its associations
      effect: destructive
      questions:
      - What happens to assignments using a rubric when I delete it?
      - Can I permanently remove a rubric from a course?
      instructions:
      - text: Delete rubric {id} from course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Remove course {course_id} rubric {id} along with all of its associations.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/rubrics'].get
  update:
    x-apievangelist-phrasing:
      intent: List an account's active rubrics
      effect: read
      questions:
      - Which rubrics are shared at the account level for reuse across courses?
      - Can an admin list every active rubric in an account?
      instructions:
      - text: List the active rubrics in account {account_id}.
        slots:
          account_id: path.account_id
      - text: Show the account-level rubric library for account {account_id}.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/rubrics/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a rubric from an account
      effect: read
      questions:
      - How do I view one account-level rubric's details?
      - Can I fetch an account rubric with its associated assessments?
      instructions:
      - text: Get rubric {id} from account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Show account {account_id} rubric {id} in {style} style.
        slots:
          account_id: path.account_id
          id: path.id
          style: query.style
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubrics/{id}/used_locations'].get
  update:
    x-apievangelist-phrasing:
      intent: See where a course rubric is used
      effect: read
      questions:
      - Which assignments are using a particular rubric from my course?
      - Before editing a course rubric, can I see every place it's used?
      instructions:
      - text: List the courses and assignments using rubric {id} from course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Show where course {course_id} rubric {id} is currently in use.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/rubrics/{id}/used_locations'].get
  update:
    x-apievangelist-phrasing:
      intent: See where an account rubric is used
      effect: read
      questions:
      - Which courses and assignments rely on an account-level rubric?
      - Can an admin find every course using a shared account rubric?
      instructions:
      - text: List the courses and assignments using account {account_id} rubric {id}.
        slots:
          account_id: path.account_id
          id: path.id
      - text: Find every place rubric {id} from account {account_id} has been applied.
        slots:
          id: path.id
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubrics/upload'].post
  update:
    x-apievangelist-phrasing:
      intent: Import rubrics into a course from a CSV
      effect: write
      questions:
      - Can I import rubrics into a course from a CSV spreadsheet?
      - How do I bulk load rubrics into one course from a file?
      instructions:
      - text: Upload a rubric CSV file to course {course_id}.
        slots:
          course_id: path.course_id
      - text: Import rubrics from a CSV into course {course_id}.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/rubrics/upload'].post
  update:
    x-apievangelist-phrasing:
      intent: Import rubrics into an account from a CSV
      effect: write
      questions:
      - Can an admin import account-level rubrics from a CSV?
      - How do I load a spreadsheet of rubrics into an account's rubric library?
      instructions:
      - text: Upload a rubric CSV file to account {account_id}.
        slots:
          account_id: path.account_id
      - text: Import CSV rubrics into the account {account_id} library.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/rubrics/upload_template'].get
  update:
    x-apievangelist-phrasing:
      intent: Download the rubric import CSV template
      effect: read
      questions:
      - What format does a rubric CSV import need to be in?
      - Where can I download a blank template for importing rubrics?
      instructions:
      - text: Download the rubric import CSV template.
      - text: Get me the blank spreadsheet template for importing rubrics.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubrics/upload/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check a course rubric CSV import's status
      effect: read
      questions:
      - Did my rubric CSV import into the course finish?
      - Can I check the latest rubric import for a course?
      instructions:
      - text: Get the status of rubric import {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Check whether course {course_id} rubric upload {id} succeeded.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/rubrics/upload/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Check an account rubric CSV import's status
      effect: read
      questions:
      - Has the rubric spreadsheet I imported into the account finished processing?
      - Can an admin see the most recent account rubric import?
      instructions:
      - text: Get the status of rubric import {id} in account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Check progress on account {account_id} rubric upload {id}.
        slots:
          account_id: path.account_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubric_associations/{rubric_association_id}/rubric_assessments'].post
  update:
    x-apievangelist-phrasing:
      intent: Assess a student's work with a rubric
      effect: write
      questions:
      - How do I score a student's submission against a rubric?
      - Can I save a provisional rubric assessment for moderated grading?
      instructions:
      - text: Create a rubric assessment under association {rubric_association_id} in course {course_id}.
        slots:
          rubric_association_id: path.rubric_association_id
          course_id: path.course_id
      - text: Submit a provisional rubric score for association {rubric_association_id} in course {course_id}, provisional {provisional}.
        slots:
          rubric_association_id: path.rubric_association_id
          course_id: path.course_id
          provisional: requestBody.provisional
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubric_associations/{rubric_association_id}/rubric_assessments/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing rubric assessment
      effect: write
      questions:
      - Can I change the ratings on a rubric assessment I already made?
      - How do I mark an existing provisional rubric assessment as final?
      instructions:
      - text: Update rubric assessment {id} for association {rubric_association_id} in course {course_id}.
        slots:
          id: path.id
          rubric_association_id: path.rubric_association_id
          course_id: path.course_id
      - text: Set rubric assessment {id} under association {rubric_association_id} in course {course_id} as final {final}.
        slots:
          id: path.id
          rubric_association_id: path.rubric_association_id
          course_id: path.course_id
          final: requestBody.final
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubric_associations/{rubric_association_id}/rubric_assessments/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a rubric assessment
      effect: destructive
      questions:
      - Can I remove a rubric assessment I made by mistake?
      - What deletes a single rubric scoring of a student's work?
      instructions:
      - text: Delete rubric assessment {id} under association {rubric_association_id} in course {course_id}.
        slots:
          id: path.id
          rubric_association_id: path.rubric_association_id
          course_id: path.course_id
      - text: Remove the rubric scoring {id} from association {rubric_association_id} in course {course_id}.
        slots:
          id: path.id
          rubric_association_id: path.rubric_association_id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubric_associations'].post
  update:
    x-apievangelist-phrasing:
      intent: Attach an existing rubric to an assignment
      effect: write
      questions:
      - How do I attach an existing rubric to an assignment in my course?
      - Can I hide the total score when linking a rubric to an assignment?
      instructions:
      - text: Associate rubric {rubric_id} with assignment {association_id} in course {course_id}.
        slots:
          rubric_id: requestBody.rubric_association[rubric_id]
          association_id: requestBody.rubric_association[association_id]
          course_id: path.course_id
      - text: Link rubric {rubric_id} in course {course_id} to {association_type} {association_id} and use it for grading.
        slots:
          rubric_id: requestBody.rubric_association[rubric_id]
          course_id: path.course_id
          association_type: requestBody.rubric_association[association_type]
          association_id: requestBody.rubric_association[association_id]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubric_associations/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change how a rubric is attached to an assignment
      effect: write
      questions:
      - Can I stop using an attached rubric for grading without removing it?
      - How do I change the purpose of an existing rubric association?
      instructions:
      - text: Update rubric association {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Set use for grading to {use_for_grading} on rubric association {id} in course {course_id}.
        slots:
          use_for_grading: requestBody.rubric_association[use_for_grading]
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/rubric_associations/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Detach a rubric from an assignment
      effect: destructive
      questions:
      - How do I unlink a rubric from an assignment without deleting the rubric itself?
      - Can I remove a single rubric association in a course?
      instructions:
      - text: Delete rubric association {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Detach the rubric linked by association {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'