Shopify Comments API

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

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

shopify-comments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Shopify Admin REST About Comments API
  description: The Shopify Admin REST API lets you build apps and integrations that extend and enhance the Shopify admin. Access products, customers, orders, inventory, fulfillment, and more. Endpoints are organized by resource type and versioned by release date.
  version: 2025-01
  contact:
    name: Shopify
    url: https://shopify.dev/docs/api/admin-rest
    email: api@shopify.com
  license:
    name: Shopify API Terms
    url: https://www.shopify.com/legal/api-terms
  x-date: '2026-03-04'
servers:
- url: https://{store}.myshopify.com/admin/api/2025-01
  description: Shopify Admin REST API
  variables:
    store:
      default: my-store
      description: The Shopify store subdomain
security:
- AccessToken: []
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
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  comment:
                    body: 'I like comments

                      And I like posting them *RESTfully*.'
                    author: Your name
                    email: your@email.com
                    ip: 107.20.160.121
                    blog_id: 241253187
                    article_id: 134645308
                summary: Create a comment for an article of a blog using basic Textile markup
              example2:
                value:
                  comment:
                    article_id: 134645308
                summary: Creating a comment without a body, author, and email fails and returns an error
      summary: Shopify Creates A Comment For An Article
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#create-2020-01
      parameters: []
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_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
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  comment:
                    id: 118373535
                    body: You can even update through a web service.
                    author: Your new name
                    email: your@updated-email.com
                    published_at: '2020-11-05T00:48:11.132Z'
                summary: Update the body of an existing comment
      summary: Shopify Updates A Comment Of An Article
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#update-2020-01
      parameters:
      - in: path
        name: comment_id
        required: true
        schema:
          type: string
        description: comment_id
      tags:
      - Comments
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_update_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}/approve.json:
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value: {}
                summary: Approve a comment and publish it to the blog
      summary: Shopify Approves A Comment
      description: https://shopify.dev/docs/admin-api/rest/reference/online-store/comment#approve-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_approve
      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
components:
  securitySchemes:
    AccessToken:
      type: apiKey
      name: X-Shopify-Access-Token
      in: header
      description: Access token obtained via OAuth