Shopify Reports API

The Reports API from Shopify — 12 operation(s) for reports.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

shopify-reports-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Shopify Admin REST About Reports 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: Reports
paths:
  /admin/api/2020-01/reports.json:
    get:
      summary: Shopify Retrieves A List Of Reports
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#index-2020-01
      parameters:
      - in: query
        name: ids
        description: A comma-separated list of report IDs.
        schema: {}
        required: false
      - in: query
        name: limit
        description: "The amount of results to return.\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: updated_at_min
        description: 'Show reports last updated after date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show reports last updated before date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    name: A new app report
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -1m UNTIL today ORDER BY total_sales
                summary: Create a new report
      summary: Shopify Creates A New Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#create-2020-01
      parameters:
      - in: query
        name: name
        description: 'The name of the report. Maximum length: 255 characters.'
        schema: {}
        required: false
      - in: query
        name: shopify_ql
        description: The ShopifyQL the report will query.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_create_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/reports/{report_id}.json:
    get:
      summary: Shopify Retrieves A Single Report Created By Your App
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#show-2020-01
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    id: 517154478
                    name: Changed Report Name
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -12m UNTIL today ORDER BY total_sales
                summary: Update an existing report
      summary: Shopify Updates A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#update-2020-01
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_update_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#destroy-2020-01
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_delete_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/reports.json:
    get:
      summary: Shopify Retrieves A List Of Reports
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#index-2020-04
      parameters:
      - in: query
        name: ids
        description: A comma-separated list of report IDs.
        schema: {}
        required: false
      - in: query
        name: limit
        description: "The amount of results to return.\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: updated_at_min
        description: 'Show reports last updated after date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show reports last updated before date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_get_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    name: A new app report
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -1m UNTIL today ORDER BY total_sales
                summary: Create a new report
      summary: Shopify Creates A New Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#create-2020-04
      parameters:
      - in: query
        name: name
        description: 'The name of the report. Maximum length: 255 characters.'
        schema: {}
        required: false
      - in: query
        name: shopify_ql
        description: The ShopifyQL the report will query.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_create_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/reports/{report_id}.json:
    get:
      summary: Shopify Retrieves A Single Report Created By Your App
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#show-2020-04
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_get_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    id: 517154478
                    name: Changed Report Name
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -12m UNTIL today ORDER BY total_sales
                summary: Update an existing report
      summary: Shopify Updates A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#update-2020-04
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_update_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#destroy-2020-04
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_delete_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/reports.json:
    get:
      summary: Shopify Retrieves A List Of Reports
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#index-2020-07
      parameters:
      - in: query
        name: ids
        description: A comma-separated list of report IDs.
        schema: {}
        required: false
      - in: query
        name: limit
        description: "The amount of results to return.\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: updated_at_min
        description: 'Show reports last updated after date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show reports last updated before date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_get_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    name: A new app report
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -1m UNTIL today ORDER BY total_sales
                summary: Create a new report
      summary: Shopify Creates A New Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#create-2020-07
      parameters:
      - in: query
        name: name
        description: 'The name of the report. Maximum length: 255 characters.'
        schema: {}
        required: false
      - in: query
        name: shopify_ql
        description: The ShopifyQL the report will query.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_create_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/reports/{report_id}.json:
    get:
      summary: Shopify Retrieves A Single Report Created By Your App
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#show-2020-07
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_get_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    id: 517154478
                    name: Changed Report Name
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -12m UNTIL today ORDER BY total_sales
                summary: Update an existing report
      summary: Shopify Updates A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#update-2020-07
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_update_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#destroy-2020-07
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_delete_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-10/reports.json:
    get:
      summary: Shopify Retrieves A List Of Reports
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#index-2020-10
      parameters:
      - in: query
        name: ids
        description: A comma-separated list of report IDs.
        schema: {}
        required: false
      - in: query
        name: limit
        description: "The amount of results to return.\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: updated_at_min
        description: 'Show reports last updated after date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show reports last updated before date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: get_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    name: A new app report
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -1m UNTIL today ORDER BY total_sales
                summary: Create a new report
      summary: Shopify Creates A New Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#create-2020-10
      parameters:
      - in: query
        name: name
        description: 'The name of the report. Maximum length: 255 characters.'
        schema: {}
        required: false
      - in: query
        name: shopify_ql
        description: The ShopifyQL the report will query.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: create_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-10/reports/{report_id}.json:
    get:
      summary: Shopify Retrieves A Single Report Created By Your App
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#show-2020-10
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: get_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    id: 517154478
                    name: Changed Report Name
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -12m UNTIL today ORDER BY total_sales
                summary: Update an existing report
      summary: Shopify Updates A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#update-2020-10
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: update_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#destroy-2020-10
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: delete_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2021-01/reports.json:
    get:
      summary: Shopify Retrieves A List Of Reports
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#index-2021-01
      parameters:
      - in: query
        name: ids
        description: A comma-separated list of report IDs.
        schema: {}
        required: false
      - in: query
        name: limit
        description: "The amount of results to return.\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: updated_at_min
        description: 'Show reports last updated after date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show reports last updated before date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202101_get_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    name: A new app report
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -1m UNTIL today ORDER BY total_sales
                summary: Create a new report
      summary: Shopify Creates A New Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#create-2021-01
      parameters:
      - in: query
        name: name
        description: 'The name of the report. Maximum length: 255 characters.'
        schema: {}
        required: false
      - in: query
        name: shopify_ql
        description: The ShopifyQL the report will query.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202101_create_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2021-01/reports/{report_id}.json:
    get:
      summary: Shopify Retrieves A Single Report Created By Your App
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#show-2021-01
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202101_get_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    id: 517154478
                    name: Changed Report Name
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -12m UNTIL today ORDER BY total_sales
                summary: Update an existing report
      summary: Shopify Updates A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#update-2021-01
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202101_update_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#destroy-2021-01
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_202101_delete_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/unstable/reports.json:
    get:
      summary: Shopify Retrieves A List Of Reports
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#index-unstable
      parameters:
      - in: query
        name: ids
        description: A comma-separated list of report IDs.
        schema: {}
        required: false
      - in: query
        name: limit
        description: "The amount of results to return.\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: updated_at_min
        description: 'Show reports last updated after date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show reports last updated before date. (format: 2014-04-25T16:15:47-04:00)'
        schema: {}
        required: false
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_unstable_get_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    post:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    name: A new app report
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -1m UNTIL today ORDER BY total_sales
                summary: Create a new report
      summary: Shopify Creates A New Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#create-unstable
      parameters:
      - in: query
        name: name
        description: 'The name of the report. Maximum length: 255 characters.'
        schema: {}
        required: false
      - in: query
        name: shopify_ql
        description: The ShopifyQL the report will query.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_unstable_create_reports
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/unstable/reports/{report_id}.json:
    get:
      summary: Shopify Retrieves A Single Report Created By Your App
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#show-unstable
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      - in: query
        name: fields
        description: A comma-separated list of fields to include in the response.
        schema: {}
        required: false
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_unstable_get_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    put:
      requestBody:
        content:
          application/json:
            schema: {}
            examples:
              example1:
                value:
                  report:
                    id: 517154478
                    name: Changed Report Name
                    shopify_ql: SHOW total_sales BY order_id FROM sales SINCE -12m UNTIL today ORDER BY total_sales
                summary: Update an existing report
      summary: Shopify Updates A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#update-unstable
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_unstable_update_reports_param_report_id
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
    delete:
      summary: Shopify Deletes A Report
      description: https://shopify.dev/docs/admin-api/rest/reference/analytics/report#destroy-unstable
      parameters:
      - in: path
        name: report_id
        required: true
        schema:
          type: string
        description: report_id
      tags:
      - Reports
      responses:
        '200':
          description: ''
      operationId: deprecated_unstable_delete_reports_param_report_id
      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