Skip to content

Connect API Integration SOP

Step-by-step guide for integrating the Canva Connect REST API into your platform.

Prerequisites

  • Canva account with API access enabled
  • Client ID and Client Secret from the developer portal
  • Ability to host a redirect URI (for OAuth)

Step 1: OAuth Setup

  1. Register your application in the Canva developer portal
  2. Configure your redirect URI
  3. Implement the OAuth 2.0 authorization flow:
    • Redirect user to Canva authorization URL
    • Handle the callback with the authorization code
    • Exchange code for access token via /oauth/token
  4. Store refresh tokens securely
  5. Implement token refresh logic

Step 2: Making API Requests

All API requests require:

  • Authorization: Bearer <access_token> header
  • Content-Type: application/json for POST/PUT requests
  • Base URL: https://api.canva.com/rest/v1/

Step 3: Core Integration Flows

Import a Design

  1. Call POST /designs/import with file upload or URL
  2. Poll GET /designs/import/{jobId} until status: "success"
  3. Use the returned design_id for further operations

Export a Design

  1. Call POST /designs/{designId}/export
  2. Poll GET /designs/export/{jobId} until status: "success"
  3. Download from the returned URL (valid for 30 minutes)

Manage Assets

  1. Upload: POST /assets/upload (returns job_id)
  2. Poll: GET /assets/upload/{jobId} for completion
  3. Reference the asset_id in design operations

Step 4: Webhooks (Optional)

  1. Register webhook endpoint in developer portal
  2. Implement signature verification using webhook secret
  3. Handle design.published, export.completed, and other events

Error Handling

StatusMeaningAction
401Token expiredRefresh token and retry
403Insufficient scopeRe-authorize with required scopes
429Rate limitedBack off using Retry-After header
503Service unavailableRetry with exponential backoff

Canva Developer Documentation SOP Site