Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Proficiency Ratings API

5 actions 5 updates phrasing extends openapi/canvas-proficiency-ratings-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 5

$.info
$.paths['/v1/accounts/{account_id}/outcome_proficiency'].get
$.paths['/v1/accounts/{account_id}/outcome_proficiency'].post
$.paths['/v1/courses/{course_id}/outcome_proficiency'].get
$.paths['/v1/courses/{course_id}/outcome_proficiency'].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 Proficiency Ratings API
  version: 1.0.0
extends: openapi/canvas-proficiency-ratings-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: 4
- target: $.paths['/v1/accounts/{account_id}/outcome_proficiency'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an account's mastery scale
      effect: read
      questions:
      - What proficiency ratings does my account use for outcomes?
      - If a sub-account has no ratings, which ones apply?
      instructions:
      - text: Show the proficiency ratings for account {account_id}.
        slots:
          account_id: path.account_id
      - text: Get the outcome mastery scale in effect for account {account_id}.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/outcome_proficiency'].post
  update:
    x-apievangelist-phrasing:
      intent: Set an account's mastery scale
      effect: write
      questions:
      - How do I define the proficiency levels used for outcomes across an account?
      - Can I give each proficiency rating a color and mark one as mastery?
      instructions:
      - text: Set account {account_id}'s proficiency ratings to {descriptions} with points {points}.
        slots:
          account_id: path.account_id
          descriptions: requestBody.ratings[description]
          points: requestBody.ratings[points]
      - text: Update account {account_id} rating colors to {colors}.
        slots:
          account_id: path.account_id
          colors: requestBody.ratings[color]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/outcome_proficiency'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a course's mastery scale
      effect: read
      questions:
      - Which proficiency ratings apply to outcomes in my course?
      - Does a course inherit its mastery scale from the account?
      instructions:
      - text: Show the proficiency ratings for course {course_id}.
        slots:
          course_id: path.course_id
      - text: Get the outcome mastery scale in effect for course {course_id}.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/outcome_proficiency'].post
  update:
    x-apievangelist-phrasing:
      intent: Set a course's mastery scale
      effect: write
      questions:
      - Can a course have its own proficiency ratings separate from the account?
      - How do I choose which rating counts as mastery in a course?
      instructions:
      - text: Set course {course_id}'s proficiency ratings to {descriptions} with points {points}.
        slots:
          course_id: path.course_id
          descriptions: requestBody.ratings[description]
          points: requestBody.ratings[points]
      - text: Mark rating {mastery} as mastery in course {course_id}.
        slots:
          course_id: path.course_id
          mastery: requestBody.ratings[mastery]
      method: generated
      generated: '2026-10-01'