About the Comments API

The Comments API allows you to manage a customized commenting program that lets site visitors share feedback or engage in discussions about different types of resources, including blog posts, forum threads, or other site content.

With the Wix Comments API, you can:

  • Allow commenting on any page of your site.
  • Mark specific comments to highlight and feature to your readers.
  • Engage with visitors who aren't site members through guest commenting.

Integrations

The Comments API is fully integrated with several Wix solutions. Each integration uses a slightly different configuration to work with comments.

The following table details the supported integrations:

Wix AppappIdcontextIdresourceId
Wix Blog14bcded7-0066-7c35-14d7-466cb3f09103internalIdinternalId
Wix Comments91c9d6a7-6667-41fb-b0b4-7d3b3ff0b02ecategoryIdcomponentId
Wix Forum14724f35-6794-cd1a-0244-25fd138f9242forumPostIdforumPostId
Wix Groups148c2287-c669-d849-d153-463c7486a694groupIdfeedItemId

Use cases

Terminology

  • Marked comments: When a comment's marked field is set to TRUE, it indicates that the comment has been flagged or marked for special attention. No additional automated behavior or action is taken with the comment. However, you can manually filter for comments marked as such with Query Comments and highlight them to your visitors as needed.
  • Parent comments: Parent comments refer to comments that have subsequent comments directly responding to them. They serve as the original or initial comments in a conversation thread. The parent comment's unique identifier is stored in the parentComment.id field of the corresponding reply comment.
  • Replies: Replies are comments that are made in direct response to earlier comments within a discussion. They are specifically intended as responses to a particular parent comment and contribute to the ongoing conversation. Replies help maintain the hierarchical structure of comment threads and enhance the engagement and interactivity among users.
Did this help?

Sample Flows

This article shares possible use cases your app could support, as well as sample flows. You're certainly not limited to these use cases, but it can be a helpful jumping off point as you plan your app's implementation.

Note: This flow requires Wix Blocks.

Your app can help site owners find the most popular comments left on their site and feature those comments to other site visitors.

To find and highlight the most popular comments:

  1. Use Query Comments to filter and sort comments for the highest replyCount, rating, and reactionSummary.total.
  2. Use Mark Comment for each of the top comments to set marked as TRUE.
  3. Display marked comments in a widget. Widgets can be built using Wix Blocks. Learn more about Wix Blocks and adding widgets.

Provide comment analytics

Your app can gather insights and generate reports about a site's comments.

To get the information follow these steps:

  1. Use Query Comments to retrieve a list of comments based on specified filters.
  2. Analyze the statistical data, such as comment count and engagement rates based on replyCount, reactionSummary.total, and voteSummary.netVoteCount.
  3. Use the comment metrics to generate comprehensive reports on comment activity, user engagement, and popular discussions.
  4. Customize the reporting with segmentation based on available filtering and sorting options.
  5. Visualize parts of the data in an easily understandable format, such as charts and graphs.
  6. Schedule and distribute the reports at regular intervals.
Did this help?

Comments: Supported Filters and Sorting

The following table shows field support for filters and sorting for the comment object:

FieldSupported FiltersSortable
id$eq, $ne, $in
contextId$eq, $ne, $in
resourceId$eq, $ne, $in
parentComment.id$eq, $ne, $in
parentIdsInThread$hasAll, $hasSome, $isEmpty
replyCount$eq, $ne, $gt, $lt, $gte, $lteSortable
status$eq, $ne, $in
voteSummary.netVoteCount$eq, $ne, $gt, $lt, $gte, $lteSortable
rating$eq, $ne, $gt, $lt, $gte, $lteSortable
reactionSummary.total$eq, $ne, $gt, $lt, $gte, $lteSortable
marked$eq, $neSortable
Did this help?

Comment Object


A comment is a user-generated message in response to a specific resource. It allows site visitors to share feedback or engage in discussions around different types of resources, including blog posts, forum threads, or other site content. Comments are composed of text, images, videos, or other forms of media.

Properties
idstringRead-onlyformat GUID

Comment ID.


revisionintegerRead-onlyformat int64

Revision number, which increments by 1 each time the comment is updated.

To prevent conflicting changes, the current revision must be passed when updating the comment.


createdDatestringRead-onlyformat date-time

Date and time the comment was created.

Note: This is the date from the system database, not the actual date when the comment was created. For example, if you migrate comments created in 2016, the createdDate field will show the current year. For the actual creation date, see the commentDate field.


updatedDatestringRead-onlyformat date-time

Date and time the comment was last updated.


appIdstringformat GUID

ID of the app that the comment is added to.


contextIdstringmaxLength 128

ID of the specific context the comment is in response to.

Within some Wix apps, the contextId will be the same as the resourceId. For example in Wix Forum, the forumPostId is used as both the contextId and the resourceId.


resourceIdstringmaxLength 128

ID of the specific resource that the comment is in response to.

Within some Wix apps, the resourceId will be the same as the contextId. For example in Wix Forum, the forumPostId is used as both the resourceId and the contextId.


contentContent

Published comment content.


authorAuthor

Comment's author.


parentCommentParentComment

Parent comment information.

Only present if this comment is in a direct reply to another comment. See Terminology for more information about parent comments.


replyCountintegerRead-only

Number of comments that reply to this comment.


voteSummaryVoteSummaryRead-only

Summary of votes.


statusstringRead-only

Comment status.


ratingintegerRead-onlyformat int32

Comment rating.


reactionSummaryReactionSummaryRead-only

Summary of reactions.


markedboolean

Whether the comment is marked.


commentDatestringformat date-time

Date and time when the comment was actually created.


contentEditedbooleanRead-only

Whether the comment has the updated content.

Comment
JSON
{ "id": "4b533824-97b0-4a8a-8e80-7db9d4203f55", "revision": "2", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Completely agree!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "ca8f1d56-2b0d-11ee-be56-0242ac120002" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false, "commentDate": "2023-05-09T08:25:08.060Z", "contentEdited": false }
Did this help?

POST

Create Comment


Creates a new comment and publishes it.

The appId, contextId, and resourceId are all required and associate the created comment with the specific resource it responds to. See Integrations for a list of integrated scopes for these fields.

If the created comment is a direct response to another comment, the commentId of the parent comment should be passed as parentComment.id in this comment's request. See Terminology for additional information on parent comments and replies.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/comments/v1/comments

Body Params
commentComment

Comment to create.

Response Object
commentComment

Created comment.

Create a Wix Blog post comment

Request
cURL
curl POST https://www.wixapis.com/comments/v1/comments \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ -d '{ "comment": { "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } } } } }'
Response
JSON
{ "comment": { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } }
Errors
428Failed Precondition

There is 1 error with this status code:

See the entire list and learn more about Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

GET

Get Comment


Retrieves a comment.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/comments/v1/comments/{commentId}

Path Params
commentIdstringRequired

ID of the comment to retrieve.

Response Object
commentComment

Retrieved comment.

Get Comment
Request
cURL
curl GET https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67 \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "comment": { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } }
Did this help?

DELETE

Delete Comment


Deletes a comment.

This endpoint deletes the content of the comment and sets its status to DELETED.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Learn more about app permissions.
Endpoint
DELETE
https://www.wixapis.com/comments/v1/comments/{commentId}

Path Params
commentIdstringRequired

ID of the Comment to delete.

Response Object
Returns an empty object.
Delete Comment
Request
cURL
curl DELETE https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67 \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>'
Response
JSON
{}
Event TriggersThis method triggers the following events:
Did this help?

PATCH

Update Comment


Updates a comment.

Each time the comment is updated, revision increments by 1. The current revision must be passed when updating the comment. This ensures you're working with the latest comment and prevents unintended overwrites.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Learn more about app permissions.
Endpoint
PATCH
https://www.wixapis.com/comments/v1/comments/{comment.id}

Path Params
comment.idstringRequired

Comment ID.

Body Params
commentComment

Comment info to update.

Response Object
commentComment

Updated comment.

Update Comment

Update existing comment

Request
cURL
curl PATCH https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67 \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ -d '{ "comment": { "revision": "1", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights! Love it!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } } } } }'
Response
JSON
{ "comment": { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "2", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-19T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights! Love it!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } }
Errors
428Failed Precondition

There is 1 error with this status code:

See the entire list and learn more about Wix errors.

Event TriggersThis method triggers the following events:
Did this help?

POST

Query Comments


Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/comments/v1/comments/query-cursor

Body Params
appIdstringRequiredformat GUID

App ID to query comments for.


queryQueryRequired

Query options.

Response Object
commentsArray <Comment>

Retrieved comments.


pagingMetadataPagingMetadata

Paging metadata.

Query latest Wix Blog post comments written by specific member

Request
cURL
curl GET https://www.wixapis.com/comments/v1/comments/query \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ -d '{ "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "query": { "filter": { "author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "sort": [ { "fieldName": "createdDate", "order": "DESC" } ], "cursorPaging": { "limit": 5 } } }'
Response
JSON
{ "comments": [ { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } ], "pagingMetadata": { "count": 1, "hasNext": false } }
Did this help?

PUT

Mark Comment


Sets marked to TRUE to mark a comment.

You can then filter for marked comments with Query Comments to apply customizations. See Highlight popular comments in a widget for an example.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Learn more about app permissions.
Endpoint
PUT
https://www.wixapis.com/comments/v1/comments/{commentId}/mark

Path Params
commentIdstringRequired

ID of the comment to mark.

Response Object
commentComment

Marked comment.

Mark Comment
Request
cURL
curl PUT https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/mark \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "comment": { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": true } }
Event TriggersThis method triggers the following events:
Did this help?

PUT

Unmark Comment


Sets marked to FALSE to unmark a comment.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Learn more about app permissions.
Endpoint
PUT
https://www.wixapis.com/comments/v1/comments/{commentId}/unmark

Path Params
commentIdstringRequired

ID of the comment to unmark.

Response Object
commentComment

Unmarked comment.

Unmark Comment
Request
cURL
curl PUT https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/unmark \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "comment": { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } }
Event TriggersThis method triggers the following events:
Did this help?

PUT

Hide Comment


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Hides a comment in a widget. The comment status becomes HIDDEN.

Endpoint
PUT
https://www.wixapis.com/comments/v1/comments/{commentId}/hide

Path Params
commentIdstringRequired

ID of the comment to hide.

Response Object
commentComment

Hidden comment.

Hide Comment
Request
cURL
curl PUT https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/hide \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "comment": { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "HIDDEN", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } }
Event TriggersThis method triggers the following events:
Did this help?

PUT

Publish Comment


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Publishes a comment with the HIDDEN status. The comment status becomes PUBLISHED.

To publish a new comment, call Create Comment.

Endpoint
PUT
https://www.wixapis.com/comments/v1/comments/{commentId}/publish

Path Params
commentIdstringRequired

ID of the comment to publish.

Response Object
commentComment

Published comment.

Publish Comment
Request
cURL
curl PUT https://www.wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/publish \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>'
Response
JSON
{ "comment": { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08:25:08.060Z", "updatedDate": "2023-05-18T11:59:38.251Z", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } }
Did this help?

POST

Count Comments


Counts comments, given the specified filtering. The comments with the HIDDEN status are not included in the response.

For field support for filters and sorting, see Comments: Supported Filters and Sorting.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Learn more about app permissions.
Endpoint
POST
https://www.wixapis.com/comments/v1/comments/count

Body Params
appIdstringformat GUID

App ID to count the comments of.


filterstruct

Filter to identify the comments that need to be counted.

Response Object
countinteger

Number of comments.

Count Comments

Count Wix Blog Comments written by specific member

Request
cURL
curl POST https://www.wixapis.com/comments/v1/comments/count \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ -d '{ "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "filter": { "author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" } }'
Response
JSON
{ "count": 8 }
Errors
428Failed Precondition

There is 1 error with this status code:

See the entire list and learn more about Wix errors.

Did this help?

GET

List Comments By Resource


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Lists published comments and replies from a sepcified resource, such as a blog post.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/comments/v1/comments/list-by-resource

Query Params
appIdstringRequired

ID of the app from which the comments are listed.


contextIdstringRequired

ID of the specific context the comment is in response to.

Within some Wix apps, the contextId will be the same as the resourceId. For example in Wix Forum, the forumPostId is used as both the contextId and the resourceId.


contextTypestring

Reserved for internal use.


resourceIdstringRequired

ID of the specific resource that the comment is in response to.

Within some Wix apps, the resourceId will be the same as the contextId. For example in Wix Forum, the forumPostId is used as both the resourceId and the contextId.


commentSort.orderstring

Sort order.


commentSort.keepMarkedInOriginalOrderboolean

If set to true, marked comments appear in the original order, and not at the top of the list.

Default: false. This means that marked comments are prioritized and listed first.


replySort.orderstring

Sort order.


replySort.keepMarkedInOriginalOrderboolean

Whether the marked comments are listed in the orginal order.

If set to true, marked comments appear in the original order, and not at the top of the list.

Default: false. In this case marked comments are prioritized and listed first.


cursorPaging.cursorstring

Pointer to the next or previous page in the list of results.


cursorPaging.limitintegerminimum 1maximum 100format int32

Number of items to return.


cursorPaging.repliesLimitintegerminimum 0maximum 100format int32

Maximum number of replies in a response. Only applicable to parent comments.

Response Object
commentsArray <Comment>

Listed comments.


pagingMetadataPagingMetadata

Paging metadata.


commentRepliesMap <string, RepliesListResponse>format map

Listed comment replies.

Retrieves a list of comments where they're sorted by oldest first, and marked comments are moved to the top of the list. Replies are sorted by newest first. The limit is set to 2 comments and 1 reply for each comment.

Request
cURL
curl GET https://wixapis.com/comments/v1/comments/list-by-resource \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ -d appId=148c2287-c669-d849-d153-463c7486a694 \ -d contextId=6f46dbf6-1a48-4870-86b2-f807d8f31b3e \ -d resourceId=fef60f63-1c88-40e1-bc31-4ac65aa56b03 \ -d commentSort.order=NEWEST_FIRST \ -d replySort.order=OLDEST_FIRST \ -d replySort.keepMarkedInOriginalOrder=true \ -d cursorPaging.limit=2 \ -d cursorPaging.repliesLimit=1
Response
JSON
{ "comments": [ { "id": "4d97c478-4854-4957-9911-8ff29aba35c7", "revision": "1", "createdDate": "2023-05-09T08: 25: 05.014Z", "updatedDate": "2023-05-09T08: 25: 05.014Z", "appId": "148c2287-c669-d849-d153-463c7486a694", "contextId": "6f46dbf6-1a48-4870-86b2-f807d8f31b3e", "resourceId": "fef60f63-1c88-40e1-bc31-4ac65aa56b03", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Interesting 🤯" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 01.014Z", "updatedTimestamp": "2023-05-09T08: 25: 01.014Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false }, { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08: 25: 08.060Z", "updatedDate": "2023-05-18T11: 59: 38.251Z", "appId": "148c2287-c669-d849-d153-463c7486a694", "contextId": "6f46dbf6-1a48-4870-86b2-f807d8f31b3e", "resourceId": "fef60f63-1c88-40e1-bc31-4ac65aa56b03", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 4, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } ], "pagingMetadata": { "count": 2, "cursors": { "next": "8537f74301bdbe97cc040d06ccaded37dd885983.EgoKBm1hcmtlZBABEg0KC2NyZWF0ZWREYXRlIgsKBm1hcmtlZBIBMCInCgtjcmVhdGVkRGF0ZRIYMjAyMy0wNS0wOVQwODoyNTowOC4wNjBa" }, "hasNext": true }, "commentReplies": { "4d97c478-4854-4957-9911-8ff29aba35c7": { "replies": [], "pagingMetadata": { "count": 0, "cursors": {}, "hasNext": false } }, "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67": { "replies": [ { "id": "6521892d-0d48-4bf7-990f-3d1617b03ba7", "revision": "1", "createdDate": "2023-05-18T11: 59: 37.988Z", "updatedDate": "2023-05-18T11: 59: 37.988Z", "appId": "148c2287-c669-d849-d153-463c7486a694", "contextId": "6f46dbf6-1a48-4870-86b2-f807d8f31b3e", "resourceId": "fef60f63-1c88-40e1-bc31-4ac65aa56b03", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Thanks!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-18T11: 59: 31.988Z", "updatedTimestamp": "2023-05-18T11: 59: 31.988Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "visitorId": "6bbaac7c-c838-4865-930b-110b94edca90" }, "parentComment": { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" } }, "parentIdsInThread": ["90616636-cfe2-4f3d-88ce-1c3d8e3eaa67"], "replyCount": 0, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } ], "pagingMetadata": { "count": 1, "cursors": { "next": "bb32e18e7d5ccd280ec74ceef6aa7a2d97e9b119.Eg8KC2NyZWF0ZWREYXRlEAEaJgokOTA2MTY2MzYtY2ZlMi00ZjNkLTg4Y2UtMWMzZDhlM2VhYTY3IicKC2NyZWF0ZWREYXRlEhgyMDIzLTA1LTE4VDExOjU5OjM3Ljk4OFo=" }, "hasNext": true } } } }
Did this help?

GET

Get Comment Thread


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Returns a thread of a comment or a reply.

If you request a comment thread, the endpoint returns a single comment with cursors. With cursors (pagingMetadata.cursors.next or pagingMetadata.cursors.prev) you can load replies by calling the List Comments by Resource endpoint.

If you request a reply thread, the endpoint returns a reply with its parent comment. With cursors (pagingMetadata.cursors.next or pagingMetadata.cursors.prev) you can load replies by calling the List Comments by Resource endpoint.

Authentication

You can only call this method when authenticated as a Wix app or Wix user identity.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Endpoint
GET
https://www.wixapis.com/comments/v1/comments/{commentId}/thread

Path Params
commentIdstringRequired

Comment ID.

Query Params
appIdstringdeprecated

App ID.


commentSort.orderstring

Sort order.


commentSort.keepMarkedInOriginalOrderboolean

If set to true, marked comments appear in the original order, and not at the top of the list.

Default: false. This means that marked comments are prioritized and listed first.


replySort.orderstring

Sort order.


replySort.keepMarkedInOriginalOrderboolean

Whether the marked comments are listed in the orginal order.

If set to true, marked comments appear in the original order, and not at the top of the list.

Default: false. In this case marked comments are prioritized and listed first.

Response Object
commentsArray <Comment>

Retrieved replies.


pagingMetadataPagingMetadata

Paging metadata.


commentRepliesMap <string, RepliesListResponse>format map

Retrieved replies of a reply.

Request
cURL
curl GET 'https://wixapis.com/comments/v1/comments/90616636-cfe2-4f3d-88ce-1c3d8e3eaa67/thread?' \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' \ -d appId=148c2287-c669-d849-d153-463c7486a694 \ -d commentSort.order=NEWEST_FIRST \ -d replySort.order=OLDEST_FIRST \ -d replySort.keepMarkedInOriginalOrder=true
Response
JSON
{ "comments": [ { "id": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67", "revision": "1", "createdDate": "2023-05-09T08: 25: 08.060Z", "updatedDate": "2023-05-18T11: 59: 38.251Z", "appId": "148c2287-c669-d849-d153-463c7486a694", "contextId": "6f46dbf6-1a48-4870-86b2-f807d8f31b3e", "resourceId": "fef60f63-1c88-40e1-bc31-4ac65aa56b03", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08: 25: 02.060Z", "updatedTimestamp": "2023-05-09T08: 25: 02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "attachments": [] }, "author": { "memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "parentIdsInThread": [], "replyCount": 4, "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "status": "PUBLISHED", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "marked": false } ], "pagingMetadata": { "count": 1, "cursors": { "next": "8537f74301bdbe97cc040d06ccaded37dd885983.EgoKBm1hcmtlZBABEg0KC2NyZWF0ZWREYXRlIgsKBm1hcmtlZBIBMCInCgtjcmVhdGVkRGF0ZRIYMjAyMy0wNS0wOVQwODoyNTowOC4wNjBa", "prev": "8402c98e5e3d25dae2dbc5b2e209fe054c12867e.CAESCgoGbWFya2VkEAESDQoLY3JlYXRlZERhdGUiCwoGbWFya2VkEgEwIicKC2NyZWF0ZWREYXRlEhgyMDIzLTA1LTA5VDA4OjI1OjA4LjA2MFo=" }, "hasNext": true }, "commentReplies": { "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67": { "replies": [], "pagingMetadata": { "count": 0, "cursors": {}, "hasNext": false } } } }
Did this help?

POST

Bulk Publish Comment


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Publishes multiple comments with the HIDDEN status. The comment status becomes PUBLISHED.

Endpoint
POST
https://www.wixapis.com/comments/v1/bulk/comments/publish-by-filter

Body Params
appIdstringRequiredformat GUID

ID of the app where to publish the comment.


filterstructRequired

Filter to identify the comments that need to be published. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {"resourceID": "64ad407e0bf87891bba7de3a", "parentComment.id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"}.

Response Object
jobIdstringformat GUID

Job ID.

Pass this ID to Get Async Job to retrieve job details and metadata.

Bulk Publish Comments
Request
cURL
curl POST https://www.wixapis.com/comments-ng/v1/bulk/comments/publish-by-filter \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' -d '{ "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "filter": { "author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" } }
Response
JSON
{ "jobId": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67" }
Did this help?

PUT

Bulk Hide Comment


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Hides multiple comments. The comment status becomes HIDDEN.

Endpoint
PUT
https://www.wixapis.com/comments/v1/bulk/comments/hide-by-filter

Body Params
appIdstringRequiredformat GUID

ID of the app where to hide the comments.


filterstructRequired

Filter to identify the comments that need to be hidden. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {"resourceID": "64ad407e0bf87891bba7de3a", "parentComment.id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"}.

Response Object
jobIdstringformat GUID

Job ID.

Pass this ID to Get Async Job to retrieve job details and metadata.

Bulk Hide Comments
Request
cURL
curl PUT https://www.wixapis.com/comments-ng/v1/bulk/comments/hide-by-filter \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' -d '{ "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "filter": { "author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" } }
Response
JSON
{ "jobId": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67" }
Event TriggersThis method triggers the following events:
Did this help?

PUT

Bulk Delete Comment


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Deletes multiple comments.

Endpoint
PUT
https://www.wixapis.com/comments/v1/bulk/comments/delete-by-filter

Body Params
appIdstringRequiredformat GUID

ID of the app where to delete the comments.


filterstructRequired

Filter to identify the comments that need to be deleted. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {"resourceID": "64ad407e0bf87891bba7de3a", "parentComment.id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"}.

Response Object
jobIdstringformat GUID

Job ID.

Pass this ID to Get Async Job to retrieve job details and metadata.

Bulk Delete Comments
Request
cURL
curl PUT https://www.wixapis.com/comments-ng/v1/bulk/comments/delete-by-filter \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' -d '{ "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "filter": { "author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" } }
Response
JSON
{ "jobId": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67" }
Event TriggersThis method triggers the following events:
Did this help?

PUT

Bulk Move Comment By Filter


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Moves multiple comments to another resource.

Endpoint
PUT
https://www.wixapis.com/comments/v1/bulk/comments/move-by-filter

Body Params
appIdstringRequiredformat GUID

ID of the app from which to move the comments.


filterstructRequired

Filter to identify the comments that need to be moved. Each key corresponds to an option name, and its values correspond to the choices for this option. For example, {"resourceID": "64ad407e0bf87891bba7de3a", "parentComment.id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95"}.


destinationDestination

Where to move the comment.

Response Object
jobIdstringformat GUID

Job ID.

Pass this ID to Get Async Job to retrieve job details and metadata.

Bulk Move Comments By Filter
Request
cURL
curl PUT https://www.wixapis.com/comments-ng/v1/bulk/comments/move-by-filter \ -H 'Content-Type: application/json;charset=UTF-8' \ -H 'Authorization: <AUTH>' -d '{ "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "filter": { "author.memberId": "81b3e2a2-60f4-4016-ab20-c2fda4c4c4f2" }, "destination": { "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a" } }
Response
JSON
{ "jobId": "90616636-cfe2-4f3d-88ce-1c3d8e3eaa67" }
Event TriggersThis method triggers the following events:
Did this help?

Comment Created


Triggered when a comment is created.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected created.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


createdEventCreatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_created", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

CommentCreated
JSON
{ "entityId": "350c5009-8870-4ba6-bb0e-ea703cba0480", "entityEventSequence": "1", "slug": "created", "id": "f6c78ba3-b836-454e-a7f7-f6bf67e37639", "createdEvent": { "entity": { "resourceId": "649a990fef06e10b40990ed1", "author": { "memberId": "7fa15d5e-49c4-44ef-8111-4cb0a04ca4db" }, "replyCount": 0, "marked": false, "revision": "1", "id": "350c5009-8870-4ba6-bb0e-ea703cba0480", "status": "PUBLISHED", "content": { "richContent": { "nodes": [ { "type": "TEXT", "id": "", "nodes": [], "textData": { "text": "Great post! Looking forward to more content like this.", "decorations": [] } } ] }, "mentions": [], "effects": {}, "attachments": [] }, "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "parentIdsInThread": ["350c5009-8870-4ba6-bb0e-ea703cba0480"], "updatedDate": "2023-07-26T12:00:45.038Z", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "contextId": "649a990fef06e10b40990ed1", "createdDate": "2023-07-26T12:00:45.038Z" } }, "entityFqdn": "wix.comments.v2.comment", "eventTime": "2023-07-26T12:00:45.050964Z", "triggeredByAnonymizeRequest": false }
Did this help?

Resource Comment Count Changed


Triggered when the total number of comments has changed in a resource.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected resource_comment_count_changed.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_resource_comment_count_changed", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

ResourceCommentCountChanged
JSON
{ "entityId": "cce9f612-1113-44f4-b865-8efe46747c09", "actionEvent": { "body": { "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "publishedCommentCount": 2 }, "slug": "resource_comment_count_changed", "id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4", "entityFqdn": "wix.comments.v2.comment", "eventTime": "2023-07-26T11:08:27.838533Z", "triggeredByAnonymizeRequest": false } }
Did this help?

Comment Updated


Triggered when a comment is updated.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected updated.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


updatedEventUpdatedEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_updated", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

CommentUpdated
JSON
{ "entityId": "cce9f612-1113-44f4-b865-8efe46747c09", "entityEventSequence": "5", "slug": "updated", "id": "a81020bb-1ee3-47c3-8247-5c5915dc2956", "entityFqdn": "wix.comments.v2.comment", "updatedEvent": { "currentEntity": { "resourceId": "64ad407e0bf87891bba7de3a", "author": { "memberId": "ea3d74df-b7dc-4ca1-a7c9-c416b9017a86" }, "replyCount": 0, "marked": false, "revision": "5", "id": "cce9f612-1113-44f4-b865-8efe46747c09", "status": "PUBLISHED", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "id": "", "nodes": [], "textData": { "text": "Great insights!", "decorations": [] } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08:25:02.060Z", "updatedTimestamp": "2023-05-09T08:25:02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "effects": {}, "attachments": [] }, "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "parentIdsInThread": ["cce9f612-1113-44f4-b865-8efe46747c09"], "updatedDate": "2023-07-26T11:57:20.963Z", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "contextId": "64ad407e0bf87891bba7de3a", "createdDate": "2023-07-19T13:24:27.985Z" } }, "eventTime": "2023-07-26T11:57:20.975819Z", "triggeredByAnonymizeRequest": false }
Did this help?

Comment Content Changed


Triggered when comment content is updated.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected comment_content_changed.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_comment_content_changed", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

CommentContentChanged
JSON
{ "entityId": "cce9f612-1113-44f4-b865-8efe46747c09", "actionEvent": { "body": { "commentId": "14bcded7-0066-7c35-14d7-466cb3f09103", "previousContent": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ] } }, "currentContent": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights! :)" } } ] } ] } } }, "slug": "comment_content_changed", "id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4", "entityFqdn": "wix.comments.v2.comment", "eventTime": "2023-07-26T11:08:27.838533Z", "triggeredByAnonymizeRequest": false } }
Did this help?

Comment Published


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Triggered when a comment is published.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected comment_published.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_comment_published", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

CommentPublished
JSON
{ "entityId": "cce9f612-1113-44f4-b865-8efe46747c09", "actionEvent": { "body": { "comment": { "id": "14bcded7-0066-7c35-14d7-466cb3f09103", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ] } }, "firstPublish": true }, "slug": "comment_published", "id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4", "entityFqdn": "wix.comments.v2.comment", "eventTime": "2023-07-26T11:08:27.838533Z", "triggeredByAnonymizeRequest": false } }
Did this help?

Comment Hidden


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Triggered when a comment is hidden.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected comment_hidden.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_comment_hidden", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

CommentHidden
JSON
{ "entityId": "cce9f612-1113-44f4-b865-8efe46747c09", "actionEvent": { "body": { "comment": { "id": "14bcded7-0066-7c35-14d7-466cb3f09103", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ] } } }, "slug": "comment_hidden", "id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4", "entityFqdn": "wix.comments.v2.comment", "eventTime": "2023-07-26T11:08:27.838533Z", "triggeredByAnonymizeRequest": false } }
Did this help?

Comment Marked


Triggered when a comment is marked.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected comment_marked.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_comment_marked", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

CommentMarked
JSON
{ "entityId": "cce9f612-1113-44f4-b865-8efe46747c09", "actionEvent": { "body": { "comment": { "resourceId": "64ad407e0bf87891bba7de3a", "author": { "memberId": "ea3d74df-b7dc-4ca1-a7c9-c416b9017a86" }, "replyCount": 0, "marked": true, "revision": "4", "id": "cce9f612-1113-44f4-b865-8efe46747c09", "status": "PUBLISHED", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "id": "", "nodes": [], "textData": { "text": "Great insights!", "decorations": [] } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08:25:02.060Z", "updatedTimestamp": "2023-05-09T08:25:02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "effects": {}, "attachments": [] }, "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "parentIdsInThread": ["cce9f612-1113-44f4-b865-8efe46747c09"], "updatedDate": "2023-07-26T11:08:27.813Z", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "contextId": "64ad407e0bf87891bba7de3a", "createdDate": "2023-07-19T13:24:27.985Z" } } }, "slug": "comment_marked", "id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4", "entityFqdn": "wix.comments.v2.comment", "eventTime": "2023-07-26T11:08:27.838533Z", "triggeredByAnonymizeRequest": false }
Did this help?

Comment Unmarked


Triggered when a comment is unmarked.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected comment_unmarked.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_comment_unmarked", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

CommentUnmarked
JSON
{ "entityId": "cce9f612-1113-44f4-b865-8efe46747c09", "actionEvent": { "body": { "comment": { "resourceId": "64ad407e0bf87891bba7de3a", "author": { "memberId": "ea3d74df-b7dc-4ca1-a7c9-c416b9017a86" }, "replyCount": 0, "marked": false, "revision": "5", "id": "cce9f612-1113-44f4-b865-8efe46747c09", "status": "PUBLISHED", "content": { "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "foo", "nodes": [ { "type": "TEXT", "id": "", "nodes": [], "textData": { "text": "Great insights!", "decorations": [] } } ] } ], "metadata": { "version": 1, "createdTimestamp": "2023-05-09T08:25:02.060Z", "updatedTimestamp": "2023-05-09T08:25:02.060Z", "id": "726cb137-a9c3-408b-9cc2-2b64c6be8a95" } }, "mentions": [], "effects": {}, "attachments": [] }, "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "voteSummary": { "netVoteCount": 0, "upvoteCount": 0, "downvoteCount": 0 }, "parentIdsInThread": ["cce9f612-1113-44f4-b865-8efe46747c09"], "updatedDate": "2023-07-26T11:57:20.963Z", "reactionSummary": { "total": 0, "reactionCodeCount": {} }, "contextId": "64ad407e0bf87891bba7de3a", "createdDate": "2023-07-19T13:24:27.985Z" } } }, "slug": "comment_unmarked", "id": "c6c71848-7e38-4843-82e4-bd17bcb491ac", "entityFqdn": "wix.comments.v2.comment", "eventTime": "2023-07-26T11:57:21.030728Z", "triggeredByAnonymizeRequest": false }
Did this help?

Comment Moved


Developer Preview

This API is subject to change. Bug fixes and new features will be released based on developer feedback throughout the preview period.

Triggered when a comment is moved.

Permissions
Manage Comments
Read Comments
Learn more about app permissions.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring

Unique event ID. Allows clients to ignore duplicate webhooks.


entityFqdnstring

Fully qualified domain name of the entity associated with the event. Expected wix.comments.v2.comment.


slugstring

Event name. Expected comment_moved.


entityIdstring

ID of the entity associated with the event.


eventTimestringformat date-time

Event timestamp.


triggeredByAnonymizeRequestboolean

Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).


originatedFromstring

If present, indicates the action that triggered the event.


actionEventActionEvent

Event information.

Event Body

The data payload will include the following as an encoded JWT:

JSON
{ "data": { "eventType": "wix.comments.v2.comment_comment_moved", "instanceId": "<app-instance-id>", "data": "<stringified-JSON>", // The identity field is sent as a stringified JSON "identity": { "identityType": "<identityType>", // ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP "anonymousVisitorId": "<anonymousVisitorId>", // in case of ANONYMOUS_VISITOR "memberId": "<memberId>", // in case of MEMBER "wixUserId": "<wixUserId>", // in case of WIX_USER "appId": "<appId>" // in case of APP } } }

CommentMoved
JSON
{ "entityId": "cce9f612-1113-44f4-b865-8efe46747c09", "actionEvent": { "body": { "comment": { "id": "14bcded7-0066-7c35-14d7-466cb3f09103", "appId": "14bcded7-0066-7c35-14d7-466cb3f09103", "contextId": "64ad407e0bf87891bba7de3a", "resourceId": "64ad407e0bf87891bba7de3a", "richContent": { "nodes": [ { "type": "PARAGRAPH", "id": "", "nodes": [ { "type": "TEXT", "textData": { "text": "Great insights!" } } ] } ] } } }, "slug": "comment_moved", "id": "288c6e1a-7b8f-4095-9b35-29a0c27efeb4", "entityFqdn": "wix.comments.v2.comment", "eventTime": "2023-07-26T11:08:27.838533Z", "triggeredByAnonymizeRequest": false } }
Did this help?