Canva App
Live design editing
Use Purrrfect inside Canva to inspect the current page, preview a
safe edit plan, and apply metered changes only after confirmation.
- Frictionless Canva identity
- Usage reservation and finalization
- Prompt-to-plan preview before mutation
Public Web
Agent and billing console
The public domain is no longer just a backend placeholder. Use it
to inspect service state, manage agent usage, and complete OAuth
and payment flows in a browser.
- API health and config visibility
- Pack purchase entry points
- OAuth completion and draft handoff UX
Agent + ChatGPT
Draft handoff workflows
Third-party agents and the ChatGPT app should use Purrrfect’s
agent API to create plans, connect Canva, and return edit URLs for
handoff rather than trying to live-edit an open editor session.
- Scoped credits for `agent_api`
- Canva OAuth account linking
- Draft records with Canva edit URLs
Credit Packs
Checkout entry points
The browser surface is where Lemon Squeezy checkout and purchase
confirmation make sense. Use the cards below to jump into the
scope-specific purchase flow.
OAuth Completion
Browser handoff status
When a Canva OAuth flow finishes, this page updates here and in
the agent console so the user isn’t dropped onto a dead-end
success page.
No OAuth callback detected in this session.
Agent Console
The key stays in your browser’s local storage. Purrrfect does not
mint a new key here yet; create the first key from inside Canva,
then use it here or from ChatGPT.
Enter an API key to load your agent account.
Account
No agent account loaded.
Connected Canva accounts
No connection data loaded.
Draft handoff queue
No draft data loaded.
API Reference
Public and agent endpoints
The domain-hosted UX sits on top of the same backend APIs. These are
the main entry points the browser console and ChatGPT surface use.
GET /api/health
GET /api/public/overview
GET /api/agent/account
GET /api/agent/connections
GET /api/agent/drafts
POST /api/agent/canva/connect
POST /api/agent/payments/checkout
POST /api/agent/plan-edit
POST /api/agent/drafts