Create reply

Reply to a comment on a design.

Creates a reply to a comment in a design. To reply to an existing thread of comments, you can use either the id of the parent (original) comment, or the thread_id of a comment in the thread. Each comment can have a maximum of 100 replies created for it.

For information on comments and how they're used in the Canva UI, see the Canva Help Center.

POST https://api.canva.com/rest/v1/comments/{commentId}/replies

This operation is rate limited to 20 requests per minute for each user of your integration.

This endpoint requires a valid access token that acts on behalf of a user. The token must have the following scopes (permissions):

  • comment:write

For more information, see Scopes.

#Authorizationstring
Required

Provides credentials to authenticate the request, in the form of a Bearer token.

For example: Authorization: Bearer {token}

#Content-Typestring
Required

Indicates the media type of the information sent in the request. This must be set to application/json.

For example: Content-Type: application/json

#commentIdstring
Required

The id of the comment.

#attached_toCommentObjectInput
Required

An object containing identifying information for the design or other object you want to attach the comment to.

Properties of attached_to
#typestring
Required

This can be one of the following:

  • design: If the comment is attached to a Canva Design.
#design_idstring
Required

The ID of the design you want to attach this comment to.

#messagestring
Required

The reply comment message. This is the reply comment body shown in the Canva UI.

You can also mention users in your message by specifying their User ID and Team ID using the format [user_id:team_id].

Examples for using the /v1/comments/{commentId}/replies endpoint:

curl --request POST 'https://api.canva.com/rest/v1/comments/{commentId}/replies' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"attached_to": {
"design_id": "DAFVztcvd9z",
"type": "design"
},
"message": "Thanks!"
}'
sh

If successful, the endpoint returns a 200 response with a JSON body with the following parameters:

#commentReplyComment

Data about the reply comment, including the message, author, and the object (such as a design) the comment is attached to.

Properties of comment
#typestring

The type of comment. When creating a reply to a top-level comment, the type is reply.

#idstring

The ID of the comment.

#messagestring

The comment message. This is the comment body shown in the Canva UI. User mentions are shown here in the format [user_id:team_id].

#authorUser

Metadata for the user, consisting of the User ID and display name.

Properties of author
#idstring

The ID of the user.

#display_namestring
Optional

The name of the user as shown in the Canva UI.

#mentionsobject

The Canva users mentioned in the comment.

Properties of mentions
#<KEY>object of TeamUsers

Metadata for the user, consisting of the User ID, Team ID, and display name.

{
"oUnPjZ2k2yuhftbWF7873o:oBpVhLW22VrqtwKgaayRbP": {
"user_id": "oUnPjZ2k2yuhftbWF7873o",
"team_id": "oBpVhLW22VrqtwKgaayRbP",
"display_name": "John Doe"
}
}
json
#user_idstring
Optional

The ID of the user.

#team_idstring
Optional

The ID of the user's Canva Team.

#display_namestring
Optional

The name of the user as shown in the Canva UI.

#thread_idstring

The ID of the comment thread this reply is in. This ID is the same as the id of the parent comment.

#attached_toCommentObject
Optional

Identifying information about the object (such as a design) that the comment is attached to.

Properties of attached_to
#typestring

This can be one of the following:

  • design: If the comment is attached to a Canva Design.
#design_idstring

The ID of the design this comment is attached to.

#created_atinteger
Optional

When the comment or reply was created, as a Unix timestamp (in seconds since the Unix Epoch).

#updated_atinteger
Optional

When the comment or reply was last updated, as a Unix timestamp (in seconds since the Unix Epoch).

{
"comment": {
"type": "reply",
"id": "KeAZEAjijEb",
"attached_to": {
"design_id": "DAFVztcvd9z",
"type": "design"
},
"message": "Thanks!",
"author": {
"id": "uKakKUfI03Fg8k2gZ6OkT",
"display_name": "John Doe"
},
"created_at": 1692929800,
"updated_at": 1692929900,
"mentions": {
"oUnPjZ2k2yuhftbWF7873o:oBpVhLW22VrqtwKgaayRbP": {
"user_id": "oUnPjZ2k2yuhftbWF7873o",
"team_id": "oBpVhLW22VrqtwKgaayRbP",
"display_name": "John Doe"
}
},
"thread_id": "KeAbiEAjZEj"
}
}
json

To get started, generate an access token or provide your own below