Shopify Comments API

The Comments API from Shopify — 8 operation(s) for comments.

Operations 7

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /admin/api/2020-01/comments.json List blog article comments · Shopify Retrieves A List Of Comments #
Ask an LLM
“Which comments are waiting for moderation on my store's blog?”
“Can I pull only the comments left on one blog article?”
Tell an agent
List blog comments with status {status}.
Show the comments on article {article_id} in blog {blog_id}.
GET /admin/api/2020-01/comments/count.json Count blog comments · Shopify Retrieves A Count Of Comments #
Ask an LLM
“How many comments has my blog received in total?”
“Can I count just the unapproved comments on a single article?”
Tell an agent
Count all comments across my blogs.
Count comments on article {article_id} whose status is {status}.
GET /admin/api/2020-01/comments/{comment_id}.json Get a single blog comment · Shopify Retrieves A Single Comment By Its Id #
Ask an LLM
“What exactly did a reader write in one particular blog comment?”
“Can I fetch a single comment and return only certain fields?”
Tell an agent
Show blog comment {comment_id}.
Get only the fields {fields} of comment {comment_id}.
POST /admin/api/2020-01/comments/{comment_id}/spam.json Mark a blog comment as spam · Shopify Marks A Comment As Spam #
Ask an LLM
“What's the way to flag a junk comment on my blog as spam?”
“Can I tag an existing comment as spam so it stops showing on the article?”
Tell an agent
Mark comment {comment_id} as spam.
Flag blog comment {comment_id} as spam.
POST /admin/api/2020-01/comments/{comment_id}/not_spam.json Mark a blog comment as not spam · Shopify Marks A Comment As Not Spam #
Ask an LLM
“A real reader's comment got caught as spam; can I mark it as legitimate?”
“Is there a way to undo a spam flag on a blog comment?”
Tell an agent
Mark comment {comment_id} as not spam.
Clear the spam flag on blog comment {comment_id}.
POST /admin/api/2020-01/comments/{comment_id}/remove.json Remove a blog comment · Shopify Removes A Comment #
Ask an LLM
“Can I take down an inappropriate comment from a blog article?”
“Is a removed blog comment gone for good, or can it come back later?”
Tell an agent destructive · confirm first
Remove comment {comment_id} from the blog.
Take blog comment {comment_id} off the article.
POST /admin/api/2020-01/comments/{comment_id}/restore.json Restore a removed blog comment · Shopify Restores A Previously Removed Comment #
Ask an LLM
“I removed a comment by mistake; can I put it back?”
“What brings a previously removed blog comment back onto the article?”
Tell an agent
Restore removed comment {comment_id}.
Bring blog comment {comment_id} back after it was removed.

Documentation

Specifications

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/shopify-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

shopify-comments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Shopify Comments API
  description: Explore Shopify's API reference and templating documentation. Shopify provides a range of software tools, app templates, example apps, and libraries to accelerate your development process. The Admin API lets you build apps and integrations that extend and enhance the Shopify admin.
  version: 2020-10
tags:
- name: Comments
paths:
  /admin/api/2020-01/comments.json:
    get:
      summary: Shopify Retrieves A List Of Comments
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#index-2020-01
      parameters:
      - in: query
        name: limit
        description: "The maximum number of results to retrieve.\n                  (default: 50, maximum: 250)"
        schema: {}
        required: false
      - in: query
        name: since_id
        description: Restrict results to after the specified ID.
        schema: {}
        required: false
      - in: query
        name: created_at_min
        description: 'Show comments created after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: created_at_max
        description: 'Show comments created before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Show comments last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show comments last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Show comments published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Show comments published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Filter results by their published status.\n                  (default: any)\n                    \n                        published: Show only published comments.\n                        unpublished: Show only unpublished comments.\n                        any: Show comments of any published status."
        schema: {}
        required: false
      - in: query
        name: status
        description: "Filter results by their status.\n                    \n                        pending: Show only pending comments.\n                        published: Show only published comments.\n                        unapproved: Show only unapproved comments."
        schema: {}
        required: false
      - in: query
        name: article_id
        schema:
          type: integer
        description: article_id
        required: false
      - in: query
        name: blog_id
        schema:
          type: integer
        description: blog_id
        required: false
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_comments
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/comments/count.json:
    get:
      summary: Shopify Retrieves A Count Of Comments
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#count-2020-01
      parameters:
      - in: query
        name: created_at_min
        description: 'Count comments created after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: created_at_max
        description: 'Count comments created before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count comments last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count comments last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Count comments published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Count comments published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Retrieve a count of comments with a given published status.\n                  (default: any)\n                    \n                        published: Count only published comments.\n                        unpublished: Count only unpublished comments.\n                        any: Count comments of any published status."
        schema: {}
        required: false
      - in: query
        name: status
        description: "Retrieve a count of comments with a given status.\n                    \n                        pending: Count pending comments.\n                        published: Count published comments.\n                        unapproved: Count unapproved comments."
        schema: {}
        required: false
      - in: query
        name: article_id
        schema:
          type: integer
        description: article_id
        required: false
      - in: query
        name: blog_id
        schema:
          type: integer
        description: blog_id
        required: false
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_comments_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/comments/{comment_id}.json:
    get:
      summary: Shopify Retrieves A Single Comment By Its Id
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#show-2020-01
      parameters:
      - in: path
        name: comment_id
        required: true
        schema:
          type: string
        description: comment_id
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_comments_param_comment_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/comments/{comment_id}/spam.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Mark a comment as spam
      summary: Shopify Marks A Comment As Spam
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#spam-2020-01
      parameters:
      - in: path
        name: comment_id
        required: true
        schema:
          type: string
        description: comment_id
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_comments_param_comment_id_spam
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/comments/{comment_id}/not_spam.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Mark a comment as not spam, restoring it to an unapproved or published state
      summary: Shopify Marks A Comment As Not Spam
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#not_spam-2020-01
      parameters:
      - in: path
        name: comment_id
        required: true
        schema:
          type: string
        description: comment_id
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_comments_param_comment_id_not_spam
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/comments/{comment_id}/remove.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Remove a comment
      summary: Shopify Removes A Comment
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#remove-2020-01
      parameters:
      - in: path
        name: comment_id
        required: true
        schema:
          type: string
        description: comment_id
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_comments_param_comment_id_remove
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/comments/{comment_id}/restore.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Restore a removed comment
      summary: Shopify Restores A Previously Removed Comment
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#restore-2020-01
      parameters:
      - in: path
        name: comment_id
        required: true
        schema:
          type: string
        description: comment_id
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_comments_param_comment_id_restore
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true