The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the GraphQL Admin API. For details and migration steps, visit our migration guide.
Comment
content
access scope.A comment is a reader's response to an article in a blog. Comments appear on the article page in reverse chronological order, typically after the article body. Just as a blog can have any number of articles, an article can have any number of comments.

Article comments are a target for spammers, so Shopify blogs use a spam detection system to identify comments that are likely to be spam. Shop owners can also can mark comments as spam or not spam. Comments that are marked as spam are removed from the Shopify admin and don't appear in the blog.
Endpoints
- post/admin/api/latest/comments.
json Creates a comment for an articledeprecated - post/admin/api/latest/comments/{comment_
id}/approve. json Approves a comment - post/admin/api/latest/comments/{comment_
id}/not_ spam. json Marks a comment as not spam - post/admin/api/latest/comments/{comment_
id}/remove. json Removes a comment - post/admin/api/latest/comments/{comment_
id}/restore. json Restores a previously removed commentdeprecated - post/admin/api/latest/comments/{comment_
id}/spam. json Marks a comment as spam - get/admin/api/latest/comments.
json?since_ id=118373535 Retrieves a list of comments - get/admin/api/latest/comments/{comment_
id}. json Retrieves a single comment by its ID - get/admin/api/latest/comments/count.
json?article_ id=134645308&blog_ id=241253187 Retrieves a count of comments - put/admin/api/latest/comments/{comment_
id}. json Updates a comment of an articledeprecated
The Comment resource
Properties
A unique numeric identifier for the article that the comment belongs to.
A unique numeric identifier for the blog containing the article that the comment belongs to.
The basic Textile markup of a comment.
The text of the comment, complete with HTML markup.
The date and time (ISO 8601 format) when the comment was created.
A unique numeric identifier for the comment.
The date and time (ISO 8601 format) when the comment was published.
The status of the comment. Valid values:
Show status properties
- pending: The comment has been created but is awaiting spam detection. Depending on the result of the spam detection and the shop owner's comment preferences, this property will be transitioned to either
spam
,unapproved
, orapproved
. - unapproved (default): The comment is awaiting approval by the shop owner. It's not visible to the readers of the blog.
- published: The comment has been approved (if the blog requires comments to be approved) and is visible to readers of the blog.
- spam: The comment has been marked as spam and removed from the Shopify admin. It's not visible to readers of the blog.
- removed: The comment has been removed by the shop owner. It's not visible to readers of the blog.
The date and time (ISO 8601 format) when the comment was last modified. When the comment is created, this matches the value of created_at
. If the blog requires comments to be approved, then this value is updated to the date and time when the comment is approved.
The user agent string provided by the software used to create the comment (usually a browser).
The Comment resource
Anchor to POST request, Creates a comment for an articlepostCreates a comment for an article deprecated
Creates a comment for an article
Anchor to post-comments-examplesExamples
Create a comment for an article of a blog using basic Textile markup
Create a comment for an article of a blog using basic Textile markup
Show comment properties
The basic Textile markup of a comment.
A unique numeric identifier for the blog containing the article that the comment belongs to.
A unique numeric identifier for the article that the comment belongs to.
/admin/api/2025-07/comments. json
Response
Anchor to POST request, Approves a commentpostApproves a comment
Approves a comment
Approve a comment and publish it to the blog
Approve a comment and publish it to the blog
/admin/api/2025-07/comments/653537639/approve. json
Response
Anchor to POST request, Marks a comment as not spampostMarks a comment as not spam
Marks a comment as not spam
Mark a comment as not spam, restoring it to an unapproved or published state
Mark a comment as not spam, restoring it to an unapproved or published state
/admin/api/2025-07/comments/653537639/not_ spam. json
Response
Anchor to POST request, Removes a commentpostRemoves a comment
Removes a comment
Remove a comment
Remove a comment
/admin/api/2025-07/comments/653537639/remove. json
Response
Anchor to POST request, Restores a previously removed commentpostRestores a previously removed comment deprecated
Restores a previously removed comment
Restore a removed comment
Restore a removed comment
/admin/api/2025-07/comments/653537639/restore. json
Response
Anchor to POST request, Marks a comment as spampostMarks a comment as spam
Marks a comment as spam
Mark a comment as spam
Mark a comment as spam
/admin/api/2025-07/comments/653537639/spam. json
Response
Anchor to GET request, Retrieves a list of commentsgetRetrieves a list of comments
Retrieves a list of comments. Note: This endpoint implements pagination by using links that are provided in the response header. To learn more, refer to Make paginated requests to the REST Admin API.
Show comments created before date (format: 2014-04-25T16:15:47-04:00).
Show comments created after date (format: 2014-04-25T16:15:47-04:00).
Show only certain fields, specified by a comma-separated list of field names.
The maximum number of results to retrieve.
Show comments published before date (format: 2014-04-25T16:15:47-04:00).
Show comments published after date (format: 2014-04-25T16:15:47-04:00).
Filter results by their published status.
Show published_status properties
published: Show only published comments.
unpublished: Show only unpublished comments.
any: Show comments of any published status.
Restrict results to after the specified ID.
Filter results by their status.
Show status properties
pending: Show only pending comments.
published: Show only published comments.
unapproved: Show only unapproved comments.
Show comments last updated before date (format: 2014-04-25T16:15:47-04:00).
Show comments last updated after date (format: 2014-04-25T16:15:47-04:00).
Retrieve all comments for this shop after the specified ID
Retrieve all comments for this shop after the specified ID
Restrict results to after the specified ID.
Retrieve all the comments for a certain article of a blog
Retrieve all the comments for a certain article of a blog
A unique numeric identifier for the article that the comment belongs to.
A unique numeric identifier for the blog containing the article that the comment belongs to.
Retrieve all the comments for all the articles of a blog
Retrieve all the comments for all the articles of a blog
A unique numeric identifier for the blog containing the article that the comment belongs to.
Retrieve all the comments for this shop
Retrieve all the comments for this shop
/admin/api/2025-07/comments. json?since_ id= 118373535
Response
Anchor to GET request, Retrieves a single comment by its IDgetRetrieves a single comment by its ID
Retrieves a single comment by its ID
Show only certain fields, specified by a comma-separated list of field names.
Retrieve a single comment
Retrieve a single comment
/admin/api/2025-07/comments/118373535. json
Response
Anchor to GET request, Retrieves a count of commentsgetRetrieves a count of comments
Retrieves a count of comments
Count comments created before date (format: 2014-04-25T16:15:47-04:00).
Count comments created after date (format: 2014-04-25T16:15:47-04:00).
Count comments published before date (format: 2014-04-25T16:15:47-04:00).
Count comments published after date (format: 2014-04-25T16:15:47-04:00).
Retrieve a count of comments with a given published status.
Show published_status properties
published: Count only published comments.
unpublished: Count only unpublished comments.
any: Count comments of any published status.
Retrieve a count of comments with a given status.
Show status properties
pending: Count pending comments.
published: Count published comments.
unapproved: Count unapproved comments.
Count comments last updated before date (format: 2014-04-25T16:15:47-04:00).
Count comments last updated after date (format: 2014-04-25T16:15:47-04:00).
Count all comments for a certain article of a blog
Count all comments for a certain article of a blog
A unique numeric identifier for the article that the comment belongs to.
A unique numeric identifier for the blog containing the article that the comment belongs to.
Count all the comments for all the articles of a blog
Count all the comments for all the articles of a blog
A unique numeric identifier for the blog containing the article that the comment belongs to.
Count all the comments for this shop
Count all the comments for this shop
/admin/api/2025-07/comments/count. json?article_ id= 134645308&blog_ id= 241253187
Response
Anchor to PUT request, Updates a comment of an articleputUpdates a comment of an article deprecated
Updates a comment of an article
Update the body of an existing comment
Update the body of an existing comment
Show comment properties
A unique numeric identifier for the comment.
The basic Textile markup of a comment.
The date and time (ISO 8601 format) when the comment was published.