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.
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
# 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'
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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/canvas-appointment-groups-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.