# 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 Access Tokens API version: 1.0.0 extends: openapi/canvas-access-tokens-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/users/{user_id}/user_generated_tokens'].get update: x-apievangelist-phrasing: intent: List a user's manually generated access tokens effect: read questions: - Which personal access tokens has a Canvas user generated? - Can I see the actual token values when listing a user's tokens? instructions: - text: List the user-generated access tokens for user {user_id}. slots: user_id: path.user_id - text: Show {per_page} manually created tokens for user {user_id}. slots: per_page: query.per_page user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/tokens/{id}'].get update: x-apievangelist-phrasing: intent: Show an access token effect: read questions: - How do I look up one access token using its token hint? - What purpose and expiry does a particular token have? instructions: - text: Show access token {id} for user {user_id}. slots: id: path.id user_id: path.user_id - text: Get the details of token hint {id} belonging to user {user_id}. slots: id: path.id user_id: path.user_id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/tokens/{id}'].put update: x-apievangelist-phrasing: intent: Update or regenerate an access token effect: write questions: - Can I extend an access token's expiration date? - How do I regenerate an expired access token? instructions: - text: Set token {id} for user {user_id} to expire at {expires_at}. slots: id: path.id user_id: path.user_id expires_at: requestBody.token[expires_at] - text: Regenerate token {id} for user {user_id} with new expiry {expires_at}, regenerate {regenerate}. slots: id: path.id user_id: path.user_id expires_at: requestBody.token[expires_at] regenerate: requestBody.token[regenerate] method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/tokens/{id}'].delete update: x-apievangelist-phrasing: intent: Delete an access token effect: destructive questions: - How do I revoke a personal access token? - Can I delete a token by its token hint instead of its id? instructions: - text: Delete access token {id} for user {user_id}. slots: id: path.id user_id: path.user_id - text: Revoke user {user_id}'s token {id}. slots: user_id: path.user_id id: path.id method: generated generated: '2026-10-01' - target: $.paths['/v1/users/{user_id}/tokens'].post update: x-apievangelist-phrasing: intent: Create an access token for a user effect: write questions: - How do I generate a new API access token for a user? - Why is a token I create for another user left pending? instructions: - text: Create an access token for user {user_id} with purpose {purpose}. slots: user_id: path.user_id purpose: requestBody.token[purpose] - text: Generate a token for user {user_id} for {purpose}, expiring {expires_at}, limited to scopes {scopes}. slots: user_id: path.user_id purpose: requestBody.token[purpose] expires_at: requestBody.token[expires_at] scopes: requestBody.token[scopes] method: generated generated: '2026-10-01'