Canvas · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Canvas LMS REST Appointment Groups API

9 actions 9 updates phrasing extends openapi/canvas-appointment-groups-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/appointment_groups'].get
$.paths['/v1/appointment_groups'].post
$.paths['/v1/appointment_groups/{id}'].get
$.paths['/v1/appointment_groups/{id}'].put
$.paths['/v1/appointment_groups/{id}'].delete
$.paths['/v1/appointment_groups/{id}/users'].get
$.paths['/v1/appointment_groups/{id}/groups'].get
$.paths['/v1/appointment_groups/next_appointment'].get

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 Appointment Groups API
  version: 1.0.0
extends: openapi/canvas-appointment-groups-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/appointment_groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List appointment groups
      effect: read
      questions:
      - Which office-hours sign-up groups can I reserve or manage?
      - Can I include past appointments when listing appointment groups?
      instructions:
      - text: List appointment groups I can reserve.
      - text: Show appointment groups with scope {scope} for {context_codes}.
        slots:
          scope: query.scope
          context_codes: query.context_codes
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/appointment_groups'].post
  update:
    x-apievangelist-phrasing:
      intent: Create an appointment group
      effect: write
      questions:
      - How do I set up sign-up slots for office hours in a course?
      - Can I cap how many students can book each appointment?
      instructions:
      - text: Create appointment group {title} for {context_codes}.
        slots:
          title: requestBody.appointment_group[title]
          context_codes: requestBody.appointment_group[context_codes]
      - text: Set up {title} sign-ups in {context_codes} with {participants_per_appointment} per slot.
        slots:
          title: requestBody.appointment_group[title]
          context_codes: requestBody.appointment_group[context_codes]
          participants_per_appointment: requestBody.appointment_group[participants_per_appointment]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/appointment_groups/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an appointment group
      effect: read
      questions:
      - How do I see the details and slots of one appointment group?
      - Can I fetch a single sign-up group by id?
      instructions:
      - text: Show appointment group {id}.
        slots:
          id: path.id
      - text: Get appointment group {id} including {include}.
        slots:
          id: path.id
          include: query.include
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/appointment_groups/{id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an appointment group
      effect: write
      questions:
      - Can I change the title or location of an existing sign-up group?
      - How do I publish an appointment group I already created?
      instructions:
      - text: Rename appointment group {id} to {title} in {context_codes}.
        slots:
          id: path.id
          title: requestBody.appointment_group[title]
          context_codes: requestBody.appointment_group[context_codes]
      - text: 'Publish appointment group {id} for {context_codes}: {publish}.'
        slots:
          id: path.id
          context_codes: requestBody.appointment_group[context_codes]
          publish: requestBody.appointment_group[publish]
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/appointment_groups/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete an appointment group
      effect: destructive
      questions:
      - What happens to existing reservations when I delete an appointment group?
      - How do I cancel a whole sign-up group with a reason?
      instructions:
      - text: Delete appointment group {id}.
        slots:
          id: path.id
      - text: Cancel appointment group {id} with reason {cancel_reason}.
        slots:
          id: path.id
          cancel_reason: query.cancel_reason
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/appointment_groups/{id}/users'].get
  update:
    x-apievangelist-phrasing:
      intent: List users in an appointment group
      effect: read
      questions:
      - Which students have signed up for an appointment group?
      - Can I see who hasn't registered for office hours yet?
      instructions:
      - text: List user participants in appointment group {id}.
        slots:
          id: path.id
      - text: Show users in appointment group {id} with status {registration_status}.
        slots:
          id: path.id
          registration_status: query.registration_status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/appointment_groups/{id}/groups'].get
  update:
    x-apievangelist-phrasing:
      intent: List student groups in an appointment group
      effect: read
      questions:
      - Which student groups have booked a group-based appointment slot?
      - Can I list unregistered groups for a sign-up?
      instructions:
      - text: List student group participants in appointment group {id}.
        slots:
          id: path.id
      - text: Show groups in appointment group {id} with status {registration_status}.
        slots:
          id: path.id
          registration_status: query.registration_status
      method: generated
      generated: '2026-10-01'
- target: $.paths['/v1/appointment_groups/next_appointment'].get
  update:
    x-apievangelist-phrasing:
      intent: Find the next open appointment
      effect: read
      questions:
      - What's the next appointment slot I could sign up for?
      - Is there an available future slot in specific appointment groups?
      instructions:
      - text: Find my next available appointment.
      - text: Get the next open slot in appointment groups {appointment_group_ids}.
        slots:
          appointment_group_ids: query.appointment_group_ids
      method: generated
      generated: '2026-10-01'