Canvas · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Canvas LMS REST User Observees API
9 actions
9 updates
phrasing
extends
openapi/canvas-user-observees-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/users/{user_id}/observees'].get
$.paths['/v1/users/{user_id}/observees'].post
$.paths['/v1/users/{user_id}/observers'].get
$.paths['/v1/users/{user_id}/observees/{observee_id}'].get
$.paths['/v1/users/{user_id}/observees/{observee_id}'].put
$.paths['/v1/users/{user_id}/observees/{observee_id}'].delete
$.paths['/v1/users/{user_id}/observers/{observer_id}'].get
$.paths['/v1/users/{user_id}/observer_pairing_codes'].post
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 User Observees API
version: 1.0.0
extends: openapi/canvas-user-observees-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/users/{user_id}/observees'].get
update:
x-apievangelist-phrasing:
intent: List the students a user observes
effect: read
questions:
- Which students is a parent account linked to observe in Canvas?
- Does the observees list include one-off observer enrollments in a single course?
instructions:
- text: List the observees linked to user {user_id}.
slots:
user_id: path.user_id
- text: Show who observer {user_id} is watching, including {include}.
slots:
user_id: path.user_id
include: query.include
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/observees'].post
update:
x-apievangelist-phrasing:
intent: Link an observee using their credentials or pairing code
effect: write
questions:
- How does a parent link to their child's account with a pairing code?
- Can I add an observee by entering the student's login and password?
instructions:
- text: Link observer {user_id} to a student using pairing code {pairing_code}.
slots:
user_id: path.user_id
pairing_code: requestBody.pairing_code
- text: Add an observee to user {user_id} with login {unique_id} and password {password}.
slots:
user_id: path.user_id
unique_id: requestBody.observee[unique_id]
password: requestBody.observee[password]
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/observers'].get
update:
x-apievangelist-phrasing:
intent: List the observers linked to a user
effect: read
questions:
- Which parents or guardians are observing a student?
- Can a student see who is linked as their observer?
instructions:
- text: List the observers linked to user {user_id}.
slots:
user_id: path.user_id
- text: Show everyone observing student {user_id}, including {include}.
slots:
user_id: path.user_id
include: query.include
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/observees/{observee_id}'].get
update:
x-apievangelist-phrasing:
intent: Show one observed user
effect: read
questions:
- How do I get details on a single student I observe?
- Can an observer view one specific observee's profile?
instructions:
- text: Show observee {observee_id} of user {user_id}.
slots:
observee_id: path.observee_id
user_id: path.user_id
- text: Get details for the student {observee_id} that {user_id} observes.
slots:
observee_id: path.observee_id
user_id: path.user_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/observees/{observee_id}'].put
update:
x-apievangelist-phrasing:
intent: Register a user as an observee by id
effect: write
questions:
- As an admin, how do I link an observer to a student by user id without credentials?
- Can I scope a new observer link to one root account?
instructions:
- text: Make user {user_id} an observer of user {observee_id}.
slots:
user_id: path.user_id
observee_id: path.observee_id
- text: Link observer {user_id} to student {observee_id} in root account {root_account_id}.
slots:
user_id: path.user_id
observee_id: path.observee_id
root_account_id: requestBody.root_account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/observees/{observee_id}'].delete
update:
x-apievangelist-phrasing:
intent: Unlink an observee from an observer
effect: destructive
questions:
- How do I stop a parent from observing a student?
- Can I remove an observer link only for one root account?
instructions:
- text: Remove observee {observee_id} from observer {user_id}.
slots:
observee_id: path.observee_id
user_id: path.user_id
- text: Unlink {user_id} from observing {observee_id} in root account {root_account_id}.
slots:
user_id: path.user_id
observee_id: path.observee_id
root_account_id: query.root_account_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/observers/{observer_id}'].get
update:
x-apievangelist-phrasing:
intent: Show one observer of a user
effect: read
questions:
- How do I see details about a specific parent observing my account?
- Can a student look up one of their observers by id?
instructions:
- text: Show observer {observer_id} of user {user_id}.
slots:
observer_id: path.observer_id
user_id: path.user_id
- text: Get details on {observer_id}, who observes student {user_id}.
slots:
observer_id: path.observer_id
user_id: path.user_id
method: generated
generated: '2026-10-01'
- target: $.paths['/v1/users/{user_id}/observer_pairing_codes'].post
update:
x-apievangelist-phrasing:
intent: Generate an observer pairing code for a student
effect: write
questions:
- How does a student generate a code so a parent can link to them?
- Can I create a pairing code for parent self-registration?
instructions:
- text: Create an observer pairing code for student {user_id}.
slots:
user_id: path.user_id
- text: Generate a parent pairing code for user {user_id}.
slots:
user_id: path.user_id
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-user-observees-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.