Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Grading Periods API

9 actions 9 updates phrasing extends openapi/canvas-grading-periods-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 9

$.info
$.paths['/v1/accounts/{account_id}/grading_periods'].get
$.paths['/v1/courses/{course_id}/grading_periods'].get
$.paths['/v1/courses/{course_id}/grading_periods/{id}'].get
$.paths['/v1/courses/{course_id}/grading_periods/{id}'].put
$.paths['/v1/courses/{course_id}/grading_periods/{id}'].delete
$.paths['/v1/accounts/{account_id}/grading_periods/{id}'].delete
$.paths['/v1/courses/{course_id}/grading_periods/batch_update'].patch
$.paths['/v1/grading_period_sets/{set_id}/grading_periods/batch_update'].patch

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 Grading Periods API
  version: 1.0.0
extends: openapi/canvas-grading-periods-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: 8
- target: $.paths['/v1/accounts/{account_id}/grading_periods'].get
  update:
    x-apievangelist-phrasing:
      intent: List an account's grading periods
      effect: read
      questions:
      - What grading periods are defined at the account level?
      - Which terms or quarters has my institution set up as grading periods?
      instructions:
      - text: List the grading periods for account {account_id}.
        slots:
          account_id: path.account_id
      - text: Show account {account_id}'s marking periods.
        slots:
          account_id: path.account_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/grading_periods'].get
  update:
    x-apievangelist-phrasing:
      intent: List a course's grading periods
      effect: read
      questions:
      - What grading periods apply to my course?
      - Which quarters is my course's grade broken into?
      instructions:
      - text: List the grading periods for course {course_id}.
        slots:
          course_id: path.course_id
      - text: Show course {course_id}'s marking periods.
        slots:
          course_id: path.course_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/grading_periods/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one grading period in a course
      effect: read
      questions:
      - When does a specific grading period start and end?
      - Can I look up one of my course's grading periods by ID?
      instructions:
      - text: Get grading period {id} in course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Show the dates for course {course_id} grading period {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/grading_periods/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Change one grading period's dates
      effect: write
      questions:
      - How do I move the end date of a single grading period?
      - Can I change the weight of one grading period in my course?
      instructions:
      - text: Set course {course_id} grading period {id} to run from {start_date} to {end_date}.
        slots:
          course_id: path.course_id
          id: path.id
          start_date: requestBody.grading_periods[start_date]
          end_date: requestBody.grading_periods[end_date]
      - text: 'Update grading period {id} in course {course_id}: start {start_date}, end {end_date}, weight {weight}.'
        slots:
          id: path.id
          course_id: path.course_id
          start_date: requestBody.grading_periods[start_date]
          end_date: requestBody.grading_periods[end_date]
          weight: requestBody.grading_periods[weight]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/grading_periods/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a course grading period
      effect: destructive
      questions:
      - How do I remove a grading period from my course?
      - Can I delete a course-level grading period I no longer need?
      instructions:
      - text: Delete grading period {id} from course {course_id}.
        slots:
          id: path.id
          course_id: path.course_id
      - text: Remove course {course_id}'s grading period {id}.
        slots:
          course_id: path.course_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/grading_periods/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an account grading period
      effect: destructive
      questions:
      - How do I delete a grading period defined for the whole account?
      - Can an admin remove an account-level grading period?
      instructions:
      - text: Delete grading period {id} from account {account_id}.
        slots:
          id: path.id
          account_id: path.account_id
      - text: Remove account {account_id}'s grading period {id}.
        slots:
          account_id: path.account_id
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/courses/{course_id}/grading_periods/batch_update'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update several grading periods in a course
      effect: write
      questions:
      - How do I set up all my course's grading periods in one request?
      - Can I update titles, dates and close dates for multiple course grading periods at once?
      instructions:
      - text: Batch update grading periods in course {course_id} for set {set_id}.
        slots:
          course_id: path.course_id
          set_id: requestBody.set_id
      - text: In course {course_id}, add period {title} from {start_date} to {end_date} closing {close_date} in set {set_id}.
        slots:
          course_id: path.course_id
          title: requestBody.grading_periods[title]
          start_date: requestBody.grading_periods[start_date]
          end_date: requestBody.grading_periods[end_date]
          close_date: requestBody.grading_periods[close_date]
          set_id: requestBody.set_id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/grading_period_sets/{set_id}/grading_periods/batch_update'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update several grading periods in a set
      effect: write
      questions:
      - How do I edit every period in a grading period set together?
      - Can I bulk-change dates on a term's grading period set?
      instructions:
      - text: Batch update the grading periods in set {set_id}.
        slots:
          set_id: path.set_id
      - text: In grading period set {set_id}, add {title} from {start_date} to {end_date} closing {close_date}.
        slots:
          set_id: path.set_id
          title: requestBody.grading_periods[title]
          start_date: requestBody.grading_periods[start_date]
          end_date: requestBody.grading_periods[end_date]
          close_date: requestBody.grading_periods[close_date]
      method: generated
      generated: '2026-10-01'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/canvas-grading-periods-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.