openapi: 3.0.0 info: title: BigCommerce Abandoned Cart Emails Reviews API version: 3.0.0 termsOfService: https://www.bigcommerce.com/terms description: Abandoned Cart Emails V3 API managing Handlebars-based emails. contact: name: BigCommerce url: https://www.bigcommerce.com email: support@bigcommerce.com servers: - url: https://api.bigcommerce.com/stores/{store_hash}/v3 variables: store_hash: default: store_hash description: Permanent ID of the BigCommerce store. description: BigCommerce API Gateway security: - X-Auth-Token: [] tags: - name: Reviews paths: /catalog/products/{product_id}/reviews: parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' get: tags: - Reviews summary: BigCommerce Get Product Reviews description: Returns a list of all *Product Reviews*. Optional parameters can be passed in. operationId: getProductReviews parameters: - name: include_fields in: query description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned. schema: type: string - name: exclude_fields in: query description: Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded. schema: type: string - name: page in: query description: Specifies the page number in a limited (paginated) list of products. schema: type: integer - name: limit in: query description: Controls the number of items per page in a limited (paginated) list of products. schema: type: integer - name: status in: query description: Filter items by status. `1` for approved, `0` for pending. schema: type: integer responses: '200': description: '' content: application/json: schema: title: Product Review Collection Response type: object properties: data: type: array items: title: Product Review type: object description: 'A product review model. ' allOf: - title: Product Review Base required: - date_reviewed - title type: object properties: title: maxLength: 255 minLength: 0 type: string description: 'The title for the product review. Required in /POST.' text: type: string description: 'The text for the product review. ' status: type: string description: 'The status of the product review. Must be one of `approved`, `disapproved` or `pending`. ' rating: type: integer description: The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5. email: type: string description: The email of the reviewer. Must be a valid email, or an empty string. name: maxLength: 255 minLength: 0 type: string description: The name of the reviewer. date_reviewed: type: string description: 'Date the product was reviewed. Required in /POST. ' format: date-time - type: object properties: id: type: integer description: 'The unique numeric ID of the product review; increments sequentially. ' product_id: type: integer description: 'The unique numeric identifier for the product with which the review is associated. ' date_created: type: string description: 'Date the product review was created. ' format: date-time date_modified: type: string description: 'Date the product review was modified. ' format: date-time meta: $ref: '#/components/schemas/metaCollection_Full' '204': description: 'There are no reviews on this product. ' content: {} '404': description: 'The product ID does not exist. ' content: application/json: schema: title: Not Found type: object properties: status: type: integer description: '404 HTTP status code. ' title: type: string description: The error title describing the particular error. type: type: string instance: type: string description: Error payload for the BigCommerce API. post: tags: - Reviews summary: BigCommerce Create a Product Review description: 'Creates a *Product Review*. **Required Fields** - title - date_reviewed **Read-Only Fields** * id' operationId: createProductReview parameters: - $ref: '#/components/parameters/ContentType' requestBody: content: application/json: schema: title: Product Review Post description: 'The model for a POST to create a product review. ' allOf: - title: Product Review Base required: - date_reviewed - title type: object properties: title: maxLength: 255 minLength: 0 type: string description: 'The title for the product review. Required in /POST.' text: type: string description: 'The text for the product review. ' status: type: string description: 'The status of the product review. Must be one of `approved`, `disapproved` or `pending`. ' rating: type: integer description: The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5. email: type: string description: The email of the reviewer. Must be a valid email, or an empty string. name: maxLength: 255 minLength: 0 type: string description: The name of the reviewer. date_reviewed: type: string description: 'Date the product was reviewed. Required in /POST. ' format: date-time required: true responses: '200': description: '' content: application/json: schema: title: Product Review Response type: object properties: data: title: Product Review type: object description: 'A product review model. ' allOf: - title: Product Review Base required: - date_reviewed - title type: object properties: title: maxLength: 255 minLength: 0 type: string description: 'The title for the product review. Required in /POST.' text: type: string description: 'The text for the product review. ' status: type: string description: 'The status of the product review. Must be one of `approved`, `disapproved` or `pending`. ' rating: type: integer description: The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5. email: type: string description: The email of the reviewer. Must be a valid email, or an empty string. name: maxLength: 255 minLength: 0 type: string description: The name of the reviewer. date_reviewed: type: string description: 'Date the product was reviewed. Required in /POST. ' format: date-time - type: object properties: id: type: integer description: 'The unique numeric ID of the product review; increments sequentially. ' product_id: type: integer description: 'The unique numeric identifier for the product with which the review is associated. ' date_created: type: string description: 'Date the product review was created. ' format: date-time date_modified: type: string description: 'Date the product review was modified. ' format: date-time meta: $ref: '#/components/schemas/metaEmpty_Full' description: 'Response payload for the BigCommerce API. ' example: data: title: irur text: anim aute status: Lorem ad sed voluptate rating: 3 email: esse Lorem laborum aute name: 'ut in ' date_reviewed: '2011-12-31T13:40:42.971Z' id: 82495037 product_id: 22609026 date_created: '1985-01-17T07:37:20.439Z' date_modified: '2004-09-28T14:38:21.973Z' meta: {} '404': description: 'The product ID does not exist. ' content: application/json: schema: title: Not Found type: object properties: status: type: integer description: '404 HTTP status code. ' title: type: string description: The error title describing the particular error. type: type: string instance: type: string description: Error payload for the BigCommerce API. x-codegen-request-body-name: productReview /catalog/products/{product_id}/reviews/{review_id}: parameters: - $ref: '#/components/parameters/Accept' - $ref: '#/components/parameters/ProductIdParam' - $ref: '#/components/parameters/ReviewIdParam' get: tags: - Reviews summary: BigCommerce Get a Product Review description: Returns a single *Product Review*. Optional parameters maybe passed in. operationId: getProductReview parameters: - name: include_fields in: query description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned. schema: type: string - name: exclude_fields in: query description: Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded. schema: type: string responses: '200': description: '' content: application/json: schema: title: Product Review Response type: object properties: data: title: Product Review type: object description: 'A product review model. ' allOf: - title: Product Review Base required: - date_reviewed - title type: object properties: title: maxLength: 255 minLength: 0 type: string description: 'The title for the product review. Required in /POST.' text: type: string description: 'The text for the product review. ' status: type: string description: 'The status of the product review. Must be one of `approved`, `disapproved` or `pending`. ' rating: type: integer description: The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5. email: type: string description: The email of the reviewer. Must be a valid email, or an empty string. name: maxLength: 255 minLength: 0 type: string description: The name of the reviewer. date_reviewed: type: string description: 'Date the product was reviewed. Required in /POST. ' format: date-time - type: object properties: id: type: integer description: 'The unique numeric ID of the product review; increments sequentially. ' date_created: type: string description: 'Date the product review was created. ' format: date-time date_modified: type: string description: 'Date the product review was modified. ' format: date-time meta: $ref: '#/components/schemas/metaEmpty_Full' description: 'Response payload for the BigCommerce API. ' example: data: title: irur text: anim aute status: Lorem ad sed voluptate rating: 3 email: esse Lorem laborum aute name: 'ut in ' date_reviewed: '2011-12-31T13:40:42.971Z' id: 82495037 product_id: 22609026 date_created: '1985-01-17T07:37:20.439Z' date_modified: '2004-09-28T14:38:21.973Z' meta: {} '404': description: 'The resource was not found. ' content: application/json: schema: title: Not Found type: object properties: status: type: integer description: '404 HTTP status code. ' title: type: string description: The error title describing the particular error. type: type: string instance: type: string description: Error payload for the BigCommerce API. put: tags: - Reviews summary: BigCommerce Update a Product Review description: 'Updates a *Product Review*. **Required Fields** * none **Read-Only Fields** * id' operationId: updateProductReview parameters: - $ref: '#/components/parameters/ContentType' requestBody: description: 'A BigCommerce `ProductReview` object. ' content: application/json: schema: title: Product Review Put description: 'The model for a PUT to update a product review. ' allOf: - title: Product Review Base required: - date_reviewed - title type: object properties: title: maxLength: 255 minLength: 0 type: string description: 'The title for the product review. Required in /POST.' text: type: string description: 'The text for the product review. ' status: type: string description: 'The status of the product review. Must be one of `approved`, `disapproved` or `pending`. ' rating: type: integer description: The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5. email: type: string description: The email of the reviewer. Must be a valid email, or an empty string. name: maxLength: 255 minLength: 0 type: string description: The name of the reviewer. date_reviewed: type: string description: 'Date the product was reviewed. Required in /POST. ' format: date-time required: true responses: '200': description: '' content: application/json: schema: title: Product Review Response type: object properties: data: title: Product Review type: object description: 'A product review model. ' allOf: - title: Product Review Base required: - date_reviewed - title type: object properties: title: maxLength: 255 minLength: 0 type: string description: 'The title for the product review. Required in /POST.' text: type: string description: 'The text for the product review. ' status: type: string description: 'The status of the product review. Must be one of `approved`, `disapproved` or `pending`. ' rating: type: integer description: The rating of the product review. Must be one of 0, 1, 2, 3, 4, 5. email: type: string description: The email of the reviewer. Must be a valid email, or an empty string. name: maxLength: 255 minLength: 0 type: string description: The name of the reviewer. date_reviewed: type: string description: 'Date the product was reviewed. Required in /POST. ' format: date-time - type: object properties: id: type: integer description: 'The unique numeric ID of the product review; increments sequentially. ' product_id: type: integer description: 'The unique numeric identifier for the product with which the review is associated. ' date_created: type: string description: 'Date the product review was created. ' format: date-time date_modified: type: string description: 'Date the product review was modified. ' format: date-time meta: $ref: '#/components/schemas/metaEmpty_Full' description: 'Response payload for the BigCommerce API. ' example: data: title: irur text: anim aute status: Lorem ad sed voluptate rating: 3 email: esse Lorem laborum aute name: 'ut in ' date_reviewed: '2011-12-31T13:40:42.971Z' id: 82495037 product_id: 22609026 date_created: '1985-01-17T07:37:20.439Z' date_modified: '2004-09-28T14:38:21.973Z' meta: {} '404': description: 'The resource was not found. ' content: application/json: schema: title: Not Found type: object properties: status: type: integer description: '404 HTTP status code. ' title: type: string description: The error title describing the particular error. type: type: string instance: type: string description: Error payload for the BigCommerce API. x-codegen-request-body-name: productReview delete: tags: - Reviews summary: BigCommerce Delete a Product Review description: Deletes a *Product Review*. operationId: deleteProductReview responses: '204': description: '' content: {} components: parameters: Accept: name: Accept in: header required: true description: The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body. schema: type: string default: application/json ProductIdParam: name: product_id in: path description: 'The ID of the `Product` to which the resource belongs. ' required: true schema: type: integer ContentType: name: Content-Type in: header required: true description: The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body. schema: type: string default: application/json ReviewIdParam: name: review_id description: 'The ID of the `review` that is being operated on. ' required: true in: path schema: type: integer schemas: metaEmpty_Full: type: object title: Response meta properties: {} additionalProperties: true description: Response metadata. metaCollection_Full: title: metaCollection_Full type: object properties: pagination: $ref: '#/components/schemas/pagination_Full' description: Data about the response, including pagination and collection totals. x-internal: false pagination_Full: title: pagination_Full type: object properties: total: type: integer description: 'Total number of items in the result set. ' example: 36 count: type: integer description: 'Total number of items in the collection response. ' example: 36 per_page: type: integer description: 'The amount of items returned in the collection per page, controlled by the limit parameter. ' example: 50 current_page: type: integer description: 'The page you are currently on within the collection. ' example: 1 total_pages: type: integer description: 'The total number of pages in the collection. ' example: 1 links: type: object properties: previous: type: string description: 'Link to the previous page returned in the response. ' current: type: string description: 'Link to the current page returned in the response. ' example: ?page=1&limit=50 next: type: string description: 'Link to the next page returned in the response. ' description: 'Pagination links for the previous and next parts of the whole collection. ' description: Data about the response, including pagination and collection totals. x-internal: false securitySchemes: X-Auth-Token: name: X-Auth-Token description: '### OAuth scopes | UI Name | Permission | Parameter | |:--|:--|:-| | Information & Settings | read-only | `store_v2_information_read_only`| | Information & Settings | modify | `store_v2_information` | ### Authentication header | Header | Argument | Description | |:-|:|:| | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). | ### Further reading For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests). For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes). For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).' type: apiKey in: header