ecomone developers
Open Ecomone
Docs / API reference / Reviews

Reviews

Product reviews.

List reviews#

GET/api/public/v1/reviewsreviews:read

List reviews, newest first. Lists product reviews of the shop.

Query parameters

limitinteger

Page size. Clamped to 1..200. Non-numeric values fall back to the default. Default: 50.

cursorstring (ISO 8601 timestamp)

Value of next_cursor from the previous page. Returns items with created_at strictly before this timestamp.

statusstring

Exact status (e.g. pending, published, hidden).

product_iduuid

Only reviews of this product.

ratinginteger 1-5

Only this star rating. Ignored unless a single digit 1-5.

shop_iduuid

Only for OAuth tokens that cover several shops: the shop to query. Must be one of the token's shops (else 403 forbidden). Required when the token covers more than one shop (else 400 shop_required). Optional for API keys (a key belongs to exactly one shop; any other value returns 403).

Response fields

dataarray

Items of this page.

next_cursorstring|null

created_at of the last item when more items exist, otherwise null.

data[].iduuid

Review id.

data[].product_iduuid|null

Reviewed product.

data[].order_iduuid|null

Order the review is linked to.

data[].customer_emailstring|null

Reviewer e-mail.

data[].customer_namestring|null

Reviewer display name.

data[].customer_countrystring|null

Reviewer country.

data[].ratinginteger

1-5 stars.

data[].titlestring|null

Review title.

data[].bodystring|null

Review text.

data[].mediaarray (raw JSON)

Photos/videos as stored.

data[].statusstring

Moderation status. Values seen in code: pending, published, hidden.

data[].verified_purchaseboolean

Verified purchase flag.

data[].helpful_countinteger

Helpful votes.

data[].replystring|null

Merchant reply.

data[].replied_attimestamp|null

Reply time.

data[].featuredboolean

Featured flag.

data[].sourcestring|null

Origin of the review (e.g. imported).

data[].published_attimestamp|null

Publication time.

data[].created_attimestamp

Creation time; pagination key.

data[].updated_attimestamp

Last update.

Errors

401unauthorized

Any endpoint. Response carries header WWW-Authenticate: Bearer resource_metadata="<origin>/.well-known/oauth-protected-resource".

403forbidden

Scope check per endpoint (and per body field on PATCH /orders/:id).

403forbidden

shop_id query parameter names a shop outside the credential's reach.

400shop_required

Multi-shop OAuth token without shop_id.

404not_found

Any endpoint when the resolved shop has active=false.

429rate_limited

Any endpoint. Header Retry-After (seconds until the next minute bucket).

500server_error

Any endpoint.

Try itNot authorized
Request
curl "https://api.ecomone.shop/api/public/v1/reviews?limit=10" \
  -H "X-Api-Key: $ECOMONE_API_KEY" \
  -H "X-Api-Secret: $ECOMONE_API_SECRET"
200Response
{
  "data": [
    {
      "id": "7e2f4c11-9999-4bbb-8ccc-0d1e2f3a4b5c",
      "product_id": "3b8b1f0a-1d2c-4f34-8a7c-6e2f9b4d5c11",
      "order_id": "9f1c2b7e-4a55-4d1f-9b62-1c0a3f6d8e21",
      "customer_email": "jane.doe@example.com",
      "customer_name": "Jane D.",
      "customer_country": "CH",
      "rating": 5,
      "title": "Great quality",
      "body": "Fits perfectly.",
      "media": [],
      "status": "published",
      "verified_purchase": true,
      "helpful_count": 3,
      "reply": null,
      "replied_at": null,
      "featured": false,
      "source": null,
      "published_at": "2026-07-19T16:40:00.000Z",
      "created_at": "2026-07-19T16:32:00.000Z",
      "updated_at": "2026-07-19T16:40:00.000Z"
    }
  ],
  "next_cursor": null
}

Retrieve a review#

GET/api/public/v1/reviews/{id}reviews:read

Retrieve one review. Lookup by UUID only.

Path parameters

iduuidrequired

Review UUID.

Query parameters

shop_iduuid

Only for OAuth tokens that cover several shops: the shop to query. Must be one of the token's shops (else 403 forbidden). Required when the token covers more than one shop (else 400 shop_required). Optional for API keys (a key belongs to exactly one shop; any other value returns 403).

Response fields

data.iduuid

Review id.

data.product_iduuid|null

Reviewed product.

data.order_iduuid|null

Order the review is linked to.

data.customer_emailstring|null

Reviewer e-mail.

data.customer_namestring|null

Reviewer display name.

data.customer_countrystring|null

Reviewer country.

data.ratinginteger

1-5 stars.

data.titlestring|null

Review title.

data.bodystring|null

Review text.

data.mediaarray (raw JSON)

Photos/videos as stored.

data.statusstring

Moderation status. Values seen in code: pending, published, hidden.

data.verified_purchaseboolean

Verified purchase flag.

data.helpful_countinteger

Helpful votes.

data.replystring|null

Merchant reply.

data.replied_attimestamp|null

Reply time.

data.featuredboolean

Featured flag.

data.sourcestring|null

Origin of the review (e.g. imported).

data.published_attimestamp|null

Publication time.

data.created_attimestamp

Creation time; pagination key.

data.updated_attimestamp

Last update.

Errors

400bad_request

Detail endpoints and PATCH.

404not_found

Detail endpoints.

401unauthorized

Any endpoint. Response carries header WWW-Authenticate: Bearer resource_metadata="<origin>/.well-known/oauth-protected-resource".

403forbidden

Scope check per endpoint (and per body field on PATCH /orders/:id).

403forbidden

shop_id query parameter names a shop outside the credential's reach.

400shop_required

Multi-shop OAuth token without shop_id.

404not_found

Any endpoint when the resolved shop has active=false.

429rate_limited

Any endpoint. Header Retry-After (seconds until the next minute bucket).

500server_error

Any endpoint.

Try itNot authorized
Request
curl "https://api.ecomone.shop/api/public/v1/reviews/3b0e1c52-7d1a-4c2e-9a51-6c8f2d4e7b10" \
  -H "X-Api-Key: $ECOMONE_API_KEY" \
  -H "X-Api-Secret: $ECOMONE_API_SECRET"
200Response
{
  "data": {
    "id": "7e2f4c11-9999-4bbb-8ccc-0d1e2f3a4b5c",
    "product_id": "3b8b1f0a-1d2c-4f34-8a7c-6e2f9b4d5c11",
    "order_id": "9f1c2b7e-4a55-4d1f-9b62-1c0a3f6d8e21",
    "customer_email": "jane.doe@example.com",
    "customer_name": "Jane D.",
    "customer_country": "CH",
    "rating": 5,
    "title": "Great quality",
    "body": "Fits perfectly.",
    "media": [],
    "status": "published",
    "verified_purchase": true,
    "helpful_count": 3,
    "reply": null,
    "replied_at": null,
    "featured": false,
    "source": null,
    "published_at": "2026-07-19T16:40:00.000Z",
    "created_at": "2026-07-19T16:32:00.000Z",
    "updated_at": "2026-07-19T16:40:00.000Z"
  }
}

Authorize requests

Requests go straight from your browser to https://api.ecomone.shop. Your credentials stay in this browser tab and are never sent to this documentation site.