Queek docs
Storefront endpoint reference

Reviews

GET
/store/reviews

Recent reviews across the whole store with the overall rating — for a homepage testimonials section.

Authorization

clientKey
X-Client-Key<token>

The store's API key (Dashboard → Settings → API keys). pk_live_… public keys are for browser code and only work from an origin on the key's allowlist; sk_live_… private keys are for servers and native apps and need no Origin.

In: header

Query Parameters

scope?|

Value in

  • "vendor"
  • "product"
  • "ids"
  • null
product_slug?|
Lengthlength <= 255
ids[]?array<>
Formatuuid
min_rating?|

Value in

  • "1"
  • "2"
  • "3"
  • "4"
  • "5"
  • null
verified_only?boolean|null
with_media?boolean|null
limit?|
Range1 <= value <= 24
sort?|

Value in

  • "newest"
  • "highest"
  • "featured"
  • null

Header Parameters

X-Client-Key*string

Your store API key (Dashboard → Settings → API keys). pk_live_… public keys are for browser code and only work from an origin on the key's allowlist; sk_live_… private keys are for servers and native apps and need no Origin.

X-Request-Id?string

Your own correlation id (8–128 chars, ^[A-Za-z0-9_.:-]+$). Echoed back on the response and on every log line of the request; one is generated when you omit it.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/store/reviews?scope=vendor&min_rating=4&limit=6&sort=newest" \  -H "X-Client-Key: {{clientKey}}"
{  "status": "success",  "message": "Storefront reviews block retrieved",  "data": {    "scope": "vendor",    "vendor_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01",    "summary": {      "average_rating": 4.5,      "total_reviews": 132,      "rating_breakdown": {        "1": 3,        "2": 4,        "3": 9,        "4": 27,        "5": 89      }    },    "reviews": [      {        "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c55",        "rating": 5,        "title": "Perfect fit, rich fabric",        "description": "The M fits exactly like the size guide says and the cotton is thick, not the market thin stuff. Wore it to a wedding.",        "media": [],        "vendor_response": "Thank you Adaeze — you wore it so well! Send us pictures next time.",        "vendor_response_at": "2026-09-21T09:05:00.000000Z",        "is_verified_purchase": true,        "created_at": "2026-09-20T17:44:00.000000Z",        "edited_at": null,        "submitted_at": null,        "source": null,        "author_display_name": null,        "user": {          "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c51",          "name": "Adaeze Okafor",          "avatar": "https://media.usequeek.com/uploads/avatars/adaeze-okafor.jpg"        },        "product": {          "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11",          "slug": "ankara-midi-dress",          "title": "Ankara Midi Dress",          "thumbnail": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg"        }      },      {        "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c56",        "rating": 4,        "title": "Lovely, delivery took a while",        "description": "Dress is beautiful and well finished. Took four days to reach Abuja, so order early.",        "media": [],        "vendor_response": null,        "vendor_response_at": null,        "is_verified_purchase": true,        "created_at": "2026-09-22T10:20:00.000000Z",        "edited_at": null,        "submitted_at": null,        "source": null,        "author_display_name": null,        "user": {          "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c52",          "name": "Funmi Adeyinka",          "avatar": "https://media.usequeek.com/uploads/avatars/funmi-adeyinka.jpg"        },        "product": {          "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11",          "slug": "ankara-midi-dress",          "title": "Ankara Midi Dress",          "thumbnail": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg"        }      }    ]  },  "has_more": false,  "next_cursor": null}