Canva Comments API

Create and manage comments on designs

Operations 2

POST /comments Canva Create a Comment #
POST /comments/{commentId}/replies Canva Create a Reply to a Comment #

Documentation

📖
Documentation
https://www.canva.com/developers/docs/connect-api/
📖
Authentication
https://www.canva.com/developers/docs/connect-api/authentication/
📖
GettingStarted
https://www.canva.com/developers/docs/connect-api/get-started/
📖
APIReference
https://www.canva.com/developers/docs/connect-api/api-reference/
📖
Documentation
https://www.canva.dev/docs/connect/
📖
GettingStarted
https://www.canva.dev/docs/connect/quickstart/
📖
Authentication
https://www.canva.dev/docs/connect/authentication/
📖
Documentation
https://www.canva.dev/docs/connect/webhooks/
📖
RateLimits
https://www.canva.dev/docs/connect/api-requests-responses/
📖
Documentation
https://www.canva.dev/docs/connect/appendix/scopes/
📖
Documentation
https://www.canva.dev/docs/connect/canva-concepts/
📖
Documentation
https://www.canva.dev/docs/connect/autofill-guide/
📖
Documentation
https://www.canva.dev/docs/connect/creating-integrations/
📖
Documentation
https://www.postman.com/canva-developers/canva-developers/collection/oi7dfns/canva-connect-api
📖
APIReference
https://www.canva.dev/docs/connect/api-reference/brand-templates/
📖
APIReference
https://www.canva.dev/docs/connect/api-reference/designs/create-design/
📖
APIReference
https://www.canva.dev/docs/connect/api-reference/resizes/create-design-resize-job/
📖
APIReference
https://www.canva.dev/docs/connect/api-reference/users/users-me/
📖
APIReference
https://www.canva.dev/docs/connect/api-reference/assets/get-asset/
📖
APIReference
https://www.canva.dev/docs/connect/api-reference/folders/get-folder/
📖
APIReference
https://www.canva.dev/docs/connect/api-reference/autofills/create-design-autofill-job/
📖
Documentation
https://www.canva.dev/docs/connect/mcp-server/

Specifications

SDKs

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canva-comments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canva-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Canva Connect Assets Comments API
  description: The Canva Connect API enables developers to integrate Canva's design platform into their applications. It provides programmatic access to create and manage designs, upload and manage assets, organize content in folders, export designs in multiple formats, manage comments, work with brand templates, autofill designs, and resize designs.
  version: 1.0.0
  contact:
    name: Canva Developers
    url: https://www.canva.dev/docs/connect/
    email: developers@canva.com
  license:
    name: Canva Developer Terms
    url: https://www.canva.com/policies/canva-developer-terms/
  termsOfService: https://www.canva.com/policies/terms-of-use/
servers:
- url: https://api.canva.com/rest/v1
  description: Canva Production API
security:
- oauth2: []
tags:
- name: Comments
  description: Create and manage comments on designs
paths:
  /comments:
    post:
      operationId: createComment
      summary: Canva Create a Comment
      description: Creates a new top-level comment on a design. Supports mentioning users using the [user_id:team_id] format in the message text.
      tags:
      - Comments
      security:
      - oauth2:
        - comment:write
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCommentRequest'
            examples:
              CreatecommentRequestExample:
                summary: Default createComment request
                x-microcks-default: true
                value:
                  attached_to:
                    type: design
                    design_id: '500123'
                  message: example_value
                  assignee_id: '500123'
      responses:
        '200':
          description: The created comment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentResponse'
              examples:
                Createcomment200Example:
                  summary: Default createComment 200 response
                  x-microcks-default: true
                  value:
                    comment:
                      type: parent
                      id: abc123
                      message: example_value
                      created_at: '2026-01-15T10:30:00Z'
                      updated_at: '2026-01-15T10:30:00Z'
                      mentions: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /comments/{commentId}/replies:
    post:
      operationId: createReply
      summary: Canva Create a Reply to a Comment
      description: Creates a reply to an existing comment thread on a design.
      tags:
      - Comments
      security:
      - oauth2:
        - comment:write
      parameters:
      - name: commentId
        in: path
        required: true
        description: The parent comment ID
        schema:
          type: string
        example: '500123'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReplyRequest'
            examples:
              CreatereplyRequestExample:
                summary: Default createReply request
                x-microcks-default: true
                value:
                  attached_to:
                    type: design
                    design_id: '500123'
                  message: example_value
      responses:
        '200':
          description: The created reply
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommentResponse'
              examples:
                Createreply200Example:
                  summary: Default createReply 200 response
                  x-microcks-default: true
                  value:
                    comment:
                      type: parent
                      id: abc123
                      message: example_value
                      created_at: '2026-01-15T10:30:00Z'
                      updated_at: '2026-01-15T10:30:00Z'
                      mentions: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    CreateCommentRequest:
      type: object
      description: Request body for creating a comment
      properties:
        attached_to:
          $ref: '#/components/schemas/CommentAttachment'
        message:
          type: string
          description: Comment text (1-2048 characters). Mention users with [user_id:team_id] format.
          minLength: 1
          maxLength: 2048
          example: example_value
        assignee_id:
          type: string
          description: User ID to assign the comment to
          deprecated: true
          example: '500123'
      required:
      - attached_to
      - message
    Comment:
      type: object
      description: A comment on a design
      properties:
        type:
          type: string
          description: The comment type
          enum:
          - parent
          - reply
          example: parent
        id:
          type: string
          description: The comment ID
          example: abc123
        message:
          type: string
          description: The comment text. User mentions use the format [user_id:team_id].
          example: example_value
        author:
          $ref: '#/components/schemas/CommentUser'
        created_at:
          type: integer
          description: Unix timestamp in seconds when the comment was created
          example: '2026-01-15T10:30:00Z'
        updated_at:
          type: integer
          description: Unix timestamp in seconds when the comment was last updated
          example: '2026-01-15T10:30:00Z'
        mentions:
          type: object
          description: Dictionary of mentioned users, keyed by their mention identifier
          additionalProperties:
            $ref: '#/components/schemas/MentionedUser'
          example: example_value
        attached_to:
          $ref: '#/components/schemas/CommentAttachment'
      required:
      - type
      - id
      - message
      - author
      - created_at
      - updated_at
    CommentUser:
      type: object
      description: A user associated with a comment
      properties:
        id:
          type: string
          description: The user ID
          example: abc123
        display_name:
          type: string
          description: The user display name
          deprecated: true
          example: example_value
    CreateReplyRequest:
      type: object
      description: Request body for creating a reply to a comment
      properties:
        attached_to:
          $ref: '#/components/schemas/CommentAttachment'
        message:
          type: string
          description: Reply text (1-2048 characters)
          minLength: 1
          maxLength: 2048
          example: example_value
      required:
      - attached_to
      - message
    CommentResponse:
      type: object
      properties:
        comment:
          $ref: '#/components/schemas/Comment'
      required:
      - comment
    Error:
      type: object
      description: An error response
      properties:
        code:
          type: string
          description: Machine-readable error code
          example: example_value
        message:
          type: string
          description: Human-readable error message
          example: example_value
      required:
      - code
      - message
    MentionedUser:
      type: object
      description: A user mentioned in a comment
      properties:
        user_id:
          type: string
          description: The mentioned user ID
          example: '500123'
        team_id:
          type: string
          description: The mentioned user team ID
          example: '500123'
        display_name:
          type: string
          description: The mentioned user display name
          example: example_value
    CommentAttachment:
      type: object
      description: The object a comment is attached to
      properties:
        type:
          type: string
          description: The attachment type
          enum:
          - design
          example: design
        design_id:
          type: string
          description: The design ID the comment is attached to
          example: '500123'
      required:
      - type
      - design_id
  responses:
    Unauthorized:
      description: Unauthorized - missing or invalid authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request - invalid parameters or request body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    TooManyRequests:
      description: Too many requests - rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not found - the requested resource does not exist
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden - insufficient permissions or scopes
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      description: Canva uses OAuth 2.0 with authorization code flow. Access tokens must be included in the Authorization header as a Bearer token.
      flows:
        authorizationCode:
          authorizationUrl: https://www.canva.com/api/oauth/authorize
          tokenUrl: https://api.canva.com/rest/v1/oauth/token
          scopes:
            design:meta:read: Read design metadata
            design:content:read: Read design content
            design:content:write: Create and modify designs
            asset:read: Read asset metadata
            asset:write: Upload and delete assets
            folder:read: Read folder metadata and contents
            folder:write: Modify folder contents
            comment:read: Read comments on designs
            comment:write: Create and manage comments
            brandtemplate:meta:read: Read brand template metadata
            brandtemplate:content:read: Read brand template content and datasets
externalDocs:
  description: Canva Connect API Documentation
  url: https://www.canva.dev/docs/connect/