Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Developer Keys API

6 actions 6 updates phrasing extends openapi/canvas-developer-keys-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['/v1/accounts/{account_id}/developer_keys'].get
$.paths['/v1/accounts/{account_id}/developer_keys'].post
$.paths['/v1/developer_keys/{id}'].put
$.paths['/v1/developer_keys/{id}'].delete
$.paths['/v1/developer_keys/{id}/regenerate_secret'].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 Developer Keys API
  version: 1.0.0
extends: openapi/canvas-developer-keys-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['/v1/accounts/{account_id}/developer_keys'].get
  update:
    x-apievangelist-phrasing:
      intent: List an account's developer keys
      effect: read
      questions:
      - What Canvas API developer keys exist in my account?
      - Can I include keys inherited from the parent site admin account?
      instructions:
      - text: List the developer keys in account {account_id}.
        slots:
          account_id: path.account_id
      - text: 'Show inherited developer keys for account {account_id}: {inherited}.'
        slots:
          account_id: path.account_id
          inherited: query.inherited
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/accounts/{account_id}/developer_keys'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a developer key
      effect: write
      questions:
      - How do I create a new API developer key for an integration?
      - Can a new developer key be limited to specific scopes and redirect URIs?
      instructions:
      - text: Create a developer key named {name} in account {account_id}.
        slots:
          name: requestBody.developer_key[name]
          account_id: path.account_id
      - text: Add an API key in account {account_id} with redirect URI {redirect_uri} and scopes {scopes}.
        slots:
          account_id: path.account_id
          redirect_uri: requestBody.developer_key[redirect_uri]
          scopes: requestBody.developer_key[scopes]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/developer_keys/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a developer key
      effect: write
      questions:
      - Can I change the redirect URIs or contact email on an existing developer key?
      - Is updating an LTI 1.3 key done through this endpoint?
      instructions:
      - text: Rename developer key {id} to {name}.
        slots:
          id: path.id
          name: requestBody.developer_key[name]
      - text: Update the redirect URIs on developer key {id} to {redirect_uris}.
        slots:
          id: path.id
          redirect_uris: requestBody.developer_key[redirect_uris]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/developer_keys/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a developer key
      effect: destructive
      questions:
      - Can I permanently remove an API developer key we no longer use?
      - Does deleting a key here also remove LTI 1.3 registrations?
      instructions:
      - text: Delete developer key {id}.
        slots:
          id: path.id
      - text: Remove the unused API key {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/developer_keys/{id}/regenerate_secret'].post
  update:
    x-apievangelist-phrasing:
      intent: Rotate a developer key's secret
      effect: destructive
      questions:
      - Can I rotate the client secret on a developer key if it leaked?
      - What happens to apps using the old secret after it's regenerated?
      instructions:
      - text: Regenerate the secret for developer key {id}.
        slots:
          id: path.id
      - text: Rotate the api_key on key {id} and invalidate the old one.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'