cURL
curl -X GET "https://dash.joinmarkt.com/api/merchant/v1/stores/STORE_ID/feedback" \
-H "Authorization: Bearer $JOIN_MARKT_API_KEY"const res = await fetch("https://dash.joinmarkt.com/api/merchant/v1/stores/STORE_ID/feedback", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.JOIN_MARKT_API_KEY}`,
},
})
const data = await res.json()import os, requests
res = requests.get(
"https://dash.joinmarkt.com/api/merchant/v1/stores/STORE_ID/feedback",
headers={"Authorization": f"Bearer {os.environ['JOIN_MARKT_API_KEY']}"},
)
data = res.json(){
"feedbacks": [
{
"id": "cmvupd7g10001vd68g4a3qvms",
"storeId": "cmvuo0akc0002vdesum2w5xa1",
"rating": 5,
"comment": "Great theme.",
"customerName": "Lina K.",
"customerEmail": "buyer@example.com",
"productName": "Nova — SaaS Landing Page Template",
"productImage": null,
"reply": null,
"repliedAt": null,
"createdAt": "2026-10-23T13:34:42.710Z",
"updatedAt": "2026-10-30T08:20:54.385Z"
},
{
"id": "cmvupd7g50003vd68sfizxaic",
"storeId": "cmvuo0akc0002vdesum2w5xa1",
"rating": 5,
"comment": "Set it up in one evening. The guide is clear and the code is clean.",
"customerName": "Marco D.",
"customerEmail": "buyer@example.com",
"productName": "Atelier — Fashion Store Theme",
"productImage": null,
"reply": null,
"repliedAt": null,
"createdAt": "2026-10-18T10:28:59.376Z",
"updatedAt": "2026-10-30T08:20:54.389Z"
}
],
"ratingCounts": {
"1": 0,
"2": 0,
"3": 4,
"4": 19,
"5": 57,
"all": 80
},
"page": 1,
"limit": 2,
"total": 80
}{
"error": "Product not found",
"code": "NOT_FOUND"
}{
"error": "Product not found",
"code": "NOT_FOUND"
}{
"error": "Product not found",
"code": "NOT_FOUND"
}{
"error": "Product not found",
"code": "NOT_FOUND"
}List reviews
Buyer reviews, newest first, with a count per star rating.
Scope: feedback:read
GET
/
api
/
merchant
/
v1
/
stores
/
{storeId}
/
feedback
cURL
curl -X GET "https://dash.joinmarkt.com/api/merchant/v1/stores/STORE_ID/feedback" \
-H "Authorization: Bearer $JOIN_MARKT_API_KEY"const res = await fetch("https://dash.joinmarkt.com/api/merchant/v1/stores/STORE_ID/feedback", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.JOIN_MARKT_API_KEY}`,
},
})
const data = await res.json()import os, requests
res = requests.get(
"https://dash.joinmarkt.com/api/merchant/v1/stores/STORE_ID/feedback",
headers={"Authorization": f"Bearer {os.environ['JOIN_MARKT_API_KEY']}"},
)
data = res.json(){
"feedbacks": [
{
"id": "cmvupd7g10001vd68g4a3qvms",
"storeId": "cmvuo0akc0002vdesum2w5xa1",
"rating": 5,
"comment": "Great theme.",
"customerName": "Lina K.",
"customerEmail": "buyer@example.com",
"productName": "Nova — SaaS Landing Page Template",
"productImage": null,
"reply": null,
"repliedAt": null,
"createdAt": "2026-10-23T13:34:42.710Z",
"updatedAt": "2026-10-30T08:20:54.385Z"
},
{
"id": "cmvupd7g50003vd68sfizxaic",
"storeId": "cmvuo0akc0002vdesum2w5xa1",
"rating": 5,
"comment": "Set it up in one evening. The guide is clear and the code is clean.",
"customerName": "Marco D.",
"customerEmail": "buyer@example.com",
"productName": "Atelier — Fashion Store Theme",
"productImage": null,
"reply": null,
"repliedAt": null,
"createdAt": "2026-10-18T10:28:59.376Z",
"updatedAt": "2026-10-30T08:20:54.389Z"
}
],
"ratingCounts": {
"1": 0,
"2": 0,
"3": 4,
"4": 19,
"5": 57,
"all": 80
},
"page": 1,
"limit": 2,
"total": 80
}{
"error": "Product not found",
"code": "NOT_FOUND"
}{
"error": "Product not found",
"code": "NOT_FOUND"
}{
"error": "Product not found",
"code": "NOT_FOUND"
}{
"error": "Product not found",
"code": "NOT_FOUND"
}Authorizations
Your Merchant API key. Create one in Dashboard → Developers → API keys.
Path Parameters
Your store id. Find it in Dashboard → Developers, or in GET /stores with MCP.
Query Parameters
Page number, starting at 1.
Required range:
x >= 1Items per page (1–100).
Required range:
1 <= x <= 100Only reviews with this many stars (1–5).
Required range:
1 <= x <= 5Response
A page of reviews.
The response is of type object.

