Generated by API Evangelist
Written by API Evangelist tooling for Canva's API. It is a proposal applied on top of the contract, not a document Canva publishes.
# 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'
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.