Skip to content
Guides
CatalogProducts
catalog:update

Create product review

POST/v1/catalog/products/{productId}/reviews

Create product review. A successful request returns HTTP 200 with the documented response body.

Authorization

bearerAuth
AuthorizationBearer <token>

OAuth2 access token issued by Ecomiq Auth.

In: header

Path Parameters

productId*string

Identifier of the product.

Header Parameters

x-Store-Id?string

Store the request acts on. Not needed when the token is bound to a store.

Authorization*string

OAuth 2.0 bearer token.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X POST "https://example.com/v1/catalog/products/7204558912004325301/reviews" \  -H "x-Store-Id: <store-id>" \  -H "Authorization: Bearer <token>" \  -H "Content-Type: application/json" \  -d '{    "rating": 1,    "content": "example",    "title": "Example title",    "reviewerName": "Example resource",    "reviewerEmail": "andrea@example.com",    "customerId": "7204558912004325301",    "orderId": "7204558912004325301",    "status": "pending"  }'
{  "id": "7204558912004325301",  "productId": "7204558912004325301",  "productName": "Example resource",  "customerId": "7204558912004325301",  "orderId": "7204558912004325301",  "isVerifiedPurchase": false,  "rating": 1,  "title": "Example title",  "content": "example",  "reviewerName": "Example resource",  "reviewerEmail": "andrea@example.com",  "status": "pending",  "approvedAt": "2026-08-01T15:30:00Z",  "approvedBy": "2f40d7e4-3d9c-4ab2-b04e-7a6a132db821",  "createdOn": "2026-08-01T15:30:00Z",  "updatedOn": "2026-08-01T15:30:00Z"}