{
  "openapi": "3.0.0",
  "info": {
    "description": "API documentation for U-KOMI app\n\n## Rate limiting\n\nRequests exceeding 1 request per second per IP address may be rate limited. Rate-limited requests return `429 Too Many Requests`.\n",
    "version": "1.0.1",
    "title": "U-KOMI API",
    "contact": {
      "email": "info@u-komi.com"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    }
  },
  "servers": [
    {
      "url": "https://api.u-komi.com"
    }
  ],
  "tags": [
    {
      "name": "Authentication",
      "description": "API authentication basics"
    },
    {
      "name": "Account",
      "description": "Retrieve Account basics"
    },
    {
      "name": "Reviews",
      "description": "Retrieve Product Reviews"
    },
    {
      "name": "Products",
      "description": "Create, modify, review product meta data and review prouct summary in the U-KOMI system."
    },
    {
      "name": "Orders",
      "description": "Create, modify and retrieve orders in the U-KOMI system. Orders represents purchases made in the store. U-KOMI uses these orders to help generate more reviews from past shoppers."
    },
    {
      "name": "Groups",
      "description": "Product Grouping allows you to create groups of related products and share reviews between all the products in the same group."
    },
    {
      "name": "Q&A",
      "description": "Retrieve Questions and Answers for a given product using id."
    },
    {
      "name": "Visual Curation",
      "description": "Retrieve visual UGC (Instagram, X/Twitter, TikTok, YouTube, review photos and admin uploads) at album, album-media and gallery level."
    },
    {
      "name": "Store Badges",
      "description": "Retrieve the badges a store publicly displays."
    },
    {
      "name": "FAQ",
      "description": "Retrieve published FAQ content as JSON, e.g. to render FAQs as static HTML."
    }
  ],
  "paths": {
    "/visual_ugc/{API_KEY}/albums": {
      "post": {
        "tags": [
          "Visual Curation"
        ],
        "summary": "Retrieve all albums",
        "operationId": "visualUgcAlbums",
        "description": "Call api to retrieve all visual-curation albums for the account. Scoped to the authenticated account. The access token may also be sent as a Bearer token in the Authorization header.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VisualUgcAlbumsObject"
              }
            }
          },
          "description": "Access token and optional filters / pagination",
          "required": true
        },
        "responses": {
          "200": {
            "description": "List of albums",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VisualUgcAlbumsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Unauthorized Access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/visual_ugc/{API_KEY}/albums/{album_id}/media": {
      "post": {
        "tags": [
          "Visual Curation"
        ],
        "summary": "Retrieve all media in an album",
        "operationId": "visualUgcAlbumMedia",
        "description": "Call api to retrieve all media (Instagram, X/Twitter, TikTok, YouTube, review photos, admin uploads) inside an album, normalized into a single shape. Cursor-paginated and scoped to the authenticated account. The access token may also be sent as a Bearer token in the Authorization header.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "album_id",
            "description": "Encoded album id (the album_id returned by the albums endpoint)",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VisualUgcAlbumMediaObject"
              }
            }
          },
          "description": "Access token and optional filters / sorting / pagination",
          "required": true
        },
        "responses": {
          "200": {
            "description": "List of album media",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VisualUgcAlbumMediaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Album not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Unauthorized Access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/visual_ugc/{API_KEY}/galleries": {
      "post": {
        "tags": [
          "Visual Curation"
        ],
        "summary": "Retrieve all galleries",
        "operationId": "visualUgcGalleries",
        "description": "Call api to retrieve galleries and their linked album. Scoped to the authenticated account. The access token may also be sent as a Bearer token in the Authorization header.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VisualUgcGalleriesObject"
              }
            }
          },
          "description": "Access token and optional pagination",
          "required": true
        },
        "responses": {
          "200": {
            "description": "List of galleries",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VisualUgcGalleriesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Unauthorized Access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/auth/access_token": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Get access token",
        "operationId": "access_token",
        "description": "access_token are used to authenticate and authorize an account. An access_token is required in non-public API calls to ensure private account data is accessible only by authorized users.<br/>\n<h3>Access Token Expiration Policy</h3>\n<ul>\n  <li><strong>Initial Expiry:</strong><br>\n    Each <code>access_token</code> is valid for <strong>14 days</strong> from the date of its creation.\n  </li>\n  <li><strong>Automatic Extension:</strong><br>\n    If the token is <em>actively used within this 14-day period</em>, its expiry will be <strong>automatically extended</strong> by an additional 14 days from the date of the most recent use.\n  </li>\n</ul>\n\n<p><strong>⚠️ Note:</strong> If the token is not used within the initial 14-day window, it will expire and require regeneration.</p>",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "api_key": {
                    "description": "API KEY provided by Vendor",
                    "type": "string"
                  },
                  "api_secret": {
                    "description": "API Secret provided by Vendor",
                    "type": "string"
                  }
                },
                "required": [
                  "api_key",
                  "api_secret"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Access Token to access non-public API calls",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthenticationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key and/or API Secret",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/account/{API_KEY}/view_basic": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "Retrieve account details",
        "operationId": "account_basic",
        "description": "Call api to retrieve account details.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "object",
                "properties": {
                  "access_token": {
                    "description": "ACCESS TOKEN provided by API",
                    "type": "string"
                  }
                },
                "required": [
                  "access_token"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "View account details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountDetailsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Missing API Key and/or API Secret",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reviews/{API_KEY}/view": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve all reviews",
        "operationId": "allreview",
        "description": "Call api for all review and Pass data in given format to get selected review \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "access_token",
            "description": "ACCESS TOKEN provided by API",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_id",
            "description": "Get review after selected id Eg.12345",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "description": "Get review from customer id Eg.cust. Use customers to specify multiple customer ids.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customers",
            "description": "Get reviews from multiple customer ids. Pass an array (customers[]=cust_1&customers[]=cust_2) or a comma-separated string (customers=cust_1,cust_2). Up to 100 customer ids are allowed.\nIf customer_id is also passed, reviews matching any of the given customer ids are returned.\n",
            "in": "query",
            "required": false,
            "schema": {
              "oneOf": [
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "type": "string"
                }
              ]
            },
            "style": "form",
            "explode": true,
            "example": [
              "cust_1",
              "cust_2"
            ]
          },
          {
            "name": "from_date",
            "description": "Get review after selected date Eg.2017-11-03",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_date",
            "description": "Get data updated/created after selected date Eg.2017-11-03",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "description": "Number of reviews to return eg.10",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "description": "Page number to return reviews for eg.2",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "likes",
            "description": "Add likes in result Eg.0/1. 0 is default",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "custom_questions",
            "description": "Add custom questions in result Eg.0/1. 0 is default",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "question_public",
            "description": "Get private/public questions in result Eg.0/1. 1 is default public",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "question_enable",
            "description": "Get disable/enable questions in result Eg.0/1. 1 is default enable",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deleted",
            "description": "Include unpublished reviews Eg.0/1",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "description": "Responses can be sorted by: date/stars/like/sentiment/buyer/picture/response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort_order",
            "description": "Sorting order. Option is asc/desc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stars",
            "description": "Star rating for the product (1 to 5) Eg.5",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stars_sorting",
            "description": "Options are greater/less/equal. Default is equal",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "post_type",
            "description": "Options are email/import/website/line/inline_form. You can use multiple by comma separated. Default is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_type",
            "description": "Options are site/product/all. Default is all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "Product id. Default is all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group",
            "description": "Group status are true/false. Default is false",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_name",
            "description": "Group name. Default is blank",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "description": "Label name. Default is blank. Comma seprated for multiple",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "View all review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewAllReviewResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key / Customer limit exceeded. Max 100 customers are allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Action not found"
          },
          "405": {
            "description": "Product not found. zero product"
          },
          "406": {
            "description": "Review not found. zero review / Invalid param customers. Accepted format is an array of customer ids.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "407": {
            "description": "Product id is not valid"
          },
          "408": {
            "description": "Review id is not valid"
          },
          "409": {
            "description": "Stars rating is not valid"
          },
          "410": {
            "description": "Unauthorized Access"
          },
          "411": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support."
          }
        }
      }
    },
    "/reviews/{API_KEY}/view_basic": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve all reviews",
        "operationId": "view_basic",
        "description": "Call api for all review and Pass data in given format to get selected review \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_id",
            "description": "Get review after selected id Eg.12345",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "description": "Get review after selected date Eg.2017-11-03",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_date",
            "description": "Get data updated/created after selected date Eg.2017-11-03",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "description": "Number of reviews to return eg.10",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "description": "Page number to return reviews for eg.2",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "likes",
            "description": "Add likes in result Eg.0/1. 0 is default",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "custom_questions",
            "description": "Add custom questions in result Eg.0/1. 0 is default",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "description": "Responses can be sorted by: date/stars/like/sentiment/buyer/picture/response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort_order",
            "description": "Sorting order. Option is asc/desc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stars",
            "description": "Star rating for the product (1 to 5) Eg.5",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stars_sorting",
            "description": "Options are greater/less/equal. Default is equal",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "post_type",
            "description": "Options are email/import/website/line/inline_form. You can use multiple by comma separated. Default is null",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_type",
            "description": "Options are site/product/all. Default is all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "Product id. Default is all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group",
            "description": "Group status are true/false. Default is false",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_name",
            "description": "Group name. Default is blank",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "description": "Label name. Default is blank. Comma seprated for multiple",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "View all review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewOnlyReviewsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Action not found"
          },
          "405": {
            "description": "Product not found. zero product"
          },
          "406": {
            "description": "Review not found. zero review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "407": {
            "description": "Product id is not valid"
          },
          "408": {
            "description": "Review id is not valid"
          },
          "409": {
            "description": "Stars rating is not valid"
          },
          "410": {
            "description": "Unauthorized Access"
          },
          "411": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support."
          }
        }
      }
    },
    "/reviews/{API_KEY}/review_with_orders": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve all reviews with orders",
        "operationId": "all-reviews-with-order",
        "description": "Call api for all review and Pass data in given format to get selected review with orders \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewReviewObject"
              }
            }
          },
          "description": "Review param to fetch review according to it form the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "View all review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewAllReviewWithOrderResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Action not found"
          },
          "405": {
            "description": "Product not found. zero product"
          },
          "406": {
            "description": "Review not found. zero review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "407": {
            "description": "Product id is not valid"
          },
          "408": {
            "description": "Review id is not valid"
          },
          "409": {
            "description": "Stars rating is not valid"
          }
        }
      }
    },
    "/reviews/{API_KEY}/groups_review_summary": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve review summary for given groups",
        "operationId": "groups-review-summary",
        "description": "Call api to retrieve review summary for group(s) with filter \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupReviewSummaryParam"
              }
            }
          },
          "description": "Groups param to fetch review summary form the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Review summary for groups",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewSummaryResponse"
                }
              }
            }
          },
          "403": {
            "description": "Groups limit exceeded. With filter merge 0, max 1000 groups are allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reviews/{API_KEY}/customers_review_summary": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve review summary for given customer id",
        "operationId": "customers-review-summary",
        "description": "Call api to retrieve review summary for customer(s) with filter \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerReviewSummaryParam"
              }
            }
          },
          "description": "Customer ids param to fetch review summary form the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Review summary for Customers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomerReviewSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Customer id limit exceeded. With filter merge 0, max 1000 customers are allowed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/reviews/{API_KEY}/{review_type}/filtered_review_summary": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve filtered review summary",
        "operationId": "filtered_review_summary",
        "description": "Call api with filter by passing API Key and review type you can receive filtered review summary\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_type",
            "description": "Review type (site/product/all)",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FilterForReviewSummaryParam"
              }
            }
          },
          "description": "Filter param to fetch review summary form the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "View all review summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewSummaryResponse"
                }
              }
            }
          },
          "406": {
            "description": "No reviews found."
          },
          "410": {
            "description": "Review type specified not found."
          }
        }
      }
    },
    "/reviews/{API_KEY}/{review_type}/review_summary": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve review summary",
        "operationId": "review_by_review_type",
        "description": "By passing API Key and review type you can receive review summary\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_type",
            "description": "Review type (site/product/all)",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "Product id. Default is all",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group",
            "description": "Group status are true/false. Default is false",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_name",
            "description": "Group name. Default is blank",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ai_summary",
            "description": "Include AI-generated summary in the response. Options are 0/1. Default is 0 (exclude summary).",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q_n_a_summary",
            "description": "Include Q&A summary in the response. Options are 0/1. Default is 0 (exclude summary).",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rating_breakdown",
            "description": "Include rating breakdown in the response. Options are 0/1. Default is 0 (exclude breakdown).",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "View all review summary",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewSummaryResponse"
                }
              }
            }
          },
          "406": {
            "description": "No reviews found."
          },
          "410": {
            "description": "Review type specified not found."
          }
        }
      }
    },
    "/reviews/{API_KEY}/{review_id}/review": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve selected review",
        "operationId": "review_by_id",
        "description": "Call api with review id to get selected review\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "access_token",
            "description": "ACCESS TOKEN provided by API",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_id",
            "description": "Review id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deleted",
            "description": "Include unpublished reviews Eg.0/1. Each entry of review_images_with_status is {\"url\": ..., \"deleted\": 0|1}; deleted=1 also returns unpublished photos/videos there.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "View all review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewReviewResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Action not found"
          },
          "405": {
            "description": "Product not found. zero product"
          },
          "406": {
            "description": "Review not found. zero review"
          },
          "410": {
            "description": "Unauthorized Access"
          },
          "411": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support."
          }
        }
      }
    },
    "/reviews/{API_KEY}/{product_id}/product": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve reviews of selected products",
        "operationId": "product/review",
        "description": "Call api get selected product's reviews \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "access_token",
            "description": "ACCESS TOKEN provided by API",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "ID of the product to retrieve reviews",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "description": "Number of reviews to return eg.10",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "description": "Page number to return reviews for eg.2",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "description": "Responses can be sorted by: date/stars/like/sentiment/buyer/picture/response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort_order",
            "description": "Sorting order. Option is asc/desc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stars",
            "description": "Star rating for the product (1 to 5) Eg.5",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stars_sorting",
            "description": "Options are greater/less/equal. Default is equal",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customer_id",
            "description": "Filter reviews by customer ID.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "View all review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewAllProductReviewResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Action not found"
          },
          "405": {
            "description": "Product not found. zero product"
          },
          "406": {
            "description": "Review not found. zero review"
          },
          "407": {
            "description": "Product id is not valid"
          },
          "409": {
            "description": "Stars rating is not valid"
          },
          "410": {
            "description": "Unauthorized Access"
          },
          "411": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support."
          }
        }
      }
    },
    "/inline_review_form_token/{API_KEY}/get": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Get inline review form token from U-KOMI system",
        "operationId": "inline-review-form-token",
        "description": "Pass order_ids and product_ids in given format to get verification token\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InlineReviewFormTokenRequest"
              }
            }
          },
          "description": "Order ID and Product ID that needs to be get verification token from the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "All/at least one verification toke received from given data.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InlineReviewFormTokenResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No order data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Invalid Order data passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/products/{API_KEY}/view": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Retrieve Products",
        "operationId": "products/retrieve",
        "description": "Just call api with out passing any data and actions\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewProductObject"
              }
            }
          },
          "description": "Product param to fetch product according to it form the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "View all products",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewProductResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized Access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "No record found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Passed param from_date or updated_date is invalid. Accepted format is Y-m-d.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "408": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/products/{API_KEY}/view_basic": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Retrieve Products",
        "operationId": "products/retrieve/basic",
        "description": "Just call api with out passing any data and actions\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewBasicProductObject"
              }
            }
          },
          "description": "Product param to fetch product according to it form the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "View all products",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewProductBasicResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized Access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "No record found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Passed param from_date or updated_date is invalid. Accepted format is Y-m-d.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "408": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/products/{API_KEY}/product": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Retrieve product details by product ID",
        "operationId": "products/retrieve/single",
        "description": "Pass a single product_id or a comma-separated list of product_ids to fetch product details.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RetrieveProductObject"
              }
            }
          },
          "description": "Product retrieval parameters (access_token and product_id)",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Retrieve product details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveProductResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized Access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Product ID not specified or Invalid Product ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "408": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "429": {
            "description": "Too many requests. Please try again later.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/products/{API_KEY}/create": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Create product in U-KOMI system",
        "operationId": "products/create",
        "description": "Pass product data in given format to create product\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProducts"
              }
            }
          },
          "description": "Products object that needs to be added to the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create Product Status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateProductResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No product data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Invalid product data passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/products/{API_KEY}/{product_id}/{group_status}/review_summary": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "get product review summary",
        "operationId": "review_summary",
        "description": "By passing API Key and product id you can receive product review summary which can be used for Rich Snippets\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "path",
            "description": "ID of the product to retrieve reviews",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "group_status",
            "in": "path",
            "description": "If product is belong to group and you want to get whole group data eg.true/false",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Review Summary for Given Product ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewSummaryResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Invalid Product ID or Product ID not specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/products/{API_KEY}/{product_id}/{review_code}/review_meta": {
      "get": {
        "tags": [
          "Products"
        ],
        "summary": "get review title and description in og:title and og:description meta tags for given review_code and product_id",
        "operationId": "review_meta",
        "description": "By passing API Key, product id and review_code you can receive product review in meta tags.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "in": "path",
            "description": "ID of the product to retrieve reviews",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "name": "review_code",
            "in": "path",
            "description": "review_code from Review URL",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Review Meta for Given Product ID and Review Code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewMetaResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Invalid Product ID or Product ID not specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Invalid Review Code",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/blacklist_products/{API_KEY}/view": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Retrieve Blacklisted Products",
        "operationId": "blacklisted_products/retrieve",
        "description": "Just call api with out passing any data and actions\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewBlacklistProductObject"
              }
            }
          },
          "description": "Product param to fetch product according to it form the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "View all blacklisted products",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewBlacklistProductResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized Access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "No record found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Invalid product id passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "407": {
            "description": "Wrong action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/blacklist_products/{API_KEY}/create": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Add blacklist product in U-KOMI system",
        "operationId": "blacklisted_products/create",
        "description": "Pass product id in given format to add blacklisted product\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBlacklistProducts"
              }
            }
          },
          "description": "Product ids that needs to be added to the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create Blacklist Product Status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBlacklistProductResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No product data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Invalid product data passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/blacklist_products/{API_KEY}/delete": {
      "post": {
        "tags": [
          "Products"
        ],
        "summary": "Delete blacklist product in U-KOMI system",
        "operationId": "blacklisted_products/delete",
        "description": "Pass product id in given format to delete blacklisted product\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBlacklistProducts"
              }
            }
          },
          "description": "Blacklist product ids that needs to be delete to the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Delete Product Status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBlacklistProductResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No product data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Invalid product data passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{API_KEY}/": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Retrieve Orders",
        "operationId": "order/retrieve",
        "description": "Just call api with out passing any data and actions\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewOrderObject"
              }
            }
          },
          "description": "Order param to fetch order according to it form the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "View all Orders",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewOrderResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{API_KEY}/create": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Create order in U-KOMI system",
        "operationId": "orders/create",
        "description": "Pass order data in given format to create order\n\nOrders that already exist in U-KOMI are skipped, and so are their products.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrder"
              }
            }
          },
          "description": "Order object that needs to be added to the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create Order Status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateOrderResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No order data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Invalid Order data passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{API_KEY}/cancel": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Cancel order in U-KOMI system",
        "operationId": "orders/cancel",
        "description": "This call stops U-KOMI sending out mails after order for the specific order and product.\n\t\t\t\tIf you don't specify which product in the order then MAPS are not sent for all products in that order.",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CancelOrderObject"
              }
            }
          },
          "description": "Cancel Order object containing order_id and product_ids that needs to be cancelled U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Cancel Order Status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CancelOrderResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No order data received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Invalid Order data passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/groups/{API_KEY}/": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Retrieve all groups of account",
        "operationId": "retrieve",
        "description": "Just call api with out passing any data and actions\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewAllGroupObject"
              }
            }
          },
          "description": "Group object that needs to be added to the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "View all groups",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewAllGroupResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Passed param from_date or updated_date is invalid. Accepted format is Y-m-d.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/groups/{API_KEY}/create": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Create group in U-KOMI system",
        "operationId": "groups/create",
        "description": "Pass group data in given format to create group\t\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatGroupObject"
              }
            }
          },
          "description": "Group name that needs to be added to the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Create group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreatGroupResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No group name received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Group name is already exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/groups/{API_KEY}/products": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Add/ Remove Products form groups in U-KOMI system",
        "operationId": "manage/product",
        "description": "Pass order data in given format to add/remove product\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductGroupsObject"
              }
            }
          },
          "description": "Product id that needs to be added/remove to groups base on action in the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Add/remove product",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProductGroupsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Invalid Group Name passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Group Name does not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "407": {
            "description": "Invalid action for product",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/groups/{API_KEY}/view": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Retrieve products for specific group",
        "operationId": "group/view",
        "description": "By passing group name you can retrieve product list to that group\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ViewGroupsObject"
              }
            }
          },
          "description": "By passing group name you can retrieve product list to that group",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Get all products belong to passed group name",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewGroupsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Invalid Group Name passed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Group Name does not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "407": {
            "description": "Group done not contains any products",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/groups/{API_KEY}/delete": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Delete a group",
        "operationId": "groups/delete",
        "description": "Pass group data in given format to delete group\t\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteGroupObject"
              }
            }
          },
          "description": "Group name that needs to be deleted to the U-KOMI system",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Delete group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteGroupResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No group name received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Group name does not exist",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "407": {
            "description": "Group contains products",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/questions/{API_KEY}": {
      "get": {
        "tags": [
          "Q&A"
        ],
        "summary": "Retrieve all Question and Answer",
        "operationId": "allquestion",
        "description": "Call api to get all question and answer \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "access_token",
            "description": "ACCESS TOKEN provided by API",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "grab_all",
            "description": "Get all questions.  Options: 1/0. Include Bazora: 1, otherwise No. The default is 0.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "description": "Get questions after selected date Eg.2017-11-03",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_date",
            "description": "Get questions updated/created after selected date Eg.2017-11-03",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "description": "Number of questions to return eg.10",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "description": "Page number to return questions for eg.2",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "description": "Label name. Default is blank. Comma seprated for multiple",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "published",
            "description": "Get published/unpublished questions.  eg.0 for unpublished, 1 for published, all. Default value is all ",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "View all review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewAllQuestionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Questions and answer is not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "407": {
            "description": "Wrong action specified"
          },
          "408": {
            "description": "Something wrong with account configuration"
          },
          "410": {
            "description": "Unauthorized Access"
          },
          "411": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support."
          }
        }
      }
    },
    "/questions/{API_KEY}/{product_id}": {
      "get": {
        "tags": [
          "Q&A"
        ],
        "summary": "Retrieve selected question base on product id",
        "operationId": "questions",
        "description": "Call api to get all question of selected product id \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "access_token",
            "description": "ACCESS TOKEN provided by API",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "ID of the product to retrieve reviews",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "View all question and answer for selected products",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewQuestionResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Product ID not specified"
          },
          "405": {
            "description": "Product id is not valid"
          },
          "406": {
            "description": "Questions and answer is not found for this product"
          },
          "407": {
            "description": "Wrong action specified"
          },
          "408": {
            "description": "Something wrong with account configuration"
          },
          "410": {
            "description": "Unauthorized Access"
          },
          "411": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support."
          }
        }
      }
    },
    "/questions/{API_KEY}/{product_id}/count": {
      "get": {
        "tags": [
          "Q&A"
        ],
        "summary": "Retrieve question count base on product id",
        "operationId": "questions_count",
        "description": "Call api to get question count of selected product id \n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "ID of the product to retrieve reviews",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "View all question and answer for selected products",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewQuestionCountResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid/Expired Access Token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Product ID not specified"
          },
          "405": {
            "description": "Product id is not valid"
          },
          "407": {
            "description": "Wrong action specified"
          },
          "408": {
            "description": "Something wrong with account configuration"
          }
        }
      }
    },
    "/reviews/{API_KEY}/{review_id}/review_basic": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve selected review (basic)",
        "operationId": "review_by_id_basic",
        "description": "Retrieve a single review by its id. The basic response omits reviewer personal information such as name and email.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_id",
            "description": "Review id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Selected review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewReviewBasicResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Review not found"
          },
          "408": {
            "description": "Review id is not valid"
          }
        }
      }
    },
    "/reviews/{API_KEY}/{product_id}/product_basic": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve reviews of selected product (basic)",
        "operationId": "product_review_basic",
        "description": "Retrieve the reviews of a product. The basic response omits reviewer personal information such as name and email.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "ID of the product to retrieve reviews",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "description": "Number of reviews to return eg.10",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "description": "Page number to return reviews for eg.2",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "description": "Responses can be sorted by: date/stars/like/sentiment/buyer/picture/response",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort_order",
            "description": "Sorting order. Option is asc/desc",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stars",
            "description": "Star rating for the product (1 to 5) Eg.5",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stars_sorting",
            "description": "Options are greater/less/equal. Default is equal",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Product reviews",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewAllProductReviewBasicResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Product not found"
          },
          "406": {
            "description": "Review not found"
          },
          "407": {
            "description": "Product id is not valid"
          },
          "409": {
            "description": "Stars rating is not valid"
          }
        }
      }
    },
    "/reviews/{API_KEY}/review_with_orders_basic": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve reviews with order details (basic)",
        "operationId": "review_with_orders_basic",
        "description": "Retrieve reviews together with their related order details. The basic response omits reviewer and buyer personal information such as name and email.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewWithOrdersBasicObject"
              }
            }
          },
          "description": "Optional filters for the reviews to return"
        },
        "responses": {
          "200": {
            "description": "Reviews with order details",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewWithOrdersBasicResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Review not found, or a passed date is invalid. Accepted format is Y-m-d."
          },
          "409": {
            "description": "Stars rating is not valid"
          }
        }
      }
    },
    "/reviews/{API_KEY}/{review_id}/like": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Like or dislike a review",
        "operationId": "review_like",
        "description": "Record a like or a dislike for a review. Dislikes are only accepted when dislikes are enabled for your account.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_id",
            "description": "Review id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewLikeObject"
              }
            }
          },
          "description": "Vote details"
        },
        "responses": {
          "200": {
            "description": "Updated like state for the review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewLikeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Dislikes are not enabled for this account"
          },
          "404": {
            "description": "Review not found"
          },
          "429": {
            "description": "Too many requests. Please try again shortly."
          }
        }
      }
    },
    "/reviews/{API_KEY}/{review_id}/likes": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve like count for a review",
        "operationId": "review_likes",
        "description": "Retrieve the like (and dislike) count for a review. Pass user_identifier to also receive that user's current vote.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_id",
            "description": "Review id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_identifier",
            "description": "Optional identifier of the current user, to return that user's vote",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Like state for the review",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewLikeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Review not found"
          }
        }
      }
    },
    "/reviews/{API_KEY}/likes": {
      "get": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve like counts for multiple reviews",
        "operationId": "reviews_likes_batch",
        "description": "Retrieve the like (and dislike) counts for several reviews at once. Pass review_ids as a comma separated list (up to 100).\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "review_ids",
            "description": "Comma separated list of review ids (up to 100) eg.abc123,def456",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_identifier",
            "description": "Optional identifier of the current user, to return that user's vote",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Like states for the requested reviews",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewLikesListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid review_ids",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/questions/{API_KEY}/all_questions_basic": {
      "get": {
        "tags": [
          "Q&A"
        ],
        "summary": "Retrieve all questions and answers (basic)",
        "operationId": "all_questions_basic",
        "description": "Retrieve all questions and answers. The basic response omits the questioner's email.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "grab_all",
            "description": "Get all questions.  Options: 1/0. Include community questions: 1, otherwise No. The default is 0.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from_date",
            "description": "Get questions after selected date Eg.2017-11-03",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "updated_date",
            "description": "Get questions updated/created after selected date Eg.2017-11-03",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "count",
            "description": "Number of questions to return eg.10",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "description": "Page number to return questions for eg.2",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "label",
            "description": "Label name. Default is blank. Comma seprated for multiple",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "published",
            "description": "Get published/unpublished questions.  eg.0 for unpublished, 1 for published, all. Default value is all ",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "All questions and answers",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewAllQuestionBasicResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Questions and answer is not found, or a passed date is invalid. Accepted format is Y-m-d."
          }
        }
      }
    },
    "/questions/{API_KEY}/{product_id}/questions_basic": {
      "get": {
        "tags": [
          "Q&A"
        ],
        "summary": "Retrieve questions of a product (basic)",
        "operationId": "product_questions_basic",
        "description": "Retrieve the questions and answers of a product. The basic response omits the questioner's email.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "product_id",
            "description": "ID of the product to retrieve questions",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Questions and answers for the product",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ViewQuestionBasicResponse"
                }
              }
            }
          },
          "403": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Product ID not specified"
          },
          "405": {
            "description": "Product id is not valid"
          },
          "406": {
            "description": "Questions and answer is not found for this product"
          }
        }
      }
    },
    "/questions/{API_KEY}/{question_id}/like": {
      "post": {
        "tags": [
          "Q&A"
        ],
        "summary": "Like or dislike a question",
        "operationId": "question_like",
        "description": "Record a like or a dislike for a question. Dislikes are only accepted when dislikes are enabled for your account.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "question_id",
            "description": "Question id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuestionLikeObject"
              }
            }
          },
          "description": "Vote details"
        },
        "responses": {
          "200": {
            "description": "Updated like state for the question",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionLikeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Dislikes are not enabled for this account"
          },
          "404": {
            "description": "Question not found"
          },
          "429": {
            "description": "Too many requests. Please try again shortly."
          }
        }
      }
    },
    "/questions/{API_KEY}/{question_id}/likes": {
      "get": {
        "tags": [
          "Q&A"
        ],
        "summary": "Retrieve like count for a question",
        "operationId": "question_likes",
        "description": "Retrieve the like (and dislike) count for a question. Pass user_identifier to also receive that user's current vote.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "question_id",
            "description": "Question id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_identifier",
            "description": "Optional identifier of the current user, to return that user's vote",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Like state for the question",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionLikeResponse"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "404": {
            "description": "Question not found"
          }
        }
      }
    },
    "/questions/{API_KEY}/likes": {
      "get": {
        "tags": [
          "Q&A"
        ],
        "summary": "Retrieve like counts for multiple questions",
        "operationId": "questions_likes_batch",
        "description": "Retrieve the like (and dislike) counts for several questions at once. Pass question_ids as a comma separated list (up to 100).\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "question_ids",
            "description": "Comma separated list of question ids (up to 100) eg.q1,q2,q3",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "user_identifier",
            "description": "Optional identifier of the current user, to return that user's vote",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Like states for the requested questions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuestionLikesListResponse"
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid question_ids",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{API_KEY}/review_form_fields": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Retrieve review form fields",
        "operationId": "review_form_fields",
        "description": "Retrieve the fields and labels needed to render a review form for a product.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewFormFieldsObject"
              }
            }
          },
          "description": "Product to build the form for",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Review form configuration and fields",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewFormFieldsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Missing API Key or product_id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/{API_KEY}/review_submit": {
      "post": {
        "tags": [
          "Reviews"
        ],
        "summary": "Submit a review",
        "operationId": "review_submit",
        "description": "Submit a review. A verification email is sent to confirm the review.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReviewSubmitObject"
              }
            }
          },
          "description": "Review to submit",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Review received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewSubmitResponse"
                }
              }
            }
          },
          "400": {
            "description": "Missing API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "409": {
            "description": "A review submission for this order was already received today"
          },
          "422": {
            "description": "One or more fields are invalid",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReviewSubmitFieldErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/orders/{API_KEY}/customer_order": {
      "post": {
        "tags": [
          "Orders"
        ],
        "summary": "Retrieve a customer's orders",
        "operationId": "customer_order",
        "description": "Retrieve a customer's orders along with their products and, where a review is still pending, a review token. Identify the customer by customer_id or email; if both are passed, customer_id is used.\n\nEach product line also returns is_review_submitted, is_cancelled and reviewed_at.\n\nBulk mode: send customer_ids (up to 50) to get the orders of several customers in one call. The response then has customers instead of orders, limit applies per customer and page is not used.\n\nSend order_ids (up to 100) to return only those orders of the customer; limit and page are then ignored.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerOrderObject"
              }
            }
          },
          "description": "Access token and the customer to look up",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Customer orders",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/CustomerOrderResponse"
                    },
                    {
                      "$ref": "#/components/schemas/CustomerOrderBulkResponse"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized Access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "No customer_id or email received",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "406": {
            "description": "Invalid JSON body, or invalid customer_ids or order_ids",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/store_badges/{API_KEY}/view": {
      "get": {
        "tags": [
          "Store Badges"
        ],
        "summary": "Retrieve store badges",
        "operationId": "store_badges_view",
        "description": "By passing your API Key you can retrieve the badges the store publicly displays. Badge name and description are returned in the account's configured language and fall back to Japanese when no translation exists. Returns an empty data array when the store has no public badges.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Store badges",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StoreBadgesResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "402": {
            "description": "No action specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized Access. API Key not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Account is disabled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "408": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Account has expired",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/faqs/{API_KEY}": {
      "get": {
        "tags": [
          "FAQ"
        ],
        "summary": "Retrieve published FAQs",
        "operationId": "faqs_view",
        "description": "Returns the published FAQs (categories, questions, answers) for the account. If the FAQ feature is not available or nothing is published, the response is still 200 with data.enabled = false. When rich snippets are enabled, snippet contains a ready-to-use FAQPage JSON-LD script tag.\n",
        "parameters": [
          {
            "name": "API_KEY",
            "description": "API KEY provided by Vendor",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "lang",
            "description": "Content language (e.g. ja, en). Translations are returned only when FAQ translation is enabled. Defaults to the account language.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "category",
            "description": "Limit the JSON-LD (snippet) to one category, by custom_id or title. Use uncategorized for FAQs without a category.",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Published FAQs",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FaqsResponse"
                }
              }
            }
          },
          "401": {
            "description": "Invalid API Key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "403": {
            "description": "Unauthorized Access. API Key not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "405": {
            "description": "Account is disabled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "408": {
            "description": "Something wrong with account configuration. Please contact U-KOMI Support",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "410": {
            "description": "Account has expired",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "VisualUgcAlbumsObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "description": "Access token. May also be sent as an 'Authorization: Bearer <token>' header.",
            "example": "YOUR_ACCESS_TOKEN"
          },
          "album_type": {
            "type": "string",
            "description": "Filter by album type: custom / product / official / user. Omit to return all.",
            "example": ""
          },
          "count": {
            "type": "integer",
            "description": "Items per page. Default 10, max 100.",
            "example": 10
          },
          "page": {
            "type": "integer",
            "description": "Page number. Default 1.",
            "example": 1
          },
          "from_date": {
            "type": "string",
            "description": "Filter by created_at (>=).",
            "example": ""
          },
          "updated_date": {
            "type": "string",
            "description": "Filter by updated_at (>=).",
            "example": ""
          }
        }
      },
      "VisualUgcAlbumMediaObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "description": "Access token. May also be sent as an 'Authorization: Bearer <token>' header.",
            "example": "YOUR_ACCESS_TOKEN"
          },
          "source": {
            "type": "string",
            "description": "Filter by source: instagram / review_picture / upload / tiktok / twitter / youtube. Omit to return all.",
            "example": ""
          },
          "rights_status": {
            "type": "string",
            "description": "Filter by rights status: approved / pending / rejected. Omit to return all.",
            "example": ""
          },
          "sort": {
            "type": "string",
            "description": "Sort key: date / likes. Default is date.",
            "example": "date"
          },
          "sort_order": {
            "type": "string",
            "description": "Sort direction: asc / desc. Default is desc.",
            "example": "desc"
          },
          "cursor": {
            "type": "string",
            "description": "Cursor for the next page (next_cursor from a previous response). Omit for the first page.",
            "example": ""
          },
          "count": {
            "type": "integer",
            "description": "Items per page. Default 10, max 100.",
            "example": 10
          }
        }
      },
      "VisualUgcGalleriesObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "description": "Access token. May also be sent as an 'Authorization: Bearer <token>' header.",
            "example": "YOUR_ACCESS_TOKEN"
          },
          "count": {
            "type": "integer",
            "description": "Items per page. Default 10, max 100.",
            "example": 10
          },
          "page": {
            "type": "integer",
            "description": "Page number. Default 1.",
            "example": 1
          }
        }
      },
      "VisualUgcAlbumsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "success"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          },
          "data": {
            "type": "object",
            "properties": {
              "albums": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "album_id": {
                      "type": "string"
                    },
                    "album_name": {
                      "type": "string"
                    },
                    "album_type": {
                      "type": "string"
                    },
                    "product_id": {
                      "type": "string"
                    },
                    "item_count": {
                      "type": "integer"
                    },
                    "created_at": {
                      "type": "string"
                    },
                    "updated_at": {
                      "type": "string"
                    }
                  }
                }
              },
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer"
                  },
                  "count": {
                    "type": "integer"
                  },
                  "total": {
                    "type": "integer"
                  },
                  "total_pages": {
                    "type": "integer"
                  }
                }
              }
            },
            "example": {
              "albums": [
                {
                  "album_id": "oM8rZyZMUD05WNvE",
                  "album_name": "Summer Campaign",
                  "album_type": "custom",
                  "product_id": null,
                  "item_count": 34,
                  "created_at": "2024-06-01 10:00:00",
                  "updated_at": "2024-08-15 12:00:00"
                }
              ],
              "pagination": {
                "page": 1,
                "count": 10,
                "total": 122,
                "total_pages": 13
              }
            }
          }
        }
      },
      "VisualUgcAlbumMediaResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "success"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          },
          "data": {
            "type": "object",
            "properties": {
              "media": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "media_id": {
                      "type": "string"
                    },
                    "source": {
                      "type": "string"
                    },
                    "image_url": {
                      "type": "string"
                    },
                    "thumbnail_url": {
                      "type": "string"
                    },
                    "video_url": {
                      "type": "string"
                    },
                    "caption": {
                      "type": "string"
                    },
                    "posted_by": {
                      "type": "string"
                    },
                    "posted_at": {
                      "type": "string"
                    },
                    "custom_text": {
                      "type": "string"
                    },
                    "likes": {
                      "type": "integer"
                    },
                    "product_tags": {
                      "type": "array",
                      "description": "All products this media is tagged with across every album. product_id is the store/admin product id.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "product_id": {
                            "type": "string"
                          },
                          "product_name": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "rights_status": {
                      "type": "string"
                    },
                    "created_at": {
                      "type": "string"
                    }
                  }
                }
              },
              "pagination": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer"
                  },
                  "has_more": {
                    "type": "boolean"
                  },
                  "next_cursor": {
                    "type": "string"
                  }
                }
              }
            },
            "example": {
              "media": [
                {
                  "media_id": "knpAVlkUrIJ0ZRao",
                  "source": "instagram",
                  "image_url": "https://cdn.u-komi.com/...",
                  "thumbnail_url": "https://cdn.u-komi.com/.../thumb",
                  "video_url": null,
                  "caption": "Post caption text",
                  "posted_by": "@username",
                  "posted_at": "2024-07-10 12:00:00",
                  "custom_text": null,
                  "likes": 314,
                  "product_tags": [
                    {
                      "product_id": "leather-wallet",
                      "product_name": "Leather Wallet"
                    },
                    {
                      "product_id": "gift-box",
                      "product_name": "Gift Box"
                    }
                  ],
                  "rights_status": "approved",
                  "created_at": "2024-07-10 13:00:00"
                }
              ],
              "pagination": {
                "count": 10,
                "has_more": true,
                "next_cursor": "eyJzdiI6Li4ufQ=="
              }
            }
          }
        }
      },
      "VisualUgcGalleriesResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "success"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "message": {
            "type": "string",
            "example": "OK"
          },
          "data": {
            "type": "object",
            "properties": {
              "galleries": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "gallery_id": {
                      "type": "string"
                    },
                    "gallery_title": {
                      "type": "string"
                    },
                    "album_id": {
                      "type": "string"
                    },
                    "album_type": {
                      "type": "string"
                    },
                    "item_count": {
                      "type": "integer"
                    }
                  }
                }
              },
              "pagination": {
                "type": "object",
                "properties": {
                  "page": {
                    "type": "integer"
                  },
                  "count": {
                    "type": "integer"
                  },
                  "total": {
                    "type": "integer"
                  },
                  "total_pages": {
                    "type": "integer"
                  }
                }
              }
            },
            "example": {
              "galleries": [
                {
                  "gallery_id": "Kk8d95l6U1lDNAol",
                  "gallery_title": "Top Page Gallery",
                  "album_id": "OPX79w2xUpyaQ8q3",
                  "album_type": "custom",
                  "item_count": 12
                }
              ],
              "pagination": {
                "page": 1,
                "count": 10,
                "total": 72,
                "total_pages": 8
              }
            }
          }
        }
      },
      "AuthenticationResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "access_token": {
            "type": "string",
            "example": 200
          }
        }
      },
      "AccountDetailsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "data": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "framework": {
                "type": "string"
              }
            },
            "example": {
              "name": "account1",
              "url": "www.account1.com",
              "framework": "test"
            }
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "error"
          },
          "code": {
            "type": "integer",
            "example": 401
          },
          "message": {
            "type": "string",
            "example": "Error Message"
          }
        }
      },
      "ViewAllProductReviewResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "review": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "sentiment": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "customer_id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "reviewer_type": {
                      "type": "string"
                    },
                    "post_type": {
                      "type": "string"
                    },
                    "review_images": {
                      "type": "array",
                      "items": {}
                    },
                    "product_sku": {
                      "type": "string"
                    },
                    "product_name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "id": "12345",
                    "title": "Review title",
                    "content": "Review description",
                    "score": "4",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "name": "Customer Name",
                    "customer_id": "cust",
                    "email": "customer@email.com",
                    "nickname": "Customer Nickname",
                    "reviewer_type": "verified_buyer",
                    "post_type": "email",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url"
                  },
                  {
                    "id": "12346",
                    "title": "Review title 1",
                    "content": "Review description 1",
                    "score": "5",
                    "created_at": "2018-06-13 15:31:34",
                    "updated_at": "2018-06-13 15:31:34",
                    "sentiment": "Positive",
                    "name": "Customer Name 1",
                    "customer_id": "cust_1",
                    "email": "customer1@email.com",
                    "nickname": "Customer Nickname 1",
                    "reviewer_type": "",
                    "post_type": "import",
                    "review_images": [
                      "image/path/1"
                    ],
                    "product_sku": "11",
                    "product_name": "Product name 1",
                    "product_url": "www.productwebsite.com/product-url1"
                  },
                  {
                    "id": "12347",
                    "title": "Review title 2",
                    "content": "Review description 2",
                    "score": "3",
                    "created_at": "2018-06-11 15:31:34",
                    "updated_at": "2018-06-11 15:31:34",
                    "sentiment": "Mixed",
                    "name": "Customer Name 2",
                    "customer_id": "cust_2",
                    "email": "customer2@email.com",
                    "nickname": "Customer Nickname 2",
                    "reviewer_type": "",
                    "post_type": "email",
                    "review_images": [
                      "image/path/1",
                      "image/path/2",
                      "image/path/3"
                    ],
                    "product_sku": "11",
                    "product_name": "Product name 1",
                    "product_url": "www.productwebsite.com/product-url2"
                  },
                  {
                    "id": "12348",
                    "title": "Review title 3",
                    "content": "Review description 3",
                    "score": "4",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "name": "Customer Name 3",
                    "customer_id": "cust_3",
                    "email": "customer3@email.com",
                    "nickname": "Customer Nickname 3",
                    "reviewer_type": "verified_buyer",
                    "post_type": "website",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url"
                  }
                ]
              }
            }
          }
        }
      },
      "ViewAllReviewResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "review": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "label": {
                      "type": "string"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "sentiment": {
                      "type": "string"
                    },
                    "order_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "customer_id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "reviewer_type": {
                      "type": "string"
                    },
                    "post_type": {
                      "type": "string"
                    },
                    "review_images": {
                      "type": "array",
                      "items": {}
                    },
                    "is_pickup": {
                      "type": "integer"
                    },
                    "deleted": {
                      "type": "integer"
                    },
                    "likes": {
                      "type": "integer"
                    },
                    "question_answer": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "question": {
                            "type": "string"
                          },
                          "answer": {
                            "type": "string"
                          },
                          "enable": {
                            "type": "integer"
                          },
                          "public": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "product_sku": {
                      "type": "string"
                    },
                    "product_name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "id": "12345",
                    "title": "Review title",
                    "content": "Review description",
                    "score": "4",
                    "label": "label,label 1,label 2",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "order_id": "1234",
                    "name": "Customer Name",
                    "customer_id": "cust",
                    "email": "customer@email.com",
                    "nickname": "Customer Nickname",
                    "reviewer_type": "verified_buyer",
                    "post_type": "email",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "question_answer": [
                      {
                        "id": "1",
                        "question": "Question 1",
                        "answer": "Answer 1"
                      },
                      {
                        "id": "2",
                        "question": "Question 2",
                        "answer": "Answer 2"
                      },
                      {
                        "id": "3",
                        "question": "Question 3",
                        "answer": "Answer 3"
                      },
                      {
                        "id": "4",
                        "question": "Question 4",
                        "answer": "Answer 4"
                      },
                      {
                        "id": "5",
                        "question": "Question 5",
                        "answer": "Answer "
                      }
                    ],
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url"
                  },
                  {
                    "id": "12346",
                    "title": "Review title 1",
                    "content": "Review description 1",
                    "score": "5",
                    "label": "label,label 1,label 2",
                    "created_at": "2018-06-13 15:31:34",
                    "updated_at": "2018-06-13 15:31:34",
                    "sentiment": "Positive",
                    "name": "Customer Name 1",
                    "customer_id": "cust_1",
                    "email": "customer1@email.com",
                    "nickname": "Customer Nickname 1",
                    "reviewer_type": "",
                    "post_type": "import",
                    "review_images": [
                      "image/path/1"
                    ],
                    "question_answer": [
                      {
                        "id": "1",
                        "question": "Question 1",
                        "answer": "Answer 1"
                      },
                      {
                        "id": "2",
                        "question": "Question 2",
                        "answer": "Answer 2"
                      }
                    ],
                    "product_sku": "11",
                    "product_name": "Product name 1",
                    "product_url": "www.productwebsite.com/product-url1"
                  },
                  {
                    "id": "12347",
                    "title": "Review title 2",
                    "content": "Review description 2",
                    "score": "3",
                    "label": "label,label 1,label 2",
                    "created_at": "2018-06-11 15:31:34",
                    "updated_at": "2018-06-11 15:31:34",
                    "sentiment": "Mixed",
                    "name": "Customer Name 2",
                    "customer_id": "cust_2",
                    "email": "customer2@email.com",
                    "nickname": "Customer Nickname 2",
                    "reviewer_type": "",
                    "review_images": [
                      "image/path/1",
                      "image/path/2",
                      "image/path/3"
                    ],
                    "question_answer": [
                      {
                        "id": "1",
                        "question": "Question 1",
                        "answer": "Answer 1"
                      },
                      {
                        "id": "2",
                        "question": "Question 2",
                        "answer": "Answer 2"
                      },
                      {
                        "id": "3",
                        "question": "Question 3",
                        "answer": "Answer 3"
                      }
                    ],
                    "post_type": "email",
                    "product_sku": "11",
                    "product_name": "Product name 1",
                    "product_url": "www.productwebsite.com/product-url2"
                  },
                  {
                    "id": "12348",
                    "title": "Review title 3",
                    "content": "Review description 3",
                    "label": "label,label 1,label 2",
                    "score": "4",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "name": "Customer Name 3",
                    "customer_id": "cust_3",
                    "email": "customer3@email.com",
                    "nickname": "Customer Nickname 3",
                    "reviewer_type": "verified_buyer",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "question_answer": [
                      {
                        "id": "1",
                        "question": "Question 1",
                        "answer": "Answer 1"
                      }
                    ],
                    "post_type": "website",
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url"
                  }
                ]
              }
            }
          }
        }
      },
      "ViewOnlyReviewsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "review": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "label": {
                      "type": "string"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "sentiment": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "reviewer_type": {
                      "type": "string"
                    },
                    "post_type": {
                      "type": "string"
                    },
                    "review_images": {
                      "type": "array",
                      "items": {}
                    },
                    "is_pickup": {
                      "type": "integer"
                    },
                    "likes": {
                      "type": "integer"
                    },
                    "question_answer": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "question": {
                            "type": "string"
                          },
                          "answer": {
                            "type": "string"
                          },
                          "enable": {
                            "type": "integer"
                          },
                          "public": {
                            "type": "integer"
                          }
                        }
                      }
                    },
                    "product_sku": {
                      "type": "string"
                    },
                    "product_name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "id": "12345",
                    "title": "Review title",
                    "content": "Review description",
                    "score": "4",
                    "label": "label,label 1,label 2",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "nickname": "Customer Nickname",
                    "reviewer_type": "verified_buyer",
                    "post_type": "email",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "question_answer": [
                      {
                        "id": "1",
                        "question": "Question 1",
                        "answer": "Answer 1"
                      },
                      {
                        "id": "2",
                        "question": "Question 2",
                        "answer": "Answer 2"
                      },
                      {
                        "id": "3",
                        "question": "Question 3",
                        "answer": "Answer 3"
                      },
                      {
                        "id": "4",
                        "question": "Question 4",
                        "answer": "Answer 4"
                      },
                      {
                        "id": "5",
                        "question": "Question 5",
                        "answer": "Answer "
                      }
                    ],
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url"
                  },
                  {
                    "id": "12346",
                    "title": "Review title 1",
                    "content": "Review description 1",
                    "score": "5",
                    "label": "label,label 1,label 2",
                    "created_at": "2018-06-13 15:31:34",
                    "updated_at": "2018-06-13 15:31:34",
                    "sentiment": "Positive",
                    "nickname": "Customer Nickname 1",
                    "reviewer_type": "",
                    "post_type": "import",
                    "review_images": [
                      "image/path/1"
                    ],
                    "question_answer": [
                      {
                        "id": "1",
                        "question": "Question 1",
                        "answer": "Answer 1"
                      },
                      {
                        "id": "2",
                        "question": "Question 2",
                        "answer": "Answer 2"
                      }
                    ],
                    "product_sku": "11",
                    "product_name": "Product name 1",
                    "product_url": "www.productwebsite.com/product-url1"
                  },
                  {
                    "id": "12347",
                    "title": "Review title 2",
                    "content": "Review description 2",
                    "score": "3",
                    "label": "label,label 1,label 2",
                    "created_at": "2018-06-11 15:31:34",
                    "updated_at": "2018-06-11 15:31:34",
                    "sentiment": "Mixed",
                    "nickname": "Customer Nickname 2",
                    "reviewer_type": "",
                    "review_images": [
                      "image/path/1",
                      "image/path/2",
                      "image/path/3"
                    ],
                    "question_answer": [
                      {
                        "id": "1",
                        "question": "Question 1",
                        "answer": "Answer 1"
                      },
                      {
                        "id": "2",
                        "question": "Question 2",
                        "answer": "Answer 2"
                      },
                      {
                        "id": "3",
                        "question": "Question 3",
                        "answer": "Answer 3"
                      }
                    ],
                    "post_type": "email",
                    "product_sku": "11",
                    "product_name": "Product name 1",
                    "product_url": "www.productwebsite.com/product-url2"
                  },
                  {
                    "id": "12348",
                    "title": "Review title 3",
                    "content": "Review description 3",
                    "score": "4",
                    "label": "label,label 1,label 2",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "nickname": "Customer Nickname 3",
                    "reviewer_type": "verified_buyer",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "question_answer": [
                      {
                        "id": "1",
                        "question": "Question 1",
                        "answer": "Answer 1"
                      }
                    ],
                    "post_type": "website",
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url"
                  }
                ]
              }
            }
          }
        }
      },
      "ViewReviewResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "review": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "sentiment": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "review_images": {
                      "type": "array",
                      "items": {}
                    },
                    "reviewer_type": {
                      "type": "string"
                    },
                    "product_sku": {
                      "type": "string"
                    },
                    "product_name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "id": "12345",
                    "title": "Review title",
                    "content": "Review description",
                    "score": "4",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "name": "Customer Name",
                    "email": "customer@email.com",
                    "review_images": [
                      "image/path/1",
                      "image/path/2",
                      "image/path/3"
                    ],
                    "nickname": "Customer Nickname",
                    "reviewer_type": "verified_buyer",
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url"
                  }
                ]
              }
            }
          }
        }
      },
      "ReviewSummaryResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "data": {
            "type": "object",
            "properties": {
              "total_reviews": {
                "type": "integer",
                "example": 10
              },
              "average_ratings": {
                "type": "number",
                "example": 4.5
              },
              "ai_summary": {
                "type": "object"
              },
              "q_n_a_summary": {
                "type": "object"
              },
              "rating_breakdown": {
                "type": "object",
                "example": {
                  "1": 2,
                  "2": 1,
                  "3": 0,
                  "4": 3,
                  "5": 4
                }
              }
            }
          }
        }
      },
      "CustomerReviewSummaryResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "customer_id": {
                  "type": "string",
                  "description": "The customer ID.",
                  "example": "customer_id1"
                },
                "total_reviews": {
                  "type": "integer",
                  "example": 10
                },
                "average_ratings": {
                  "type": "number",
                  "example": 4.5
                },
                "review_ids": {
                  "type": "string",
                  "description": "Comma-separated list of review unique codes",
                  "example": "abc123,def456"
                },
                "review_product_ids": {
                  "type": "string",
                  "description": "Comma-separated list of product IDs",
                  "example": "prod_1,prod_2"
                },
                "review_first_date": {
                  "type": "string",
                  "description": "Date of the first review (Y-m-d format)",
                  "example": "2024-01-15"
                },
                "review_last_date": {
                  "type": "string",
                  "description": "Date of the last review (Y-m-d format)",
                  "example": "2025-02-10"
                }
              }
            }
          },
          "cursor": {
            "type": "string",
            "description": "Cursor for the next page; null when there are no more results. Returned only when filter.merge is '0' and customers is not provided.",
            "example": "cursor_value"
          },
          "count": {
            "type": "integer",
            "description": "Number of records per page",
            "example": 100
          }
        }
      },
      "ReviewMetaResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "review_meta": {
            "type": "string",
            "example": "<meta property=\"og:url\" content=\"https://example.com/product_url?review_code=code_here\" /><meta property=\"og:title\" content=\"review title here\" /><meta property=\"og:description\" content=\"revew content here\" /><meta property=\"og:image\" content=\"https://example.com/product-image.jpg\" />"
          }
        }
      },
      "ViewProductResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "products": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    },
                    "image_url": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "short_description": {
                      "type": "string"
                    },
                    "price": {
                      "type": "integer"
                    },
                    "review_email_priority": {
                      "type": "number"
                    },
                    "review_request_email_delay": {
                      "type": "number",
                      "minimum": 0,
                      "description": "An unsigned number (non-negative)"
                    },
                    "expiration_date": {
                      "type": "string",
                      "format": "date"
                    },
                    "tag": {
                      "type": "string"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "group": {
                      "type": "string"
                    },
                    "is_published": {
                      "type": "integer",
                      "description": "1 = published, 0 = unpublished"
                    },
                    "sku": {
                      "type": "string"
                    },
                    "condition": {
                      "type": "string"
                    },
                    "availability": {
                      "type": "string"
                    },
                    "reviews": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "content": {
                            "type": "string"
                          },
                          "score": {
                            "type": "integer"
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "sentiment": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "customer_id": {
                            "type": "string"
                          },
                          "email": {
                            "type": "string"
                          },
                          "post_type": {
                            "type": "string"
                          },
                          "review_images": {
                            "type": "array",
                            "items": {}
                          },
                          "nickname": {
                            "type": "string"
                          },
                          "reviewer_type": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "brand": {
                      "type": "string"
                    },
                    "upc": {
                      "type": "string"
                    },
                    "mpn": {
                      "type": "string"
                    },
                    "isbn": {
                      "type": "string"
                    },
                    "ean": {
                      "type": "string"
                    },
                    "gtin": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "id": "product_id",
                    "name": "product name",
                    "product_url": "www.productwebsite.com/product-url",
                    "image_url": "image/path/1",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "123",
                    "review_email_priority": "2",
                    "review_request_email_delay": 20,
                    "expiration_date": "2024-11-03",
                    "tag": "Product_tag",
                    "crated_at": "2023-05-03",
                    "updated_at": "2023-05-04",
                    "group": "group1",
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "In Stock",
                    "reviews": [
                      {
                        "id": "12345",
                        "title": "Review title",
                        "content": "Review description",
                        "score": "4",
                        "created_at": "2018-06-12 15:31:34",
                        "updated_at": "2018-06-12 15:31:34",
                        "sentiment": "Clearly Positive",
                        "name": "Customer Name",
                        "customer_id": "CustomerId",
                        "email": "customer@email.com",
                        "post_type": "email",
                        "review_images": [
                          "image/path/1",
                          "image/path/2"
                        ],
                        "nickname": "Customer Nickname",
                        "reviewer_type": "verified_buyer"
                      },
                      {
                        "id": "12346",
                        "title": "Review title 1",
                        "content": "Review description 1",
                        "score": "5",
                        "created_at": "2018-06-13 15:31:34",
                        "updated_at": "2018-06-13 15:31:34",
                        "sentiment": "Positive",
                        "name": "Customer Name 1",
                        "customer_id": "CustomerId1",
                        "email": "customer1@email.com",
                        "post_type": "email",
                        "review_images": [
                          "image/path/1"
                        ],
                        "nickname": "Customer Nickname 1",
                        "reviewer_type": ""
                      }
                    ],
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  },
                  {
                    "id": "product_id_1",
                    "name": "product name 2",
                    "product_url": "www.productwebsite.com/product-url1",
                    "image_url": "image/path/2",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "123",
                    "review_email_priority": "1",
                    "review_request_email_delay": 10,
                    "expiration_date": "2024-11-03",
                    "crated_at": "2023-05-03",
                    "updated_at": "2023-05-04",
                    "tag": "Product_tag",
                    "group": "group1",
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "In Stock",
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  },
                  {
                    "id": "product_id_2",
                    "name": "product name 2",
                    "product_url": "www.productwebsite.com/product-url2",
                    "image_url": "image/path/2",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "123",
                    "review_email_priority": "0",
                    "review_request_email_delay": 5,
                    "expiration_date": "2024-11-03",
                    "crated_at": "2023-05-03",
                    "updated_at": "2023-05-04",
                    "tag": "Product_tag",
                    "group": "group1",
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "In Stock",
                    "reviews": [
                      {
                        "id": "12345",
                        "title": "Review title",
                        "content": "Review description",
                        "score": "4",
                        "created_at": "2018-06-12 15:31:34",
                        "updated_at": "2018-06-12 15:31:34",
                        "sentiment": "Clearly Positive",
                        "name": "Customer Name",
                        "customer_id": "CustomerId",
                        "email": "customer@email.com",
                        "post_type": "email",
                        "review_images": [
                          "image/path/1"
                        ],
                        "nickname": "Customer Nickname",
                        "reviewer_type": "verified_buyer"
                      }
                    ],
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  },
                  {
                    "id": "product_id_3",
                    "name": "product name 3",
                    "product_url": "www.productwebsite.com/product-url3",
                    "image_url": "image/path/3",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "123",
                    "review_email_priority": "-1",
                    "review_request_email_delay": 0,
                    "expiration_date": "2024-11-03",
                    "crated_at": "2023-05-03",
                    "updated_at": "2023-05-04",
                    "tag": "Product_tag",
                    "group": "group1",
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "In Stock",
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  }
                ]
              }
            }
          }
        }
      },
      "ViewProductBasicResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "products": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    },
                    "image_url": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "short_description": {
                      "type": "string"
                    },
                    "price": {
                      "type": "integer"
                    },
                    "review_email_priority": {
                      "type": "number"
                    },
                    "review_request_email_delay": {
                      "type": "number",
                      "minimum": 0,
                      "description": "An unsigned number (non-negative)"
                    },
                    "expiration_date": {
                      "type": "string",
                      "format": "date"
                    },
                    "tag": {
                      "type": "string"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "group": {
                      "type": "string"
                    },
                    "is_published": {
                      "type": "integer",
                      "description": "1 = published, 0 = unpublished"
                    },
                    "sku": {
                      "type": "string"
                    },
                    "condition": {
                      "type": "string"
                    },
                    "availability": {
                      "type": "string"
                    },
                    "reviews": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "content": {
                            "type": "string"
                          },
                          "score": {
                            "type": "integer"
                          },
                          "created_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "updated_at": {
                            "type": "string",
                            "format": "date"
                          },
                          "sentiment": {
                            "type": "string"
                          },
                          "post_type": {
                            "type": "string"
                          },
                          "review_images": {
                            "type": "array",
                            "items": {}
                          },
                          "nickname": {
                            "type": "string"
                          },
                          "reviewer_type": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "brand": {
                      "type": "string"
                    },
                    "upc": {
                      "type": "string"
                    },
                    "mpn": {
                      "type": "string"
                    },
                    "isbn": {
                      "type": "string"
                    },
                    "ean": {
                      "type": "string"
                    },
                    "gtin": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "id": "product_id",
                    "name": "product name",
                    "product_url": "www.productwebsite.com/product-url",
                    "image_url": "image/path/1",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "123",
                    "review_email_priority": "2",
                    "review_request_email_delay": 20,
                    "expiration_date": "2024-11-03",
                    "tag": "Product_tag",
                    "created_at": "2023-11-03",
                    "updated_at": "2023-11-03",
                    "group": "group1",
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "In Stock",
                    "reviews": [
                      {
                        "id": "12345",
                        "title": "Review title",
                        "content": "Review description",
                        "score": "4",
                        "created_at": "2018-06-12 15:31:34",
                        "updated_at": "2018-06-12 15:31:34",
                        "sentiment": "Clearly Positive",
                        "post_type": "email",
                        "review_images": [
                          "image/path/1",
                          "image/path/2"
                        ],
                        "nickname": "Customer Nickname",
                        "reviewer_type": "verified_buyer"
                      },
                      {
                        "id": "12346",
                        "title": "Review title 1",
                        "content": "Review description 1",
                        "score": "5",
                        "created_at": "2018-06-13 15:31:34",
                        "updated_at": "2018-06-13 15:31:34",
                        "sentiment": "Positive",
                        "post_type": "email",
                        "review_images": [
                          "image/path/1"
                        ],
                        "nickname": "Customer Nickname 1",
                        "reviewer_type": ""
                      }
                    ],
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  },
                  {
                    "id": "product_id_1",
                    "name": "product name 2",
                    "product_url": "www.productwebsite.com/product-url1",
                    "image_url": "image/path/2",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "123",
                    "review_email_priority": "1",
                    "review_request_email_delay": 10,
                    "expiration_date": "2024-11-03",
                    "tag": "Product_tag",
                    "created_at": "2023-11-03",
                    "updated_at": "2023-11-03",
                    "group": "group1",
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "In Stock",
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  },
                  {
                    "id": "product_id_2",
                    "name": "product name 2",
                    "product_url": "www.productwebsite.com/product-url2",
                    "image_url": "image/path/2",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "123",
                    "review_email_priority": "0",
                    "review_request_email_delay": 5,
                    "expiration_date": "2024-11-03",
                    "tag": "Product_tag",
                    "created_at": "2023-11-03",
                    "updated_at": "2023-11-03",
                    "group": "group1",
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "In Stock",
                    "reviews": [
                      {
                        "id": "12345",
                        "title": "Review title",
                        "content": "Review description",
                        "score": "4",
                        "created_at": "2018-06-12 15:31:34",
                        "updated_at": "2018-06-13 15:31:34",
                        "sentiment": "Clearly Positive",
                        "post_type": "email",
                        "review_images": [
                          "image/path/1",
                          "image/path/2",
                          "image/path/3"
                        ],
                        "nickname": "Customer Nickname",
                        "reviewer_type": "verified_buyer"
                      }
                    ],
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  },
                  {
                    "id": "product_id_3",
                    "name": "product name 3",
                    "product_url": "www.productwebsite.com/product-url3",
                    "image_url": "image/path/3",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "123",
                    "review_email_priority": "-1",
                    "review_request_email_delay": 0,
                    "expiration_date": "2024-11-03",
                    "tag": "Product_tag",
                    "created_at": "2023-11-03",
                    "updated_at": "2023-11-03",
                    "group": "group1",
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "In Stock",
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  }
                ]
              }
            }
          }
        }
      },
      "RetrieveProductResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "products": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    },
                    "image_url": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "short_description": {
                      "type": "string"
                    },
                    "price": {
                      "type": "string"
                    },
                    "review_email_priority": {
                      "type": "number"
                    },
                    "review_request_email_delay": {
                      "type": "number",
                      "minimum": 0,
                      "description": "An unsigned number (non-negative)"
                    },
                    "expiration_date": {
                      "type": "string",
                      "format": "date"
                    },
                    "tag": {
                      "type": "string"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "group": {
                      "type": "string"
                    },
                    "blacklisted": {
                      "type": "integer",
                      "description": "0 = not blacklisted, 1 = blacklisted"
                    },
                    "is_published": {
                      "type": "integer",
                      "description": "1 = published, 0 = unpublished"
                    },
                    "sku": {
                      "type": "string"
                    },
                    "condition": {
                      "type": "string"
                    },
                    "availability": {
                      "type": "string"
                    },
                    "brand": {
                      "type": "string"
                    },
                    "upc": {
                      "type": "string"
                    },
                    "mpn": {
                      "type": "string"
                    },
                    "isbn": {
                      "type": "string"
                    },
                    "ean": {
                      "type": "string"
                    },
                    "gtin": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "id": "product_id",
                    "name": "product name",
                    "product_url": "www.productwebsite.com/product-url",
                    "image_url": "image/path/1",
                    "description": "Product description",
                    "short_description": "Product short description",
                    "price": "55000.00",
                    "review_email_priority": "2",
                    "review_request_email_delay": 20,
                    "expiration_date": "2024-11-03",
                    "tag": "Product_tag",
                    "created_at": "2023-05-03",
                    "updated_at": "2023-05-04",
                    "group": "group1",
                    "blacklisted": 0,
                    "is_published": 1,
                    "sku": "product_sku",
                    "condition": "",
                    "availability": "in_stock",
                    "brand": "Product brand",
                    "upc": "Product upc",
                    "mpn": "Product mpn",
                    "isbn": "Product isbn",
                    "ean": "Product ean",
                    "gtin": "Product gtin"
                  }
                ]
              }
            }
          }
        }
      },
      "CreateProducts": {
        "type": "object",
        "required": [
          "access_token",
          "products"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "products": {
            "type": "object",
            "description": "product_id is ID of the product in store",
            "properties": {
              "product_id": {
                "$ref": "#/components/schemas/OneProductObject"
              }
            }
          }
        }
      },
      "CreateProductResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "InlineReviewFormTokenRequest": {
        "type": "object",
        "required": [
          "access_token",
          "orders"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InlineReviewFormTokenRequestOrderObject"
            }
          }
        }
      },
      "InlineReviewFormTokenRequestOrderObject": {
        "type": "object",
        "required": [
          "order_id",
          "product_id"
        ],
        "properties": {
          "order_id": {
            "type": "string",
            "example": "12345"
          },
          "product_id": {
            "type": "string",
            "example": "12345"
          }
        }
      },
      "InlineReviewFormTokenResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InlineReviewFormTokenResponseOrderObject"
            }
          }
        }
      },
      "InlineReviewFormTokenResponseOrderObject": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string",
            "example": "12345"
          },
          "product_id": {
            "type": "string",
            "example": "12345"
          },
          "verification_token": {
            "type": "string",
            "example": "review_verification_token"
          }
        }
      },
      "CreateOrder": {
        "type": "object",
        "required": [
          "access_token",
          "orders"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateOrderObject"
            }
          }
        }
      },
      "CreateOrderObject": {
        "type": "object",
        "required": [
          "customer_email",
          "customer_name",
          "order_id",
          "products"
        ],
        "properties": {
          "customer_email": {
            "type": "string",
            "format": "email",
            "example": "customer@email.com"
          },
          "customer_name": {
            "type": "string",
            "example": "Customer Name"
          },
          "customer_id": {
            "type": "string",
            "example": "Customer_id"
          },
          "line_id": {
            "type": "string",
            "example": "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
          },
          "customer_nickname": {
            "type": "string",
            "example": "Customer Nickname"
          },
          "order_id": {
            "type": "string",
            "example": "12345"
          },
          "order_date": {
            "type": "string",
            "format": "date",
            "example": "2017-11-03"
          },
          "currency_iso": {
            "type": "string",
            "example": "JPY",
            "description": "The ISO code of the currency in which the order was made"
          },
          "coupon_code": {
            "type": "string",
            "example": "coupon_code"
          },
          "email_lang": {
            "type": "string",
            "description": "Language of the review request email (ja/en/zh/zh-tw/zh-cn/ko/fr/th/de)",
            "enum": [
              "ja",
              "en",
              "zh",
              "zh-tw",
              "zh-cn",
              "ko",
              "fr",
              "th",
              "de"
            ],
            "example": "ja"
          },
          "products": {
            "type": "object",
            "description": "product_id is ID of the product in store",
            "properties": {
              "product_id": {
                "$ref": "#/components/schemas/OneProductObject"
              }
            }
          }
        }
      },
      "ViewReviewObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "reviews": {
            "type": "object",
            "description": "Review search parameters",
            "properties": {
              "from_id": {
                "example": "Get review after selected id Eg.12345",
                "type": "string"
              },
              "from_date": {
                "example": "Get review after selected date Eg.2017-11-03",
                "type": "string"
              },
              "updated_date": {
                "example": "Get review updated/created after selected date Eg.2017-11-03",
                "type": "string"
              },
              "count": {
                "example": "Number of reviews to return eg.10",
                "type": "string"
              },
              "page": {
                "example": "Page number to return reviews for eg.2",
                "type": "string"
              },
              "deleted": {
                "example": "Include unpublished reviews Eg.0/1",
                "type": "string"
              },
              "sort": {
                "example": "Review sort order (date/stars/like/sentiment/buyer/picture/response) Default is date",
                "type": "string"
              },
              "sort_order": {
                "example": "Sorting order. Option is asc/desc",
                "type": "string"
              },
              "stars": {
                "example": "Star rating for the product (1 to 5) Eg.5",
                "type": "string"
              },
              "stars_sorting": {
                "example": "Options are greater/less/equal. Default is equal",
                "type": "string"
              }
            }
          }
        }
      },
      "FilterForReviewSummaryParam": {
        "type": "object",
        "properties": {
          "filter": {
            "type": "array",
            "example": {
              "expiration": "expired/not_expired"
            },
            "items": {}
          }
        }
      },
      "GroupReviewSummaryParam": {
        "type": "object",
        "required": [
          "groups"
        ],
        "properties": {
          "groups": {
            "type": "array",
            "example": [
              "group1",
              "group2"
            ],
            "items": {}
          },
          "filter": {
            "type": "array",
            "example": {
              "expiration": "expired/not_expired",
              "merge": "0/1",
              "empty": "0/1"
            },
            "items": {}
          }
        }
      },
      "CustomerReviewSummaryParam": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "description": "Optional. Required to list all customers when filter.merge is \"0\".",
            "example": "access_token"
          },
          "customers": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "string"
              }
            ],
            "description": "Array of customer IDs or comma-separated string of customer IDs. If not provided, returns all customers.",
            "example": [
              "customer_id1",
              "customer_id2"
            ]
          },
          "filter": {
            "type": "object",
            "description": "Filter options",
            "example": {
              "merge": "0/1",
              "empty": "0/1"
            }
          },
          "updated_date": {
            "type": "string",
            "example": "2024-01-15"
          },
          "cursor": {
            "type": "string",
            "description": "Cursor for pagination. Use the cursor value from the previous response to get the next page. Only works when filter.merge is '0' and customers is not provided.",
            "example": "cursor_value"
          },
          "count": {
            "type": "integer",
            "description": "Number of records per page. Default is 10, maximum is 1000.",
            "example": 10
          }
        }
      },
      "ViewAllReviewWithOrderResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "review": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "sentiment": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "reviewer_type": {
                      "type": "string"
                    },
                    "post_type": {
                      "type": "string"
                    },
                    "review_images": {
                      "type": "array",
                      "items": {}
                    },
                    "order": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "user_name": {
                          "type": "string"
                        },
                        "user_email": {
                          "type": "string"
                        },
                        "user_nickname": {
                          "type": "string"
                        },
                        "product_sku": {
                          "type": "integer"
                        },
                        "product_name": {
                          "type": "string"
                        },
                        "product_url": {
                          "type": "string"
                        },
                        "order_date": {
                          "type": "string"
                        },
                        "coupon_code": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": [
                  {
                    "id": "12345",
                    "title": "Review title",
                    "content": "Review description",
                    "score": "4",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "name": "Customer Name",
                    "email": "customer@email.com",
                    "nickname": "Customer Nickname",
                    "reviewer_type": "verified_buyer",
                    "post_type": "email",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "order": {
                      "id": "12345",
                      "user_name": "Customer Name",
                      "user_email": "customer@email.com",
                      "user_nickname": "Customer Nickname",
                      "product_sku": "10",
                      "product_name": "Product name 1",
                      "product_url": "www.productwebsite.com/product-url1",
                      "order_date": "2017-11-03",
                      "coupon_code": "u-komi-write-review"
                    }
                  },
                  {
                    "id": "12346",
                    "title": "Review title 1",
                    "content": "Review description 1",
                    "score": "5",
                    "created_at": "2018-06-13 15:31:34",
                    "updated_at": "2018-06-13 15:31:34",
                    "sentiment": "Positive",
                    "name": "Customer Name 1",
                    "email": "customer1@email.com",
                    "nickname": "Customer Nickname 1",
                    "reviewer_type": "",
                    "post_type": "email",
                    "review_images": [
                      "image/path/1"
                    ],
                    "order": {
                      "id": "123456",
                      "user_name": "Customer Name",
                      "user_email": "customer@email.com",
                      "user_nickname": "Customer Nickname",
                      "product_sku": "10",
                      "product_name": "Product name 1",
                      "product_url": "www.productwebsite.com/product-url1",
                      "order_date": "2017-11-03",
                      "coupon_code": "u-komi-upload-photo"
                    }
                  },
                  {
                    "id": "12347",
                    "title": "Review title 2",
                    "content": "Review description 2",
                    "score": "3",
                    "created_at": "2018-06-11 15:31:34",
                    "updated_at": "2018-06-11 15:31:34",
                    "sentiment": "Mixed",
                    "name": "Customer Name 2",
                    "email": "customer2@email.com",
                    "nickname": "Customer Nickname 2",
                    "reviewer_type": "",
                    "post_type": "email",
                    "review_images": [
                      "image/path/1",
                      "image/path/2",
                      "image/path/3"
                    ],
                    "order": {
                      "id": "1234567",
                      "user_name": "Customer Name",
                      "user_email": "customer@email.com",
                      "user_nickname": "Customer Nickname",
                      "product_sku": "10",
                      "product_name": "Product name 1",
                      "product_url": "www.productwebsite.com/product-url1",
                      "order_date": "2017-11-03",
                      "coupon_code": "u-komi-share-review"
                    }
                  },
                  {
                    "id": "12348",
                    "title": "Review title 3",
                    "content": "Review description 3",
                    "score": "4",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "name": "Customer Name 3",
                    "email": "customer3@email.com",
                    "nickname": "Customer Nickname 3",
                    "reviewer_type": "verified_buyer",
                    "post_type": "website",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "order": {
                      "id": "12345678",
                      "user_name": "Customer Name",
                      "user_email": "customer@email.com",
                      "user_nickname": "Customer Nickname",
                      "product_sku": "10",
                      "product_name": "Product name 1",
                      "product_url": "www.productwebsite.com/product-url1",
                      "order_date": "2017-11-03",
                      "coupon_code": "u-komi-write-review"
                    }
                  }
                ]
              }
            }
          }
        }
      },
      "ViewProductObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "product": {
            "type": "object",
            "description": "Product search parameters",
            "properties": {
              "group": {
                "type": "string",
                "example": "group_name"
              },
              "tag": {
                "type": "string",
                "example": "tag name"
              },
              "from_date": {
                "type": "string",
                "example": "2017-11-03"
              },
              "updated_date": {
                "type": "string",
                "example": "2017-11-03"
              },
              "has_reviews": {
                "type": "integer",
                "example": "Filter products having reviews (0/1) Default is 0"
              },
              "review_updated_date": {
                "type": "string",
                "example": "2017-11-03"
              },
              "review": {
                "type": "integer",
                "example": "Include Review Data (0/1) Default is 0"
              },
              "review_count": {
                "type": "integer",
                "example": "Review count per product (1 or higher) Default is 10"
              },
              "review_sort": {
                "type": "string",
                "example": "Review sort order (date/stars/like/sentiment/buyer/picture/response) Default is date"
              },
              "review_sort_order": {
                "type": "string",
                "example": "Sort order (asc/desc) Default is desc"
              },
              "count": {
                "type": "integer",
                "example": "10"
              },
              "page": {
                "type": "integer",
                "example": "1"
              }
            }
          }
        }
      },
      "ViewBasicProductObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "product": {
            "type": "object",
            "description": "Product search parameters",
            "properties": {
              "group": {
                "type": "string",
                "example": "group_name"
              },
              "tag": {
                "type": "string",
                "example": "tag name"
              },
              "from_date": {
                "type": "string",
                "example": "2017-11-03"
              },
              "updated_date": {
                "type": "string",
                "example": "2017-11-03"
              },
              "has_reviews": {
                "type": "integer",
                "example": "Filter products having reviews (0/1) Default is 0"
              },
              "review_updated_date": {
                "type": "string",
                "example": "2017-11-03"
              },
              "review": {
                "type": "integer",
                "example": "Include Review Data (0/1) Default is 0"
              },
              "review_count": {
                "type": "integer",
                "example": "Review count per product (1 or higher) Default is 10"
              },
              "review_sort": {
                "type": "string",
                "example": "Review sort order (date/stars/like/sentiment/buyer/picture/response) Default is date"
              },
              "review_sort_order": {
                "type": "string",
                "example": "Sort order (asc/desc) Default is desc"
              },
              "count": {
                "type": "integer",
                "example": "10"
              },
              "page": {
                "type": "integer",
                "example": "1"
              }
            }
          }
        }
      },
      "RetrieveProductObject": {
        "type": "object",
        "required": [
          "access_token",
          "product_id"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "product_id": {
            "type": "string",
            "description": "Single product_id or comma-separated product_ids",
            "example": "P001,P002,P003"
          }
        }
      },
      "ViewOrderObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "orders": {
            "type": "object",
            "description": "Order search parameters",
            "properties": {
              "from_id": {
                "type": "string",
                "example": "12345"
              },
              "from_date": {
                "type": "string",
                "format": "date",
                "example": "2017-11-03"
              },
              "count": {
                "type": "integer",
                "example": "10"
              },
              "page": {
                "type": "integer",
                "example": "4"
              },
              "retrieve_reviews": {
                "type": "integer",
                "example": "1"
              },
              "order_id": {
                "type": "string",
                "example": "order_id"
              },
              "sort_order": {
                "type": "string",
                "example": "new/old Default is new"
              },
              "cursor_date": {
                "type": "string",
                "example": "2017-11-03"
              },
              "cursor_source": {
                "type": "integer",
                "example": 1
              },
              "cursor_id": {
                "type": "integer",
                "example": 12345
              }
            }
          }
        }
      },
      "ViewBlacklistProductObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "product": {
            "type": "object",
            "description": "Product search parameters",
            "properties": {
              "count": {
                "type": "integer",
                "example": "10"
              },
              "page": {
                "type": "integer",
                "example": "1"
              }
            }
          }
        }
      },
      "ViewBlacklistProductResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "products": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "example": [
                  [
                    "product_id_1",
                    "product_id_2",
                    "product_id_3",
                    "product_id_4",
                    "product_id_5"
                  ]
                ]
              }
            }
          }
        }
      },
      "CreateBlacklistProducts": {
        "type": "object",
        "required": [
          "access_token",
          "product_id"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "product_id": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "productid1",
              "productid2",
              "productid3",
              "productid4",
              "productid5"
            ],
            "description": "product_id is ID of the product in store"
          }
        }
      },
      "CreateBlacklistProductResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          }
        }
      },
      "ViewOrderResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "order": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "customer_id": {
                      "type": "string"
                    },
                    "line_id": {
                      "type": "string"
                    },
                    "user_name": {
                      "type": "string"
                    },
                    "user_email": {
                      "type": "string"
                    },
                    "user_nickname": {
                      "type": "string"
                    },
                    "product_sku": {
                      "type": "integer"
                    },
                    "product_name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    },
                    "product_image": {
                      "type": "string"
                    },
                    "product_description": {
                      "type": "string"
                    },
                    "order_date": {
                      "type": "string"
                    },
                    "coupon_code": {
                      "type": "string"
                    },
                    "review": {
                      "type": "object"
                    }
                  }
                },
                "example": [
                  {
                    "id": "1",
                    "customer_id": "Customer_id",
                    "line_id": "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                    "user_name": "Customer Name",
                    "user_email": "customer@email.com",
                    "user_nickname": "Customer Nickname",
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url",
                    "product_image": "www.productwebsite.com/product-image-url",
                    "product_description": "This is the description of a product",
                    "order_date": "2017-11-03",
                    "coupon_code": "u-komi-write-review",
                    "review": {
                      "id": "abtocde",
                      "title": "Review Title",
                      "content": "Review Content",
                      "score": "5.00",
                      "sentiment": "Mixed",
                      "published": "1",
                      "created_at": "2017-12-13 09:30:07",
                      "updated_at": "2017-12-13 09:30:07"
                    }
                  },
                  {
                    "id": "2",
                    "customer_id": "Customer_id",
                    "line_id": "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                    "user_name": "Customer Name",
                    "user_email": "customer@email.com",
                    "user_nickname": "Customer Nickname",
                    "product_sku": "11",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url1",
                    "product_image": "www.productwebsite.com/product-image-url1",
                    "product_description": "This is the description of a product",
                    "order_date": "2017-11-03",
                    "coupon_code": "u-komi-upload-photo",
                    "review": []
                  },
                  {
                    "id": "3",
                    "customer_id": "Customer_id",
                    "line_id": "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                    "user_name": "Customer Name",
                    "user_email": "customer@email.com",
                    "user_nickname": "Customer Nickname",
                    "product_sku": "12",
                    "product_name": "Product name 2",
                    "product_url": "www.productwebsite.com/product-url2",
                    "product_image": "www.productwebsite.com/product-image-url2",
                    "product_description": "This is the description of a product",
                    "order_date": "2017-11-03",
                    "coupon_code": "u-komi-share-review",
                    "review": []
                  },
                  {
                    "id": "4",
                    "customer_id": "Customer_id",
                    "line_id": "Uxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
                    "user_name": "Customer Name",
                    "user_email": "customer@email.com",
                    "user_nickname": "Customer Nickname",
                    "product_sku": "13",
                    "product_name": "Product name 2",
                    "product_url": "www.productwebsite.com/product-url3",
                    "product_image": "www.productwebsite.com/product-image-url3",
                    "product_description": "This is the description of a product",
                    "order_date": "2017-11-03",
                    "coupon_code": "u-komi-write-review",
                    "review": []
                  }
                ]
              },
              "total_order": {
                "type": "integer",
                "example": 4
              },
              "total_purchase": {
                "type": "number",
                "example": 400
              },
              "cursor": {
                "type": "object",
                "properties": {
                  "cursor_date": {
                    "type": "string"
                  },
                  "cursor_source": {
                    "type": "integer"
                  },
                  "cursor_id": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      },
      "OneProductObject": {
        "type": "object",
        "required": [
          "url",
          "name"
        ],
        "properties": {
          "url": {
            "type": "string",
            "format": "uri",
            "example": "http://www.yoursite.com/product_url.html"
          },
          "name": {
            "type": "string",
            "example": "Product Name"
          },
          "image": {
            "type": "string",
            "format": "uri",
            "example": "http://www.yoursite.com/image_path/image_name.jpg"
          },
          "description": {
            "type": "string",
            "example": "This is the description of a product"
          },
          "short_description": {
            "type": "string",
            "example": "This is the short description of a product"
          },
          "group_name": {
            "type": "string",
            "example": "Group Name"
          },
          "price": {
            "type": "number",
            "example": "123"
          },
          "review_email_priority": {
            "type": "number",
            "example": "2/1/0/-1/-2"
          },
          "review_request_email_delay": {
            "type": "number",
            "minimum": 0,
            "example": 10
          },
          "expiration_date": {
            "type": "string",
            "format": "date",
            "example": "2017-11-03"
          },
          "coupon_code": {
            "type": "string",
            "example": "coupon_code"
          },
          "specs": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "tag": {
            "type": "string",
            "example": "Tag"
          },
          "product_tags": {
            "type": "string",
            "example": "Tag1,Tag2"
          },
          "created_at": {
            "type": "string",
            "format": "date",
            "example": "2017-11-03"
          },
          "updated_at": {
            "type": "string",
            "format": "date",
            "example": "2017-11-03"
          },
          "is_published": {
            "type": "integer",
            "enum": [
              0,
              1
            ],
            "example": 1,
            "description": "1 = published, 0 = unpublished (not shown on the U-KOMI review portal). If omitted, existing products keep their value and new products get 1."
          }
        }
      },
      "CreateOrderResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          }
        }
      },
      "CancelOrderObject": {
        "type": "object",
        "required": [
          "access_token",
          "orders"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "order_id"
              ],
              "properties": {
                "order_id": {
                  "type": "string"
                },
                "product_ids": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            },
            "example": [
              {
                "order_id": "12345",
                "product_ids": [
                  "product_id1",
                  "product_id2"
                ]
              },
              {
                "order_id": "12346"
              }
            ]
          }
        }
      },
      "CancelOrderResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          }
        }
      },
      "CreatGroupObject": {
        "type": "object",
        "required": [
          "access_token",
          "group_name"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "group_name": {
            "type": "string",
            "example": "Group Name"
          }
        }
      },
      "CreatGroupResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          }
        }
      },
      "ViewAllGroupObject": {
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "group": {
            "type": "object",
            "description": "Group search parameters",
            "properties": {
              "from_date": {
                "type": "string",
                "format": "date",
                "example": "2017-11-03"
              },
              "updated_date": {
                "type": "string",
                "format": "date",
                "example": "2017-11-03"
              }
            }
          }
        }
      },
      "ViewAllGroupResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "group 3",
              "group 2",
              "group 1"
            ]
          }
        }
      },
      "DeleteGroupObject": {
        "type": "object",
        "required": [
          "access_token",
          "group_name"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "group_name": {
            "type": "string",
            "example": "Group Name"
          }
        }
      },
      "DeleteGroupResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          }
        }
      },
      "ProductGroupsObject": {
        "type": "object",
        "required": [
          "access_token",
          "group_name",
          "product_action",
          "product_id"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "group_name": {
            "type": "string",
            "example": "Group Name"
          },
          "product_action": {
            "type": "string",
            "enum": [
              "add",
              "remove"
            ],
            "example": "add"
          },
          "product_id": {
            "type": "string",
            "example": "101,102,103"
          }
        }
      },
      "ProductGroupsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          }
        }
      },
      "ViewGroupsObject": {
        "type": "object",
        "required": [
          "group_name"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "group_name": {
            "type": "string",
            "example": "Group Name"
          }
        }
      },
      "ViewGroupsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "groups": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "type": "string",
                    "example": "Group Name"
                  },
                  "products": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "sku": {
                          "type": "string",
                          "example": "12345"
                        },
                        "name": {
                          "type": "string",
                          "example": "Product name"
                        },
                        "url": {
                          "type": "string",
                          "example": "www.productwebsite.com/product-url"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ViewAllQuestionResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "total_questions": {
                "type": "string"
              },
              "total_unaswer_count": {
                "type": "string"
              },
              "questions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "product_id": {
                      "type": "string"
                    },
                    "question": {
                      "type": "string"
                    },
                    "questioner": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "customer_id": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "time": {
                          "type": "string"
                        }
                      }
                    },
                    "answer": {
                      "type": "string"
                    },
                    "answerer": {
                      "type": "object",
                      "properties": {
                        "avtar": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "time": {
                          "type": "string"
                        }
                      }
                    },
                    "bazora": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    },
                    "published": {
                      "type": "string"
                    }
                  }
                }
              }
            },
            "example": {
              "total_questions": "367",
              "total_unaswer_count": "39",
              "questions": [
                {
                  "id": "zaSxasQ",
                  "product_id": "12345",
                  "question": "is it applicable on curly hair?",
                  "questioner": {
                    "name": "Customer Name",
                    "custome_id": null,
                    "email": "customer@email.com",
                    "time": "2018-06-12 15:31:34"
                  },
                  "answer": "Yes, It is suitable for all types of hair.",
                  "answerer": {
                    "name": "Customer Name",
                    "avtar": "http://www.server.com/image_path",
                    "time": "2018-06-12 15:31:34"
                  },
                  "bazora": "1",
                  "label": "label,label 1,label 2",
                  "published": "1"
                },
                {
                  "id": "DeJdEe3",
                  "product_id": "12345",
                  "question": "is it availble in blue color?",
                  "questioner": {
                    "name": "Customer1 Name",
                    "custome_id": "customer1",
                    "email": "customer1@email.com",
                    "time": "2019-07-12 15:31:34"
                  },
                  "answer": "It is avaible in 5 more color.",
                  "answerer": {
                    "name": "Store Admin",
                    "avtar": "http://www.server.com/image_path",
                    "time": "2019-10-12 15:31:34"
                  },
                  "bazora": "0",
                  "label": "label,label 1,label 2",
                  "published": "0"
                },
                {
                  "id": "12347",
                  "product_id": "12345",
                  "question": "Is this only for men?!",
                  "questioner": {
                    "name": "Customer2 Name",
                    "custome_id": "customer2",
                    "email": "customer2@email.com",
                    "time": "2020-05-10 15:31:34"
                  },
                  "answer": "Yes",
                  "answerer": {
                    "name": "Store Admin",
                    "avtar": "http://www.server.com/image_path",
                    "time": "2020-06-12 15:31:34"
                  },
                  "bazora": "1",
                  "label": "label,label 1,label 2",
                  "published": "1"
                }
              ]
            }
          }
        }
      },
      "ViewQuestionResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "questions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "question": {
                      "type": "string"
                    },
                    "questioner": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "time": {
                          "type": "string"
                        }
                      }
                    },
                    "label": {
                      "type": "string"
                    },
                    "answer": {
                      "type": "integer"
                    },
                    "answerer": {
                      "type": "object",
                      "properties": {
                        "avtar": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "time": {
                          "type": "string"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "questions": [
                    {
                      "id": "zaSxasQ",
                      "question": "is it applicable on curly hair?",
                      "questioner": {
                        "name": "Customer Name",
                        "email": "customer@email.com",
                        "time": "2018-06-12 15:31:34"
                      },
                      "answer": "Yes, It is suitable for all types of hair.",
                      "answerer": {
                        "name": "Customer Name",
                        "avtar": "http://www.server.com/image_path",
                        "time": "2018-06-12 15:31:34"
                      },
                      "label": "label,label 1,label 2"
                    },
                    {
                      "id": "DeJdEe3",
                      "question": "is it availble in blue color?",
                      "questioner": {
                        "name": "Customer1 Name",
                        "email": "customer1@email.com",
                        "time": "2019-07-12 15:31:34"
                      },
                      "answer": "It is avaible in 5 more color.",
                      "answerer": {
                        "name": "Store Admin",
                        "avtar": "http://www.server.com/image_path",
                        "time": "2019-10-12 15:31:34"
                      },
                      "label": "label,label 1,label 2"
                    },
                    {
                      "id": "12347",
                      "question": "Is this only for men?!",
                      "questioner": {
                        "name": "Customer2 Name",
                        "email": "customer2@email.com",
                        "time": "2020-05-10 15:31:34"
                      },
                      "answer": "Yes",
                      "answerer": {
                        "name": "Store Admin",
                        "avtar": "http://www.server.com/image_path",
                        "time": "2020-06-12 15:31:34"
                      },
                      "label": "label,label 1,label 2"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "ViewQuestionCountResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "example": 450
              }
            }
          }
        }
      },
      "ViewReviewBasicResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "review": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "sentiment": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "review_images": {
                      "type": "array",
                      "items": {}
                    },
                    "reviewer_type": {
                      "type": "string"
                    },
                    "product_sku": {
                      "type": "string"
                    },
                    "product_name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    }
                  }
                },
                "example": [
                  {
                    "id": "12345",
                    "title": "Review title",
                    "content": "Review description",
                    "score": "4",
                    "created_at": "2018-06-12 15:31:34",
                    "updated_at": "2018-06-12 15:31:34",
                    "sentiment": "Clearly Positive",
                    "nickname": "Customer Nickname",
                    "review_images": [
                      "image/path/1",
                      "image/path/2"
                    ],
                    "reviewer_type": "verified_buyer",
                    "product_sku": "10",
                    "product_name": "Product name",
                    "product_url": "www.productwebsite.com/product-url"
                  }
                ]
              }
            }
          }
        }
      },
      "ViewAllProductReviewBasicResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "review": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "sentiment": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "review_images": {
                      "type": "array",
                      "items": {}
                    },
                    "reviewer_type": {
                      "type": "string"
                    },
                    "product_sku": {
                      "type": "string"
                    },
                    "product_name": {
                      "type": "string"
                    },
                    "product_url": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ReviewWithOrdersBasicObject": {
        "type": "object",
        "properties": {
          "reviews": {
            "type": "object",
            "properties": {
              "count": {
                "type": "integer",
                "example": 10
              },
              "page": {
                "type": "integer",
                "example": 1
              },
              "from_id": {
                "type": "string",
                "example": "abc123"
              },
              "from_date": {
                "type": "string",
                "example": "2025-01-01"
              },
              "updated_date": {
                "type": "string",
                "example": "2025-01-01"
              },
              "stars": {
                "type": "integer",
                "example": 5
              },
              "stars_sorting": {
                "type": "string",
                "example": "greater"
              },
              "sort": {
                "type": "string",
                "example": "date"
              },
              "sort_order": {
                "type": "string",
                "example": "desc"
              },
              "deleted": {
                "type": "string",
                "example": "no"
              }
            }
          }
        }
      },
      "ReviewWithOrdersBasicResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "review": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string"
                    },
                    "score": {
                      "type": "integer"
                    },
                    "created_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "updated_at": {
                      "type": "string",
                      "format": "date"
                    },
                    "sentiment": {
                      "type": "string"
                    },
                    "nickname": {
                      "type": "string"
                    },
                    "review_images": {
                      "type": "array",
                      "items": {}
                    },
                    "reviewer_type": {
                      "type": "string"
                    },
                    "order": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "order_date": {
                          "type": "string"
                        },
                        "product_sku": {
                          "type": "string"
                        },
                        "product_name": {
                          "type": "string"
                        },
                        "product_url": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ReviewLikeObject": {
        "type": "object",
        "properties": {
          "user_identifier": {
            "type": "string",
            "example": "cust_abc123"
          },
          "vote": {
            "type": "string",
            "example": "up to like, down to dislike. Default is up."
          }
        }
      },
      "ReviewLikeResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "data": {
            "type": "object",
            "description": "disliked and dislike_count are only returned when dislikes are enabled for the account.",
            "properties": {
              "review_id": {
                "type": "string",
                "example": "abc123"
              },
              "liked": {
                "type": "boolean",
                "example": true
              },
              "like_count": {
                "type": "integer",
                "example": 42
              },
              "disliked": {
                "type": "boolean",
                "example": false
              },
              "dislike_count": {
                "type": "integer",
                "example": 3
              }
            }
          }
        }
      },
      "ReviewLikesListResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "review_id": {
                  "type": "string"
                },
                "liked": {
                  "type": "boolean"
                },
                "like_count": {
                  "type": "integer"
                },
                "disliked": {
                  "type": "boolean"
                },
                "dislike_count": {
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "ViewAllQuestionBasicResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "total_questions": {
                "type": "string"
              },
              "total_unaswer_count": {
                "type": "string"
              },
              "questions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "product_id": {
                      "type": "string"
                    },
                    "question": {
                      "type": "string"
                    },
                    "questioner": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "time": {
                          "type": "string"
                        }
                      }
                    },
                    "answer": {
                      "type": "string"
                    },
                    "answerer": {
                      "type": "object",
                      "properties": {
                        "avtar": {
                          "type": "string"
                        },
                        "time": {
                          "type": "string"
                        }
                      }
                    },
                    "label": {
                      "type": "string"
                    },
                    "published": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ViewQuestionBasicResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "response": {
            "type": "object",
            "properties": {
              "questions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "question": {
                      "type": "string"
                    },
                    "questioner": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "time": {
                          "type": "string"
                        }
                      }
                    },
                    "answer": {
                      "type": "string"
                    },
                    "answerer": {
                      "type": "object",
                      "properties": {
                        "avtar": {
                          "type": "string"
                        },
                        "time": {
                          "type": "string"
                        }
                      }
                    },
                    "label": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "QuestionLikeObject": {
        "type": "object",
        "properties": {
          "user_identifier": {
            "type": "string",
            "example": "cust_abc123"
          },
          "vote": {
            "type": "string",
            "example": "up to like, down to dislike. Default is up."
          }
        }
      },
      "QuestionLikeResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "data": {
            "type": "object",
            "description": "disliked and dislike_count are only returned when dislikes are enabled for the account.",
            "properties": {
              "question_id": {
                "type": "string",
                "example": "qabc123"
              },
              "liked": {
                "type": "boolean",
                "example": true
              },
              "like_count": {
                "type": "integer",
                "example": 12
              },
              "disliked": {
                "type": "boolean",
                "example": false
              },
              "dislike_count": {
                "type": "integer",
                "example": 2
              }
            }
          }
        }
      },
      "QuestionLikesListResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "integer",
            "example": 200
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "question_id": {
                  "type": "string"
                },
                "liked": {
                  "type": "boolean"
                },
                "like_count": {
                  "type": "integer"
                },
                "disliked": {
                  "type": "boolean"
                },
                "dislike_count": {
                  "type": "integer"
                }
              }
            }
          }
        }
      },
      "ReviewFormFieldsObject": {
        "type": "object",
        "required": [
          "product_id"
        ],
        "properties": {
          "product_id": {
            "type": "string",
            "example": "12345"
          },
          "order_id": {
            "type": "string",
            "example": "ORDER123"
          }
        }
      },
      "ReviewFormFieldsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "success"
          },
          "message": {
            "type": "string",
            "example": "Form fields retrieved successfully"
          },
          "data": {
            "type": "object",
            "properties": {
              "product": {
                "type": "object",
                "properties": {
                  "product_id": {
                    "type": "string"
                  },
                  "product_name": {
                    "type": "string"
                  },
                  "product_image": {
                    "type": "string"
                  },
                  "is_site_review": {
                    "type": "boolean"
                  }
                }
              },
              "form_config": {
                "type": "object",
                "properties": {
                  "language": {
                    "type": "string"
                  },
                  "email_required": {
                    "type": "boolean"
                  },
                  "submit_button_text": {
                    "type": "string"
                  },
                  "success_message": {
                    "type": "string"
                  }
                }
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "field_key": {
                      "type": "string"
                    },
                    "field_type": {
                      "type": "string"
                    },
                    "label": {
                      "type": "string"
                    },
                    "validation": {
                      "type": "object"
                    },
                    "options": {
                      "type": "array",
                      "items": {}
                    }
                  }
                }
              }
            }
          }
        }
      },
      "ReviewSubmitObject": {
        "type": "object",
        "required": [
          "product_id",
          "score",
          "review"
        ],
        "properties": {
          "product_id": {
            "type": "string",
            "example": "12345"
          },
          "score": {
            "type": "integer",
            "example": 5
          },
          "review": {
            "type": "string",
            "example": "Great product, highly recommend."
          },
          "title": {
            "type": "string",
            "example": "Loved it"
          },
          "name": {
            "type": "string",
            "example": "Taro Yamada"
          },
          "email": {
            "type": "string",
            "example": "taro@example.com"
          },
          "nickname": {
            "type": "string",
            "example": "Taro"
          },
          "order_id": {
            "type": "string",
            "example": "ORDER123"
          },
          "custom_form_ans": {
            "type": "object",
            "description": "Answers to custom questions, keyed by question id.",
            "example": {
              "123": "answer"
            }
          }
        }
      },
      "ReviewSubmitResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "success"
          },
          "message": {
            "type": "string",
            "example": "Thank you! Please check your email to verify your review."
          },
          "data": {
            "type": "object",
            "properties": {
              "verification_email_sent": {
                "type": "boolean",
                "example": true
              },
              "message": {
                "type": "string"
              }
            }
          }
        }
      },
      "ReviewSubmitFieldErrorResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "field_error"
          },
          "errors": {
            "type": "object",
            "description": "Validation messages keyed by field.",
            "example": {
              "score": "Please select a rating",
              "email": "Valid email is required"
            }
          }
        }
      },
      "CustomerOrderObject": {
        "type": "object",
        "required": [
          "access_token"
        ],
        "properties": {
          "access_token": {
            "type": "string",
            "example": "access_token"
          },
          "customer_id": {
            "type": "string",
            "example": "Customer id. Provide customer_id or email; if both are passed, customer_id is used."
          },
          "email": {
            "type": "string",
            "example": "taro@example.com"
          },
          "page": {
            "type": "integer",
            "example": 1
          },
          "limit": {
            "type": "integer",
            "example": "Records per page, or per customer in bulk mode. Default is 10, maximum is 100."
          },
          "customer_ids": {
            "type": "array",
            "description": "Bulk mode: up to 50 customer ids (strings or integers). When sent, customer_id and email are ignored.",
            "items": {
              "type": "string"
            },
            "example": [
              "C001",
              "C002"
            ]
          },
          "order_ids": {
            "type": "array",
            "description": "Return only these orders of the customer (up to 100 order ids). limit and page are then ignored.",
            "items": {
              "type": "string"
            },
            "example": [
              "1001",
              "1002"
            ]
          }
        }
      },
      "CustomerOrderItem": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string"
          },
          "order_date": {
            "type": "string"
          },
          "product_ids": {
            "type": "string"
          },
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "product_id": {
                  "type": "string"
                },
                "product_name": {
                  "type": "string"
                },
                "product_url": {
                  "type": "string"
                },
                "product_image_url": {
                  "type": "string"
                },
                "token": {
                  "type": "string"
                },
                "is_review_submitted": {
                  "type": "integer",
                  "nullable": true,
                  "description": "1 = the review request of this line is submitted, 0 = not submitted yet, null = this line has no review request.",
                  "example": 0
                },
                "is_cancelled": {
                  "type": "integer",
                  "description": "1 = this line is cancelled, 0 = not cancelled.",
                  "example": 0
                },
                "reviewed_at": {
                  "type": "string",
                  "nullable": true,
                  "description": "Date and time (Y-m-d H:i:s) of the customer's latest review of this product, matched by customer_id or email, or posted from this line's review request. Staff reviews are not counted. null when there is none. Not tied to this order: compare it with order_date.",
                  "example": "2026-10-03 12:00:00"
                }
              }
            }
          }
        }
      },
      "CustomerOrderResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "success"
          },
          "orders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerOrderItem"
            }
          },
          "metadata": {
            "type": "object",
            "properties": {
              "total_orders": {
                "type": "integer"
              },
              "page": {
                "type": "integer"
              },
              "limit": {
                "type": "integer"
              },
              "count": {
                "type": "integer"
              },
              "total_pages": {
                "type": "integer"
              }
            }
          }
        }
      },
      "CustomerOrderBulkResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "success"
          },
          "customers": {
            "type": "array",
            "description": "One entry per requested customer, in request order, also when the customer has no orders.",
            "items": {
              "type": "object",
              "properties": {
                "customer_id": {
                  "type": "string"
                },
                "total_orders": {
                  "type": "integer",
                  "description": "Number of the customer's orders (before limit)."
                },
                "orders": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerOrderItem"
                  }
                }
              }
            }
          },
          "metadata": {
            "type": "object",
            "properties": {
              "customer_count": {
                "type": "integer",
                "description": "Number of customers in the response."
              },
              "limit": {
                "type": "integer",
                "description": "Orders per customer. With order_ids, the number of requested order ids."
              }
            }
          }
        }
      },
      "StoreBadgesResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "string",
            "example": "200"
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "category": {
                  "type": "string",
                  "description": "Category name. Empty string when unset."
                },
                "name": {
                  "type": "string",
                  "description": "Badge name in the account's configured language, falling back to Japanese."
                },
                "description": {
                  "type": "string",
                  "description": "Badge description in the account's configured language, falling back to Japanese."
                },
                "image_url": {
                  "type": "string",
                  "description": "Badge image SSL serving URL."
                },
                "priority": {
                  "type": "integer",
                  "description": "Display priority. Higher is more important."
                },
                "earned_at": {
                  "type": "string",
                  "description": "Datetime the badge was earned, formatted YYYY-MM-DD HH:MM:SS."
                }
              }
            },
            "example": [
              {
                "category": "Review Count",
                "name": "1000 Reviews Achieved",
                "description": "Awarded to stores with 1000+ total reviews.",
                "image_url": "https://storage.googleapis.com/example/badge.png",
                "priority": 100,
                "earned_at": "2026-01-15 09:30:00"
              }
            ]
          }
        }
      },
      "FaqsResponse": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "example": "OK"
          },
          "code": {
            "type": "string",
            "example": "200"
          },
          "data": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "false when the FAQ feature is not available or nothing is published."
              },
              "settings": {
                "type": "object",
                "description": "FAQ widget display settings.",
                "properties": {
                  "faq_per_page": {
                    "type": "integer"
                  },
                  "accordion_default_open": {
                    "type": "boolean"
                  },
                  "search_box_enabled": {
                    "type": "boolean"
                  },
                  "category_nav_enabled": {
                    "type": "boolean"
                  },
                  "accent_color": {
                    "type": "string"
                  },
                  "custom_css": {
                    "type": "string"
                  }
                }
              },
              "categories": {
                "type": "array",
                "description": "Categories in display order. FAQs without a category come last with an empty title.",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "custom_id": {
                      "type": "string",
                      "description": "Merchant-defined category ID, or null.",
                      "nullable": true
                    },
                    "faqs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "question": {
                            "type": "string"
                          },
                          "answer": {
                            "type": "string",
                            "description": "May contain simple HTML (p, br, ol, ul, li, a, b, strong, em, i)."
                          }
                        }
                      }
                    }
                  }
                }
              },
              "lang": {
                "type": "object",
                "description": "Widget UI labels in the resolved language."
              }
            },
            "example": {
              "enabled": true,
              "settings": {
                "faq_per_page": 10,
                "accordion_default_open": false,
                "search_box_enabled": true,
                "category_nav_enabled": true,
                "accent_color": "#333333",
                "custom_css": ""
              },
              "categories": [
                {
                  "title": "Shipping",
                  "custom_id": "shipping",
                  "faqs": [
                    {
                      "question": "How long does delivery take?",
                      "answer": "<p>Orders ship within 2 business days.</p>"
                    }
                  ]
                }
              ],
              "lang": {
                "search_placeholder": "Search FAQs",
                "no_results": "No matching FAQs found.",
                "all_categories": "All",
                "uncategorized": "Other"
              }
            }
          },
          "snippet": {
            "type": "string",
            "description": "FAQPage JSON-LD script tag. Present only when rich snippets are enabled.",
            "example": "<script type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[...]}</script>"
          }
        }
      }
    }
  }
}