# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Canva Connect O Auth OAuth API version: 1.0.0 extends: openapi/canva-oauth-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 3 - target: $.paths['/v1/oauth/token'].post update: x-apievangelist-phrasing: intent: Get an access token via OAuth effect: write questions: - How do I exchange an authorization code for an access token? - Can I use a refresh token to get a new access token? - How long does a Canva access token stay valid? instructions: - text: Exchange my authorization code and PKCE verifier for an access token. - text: Refresh my access token using the refresh token I have. method: generated generated: '2026-09-26' - target: $.paths['/v1/oauth/introspect'].post update: x-apievangelist-phrasing: intent: Check whether a token is active effect: read questions: - How do I check if an access token is still valid? - Can I see a token's scopes and expiry time? instructions: - text: Introspect token {token}. slots: token: requestBody.token - text: Check whether token {token} is active using client {client_id}. slots: token: requestBody.token client_id: requestBody.client_id method: generated generated: '2026-09-26' - target: $.paths['/v1/oauth/revoke'].post update: x-apievangelist-phrasing: intent: Revoke an access or refresh token effect: destructive questions: - How do I revoke a user's token when they disconnect my integration? - Does revoking a refresh token also kill the access tokens made from it? instructions: - text: Revoke token {token}. slots: token: requestBody.token - text: Revoke refresh token {token} for client {client_id}. slots: token: requestBody.token client_id: requestBody.client_id method: generated generated: '2026-09-26'