Queek docs
Storefront endpoint reference

Products

GET
/store/products

The store’s published catalogue, one page at a time: walk with starting_after = the previous next_cursor while has_more is true, or read page=N (≤ 100 per page). No totals or page counts are sent. Filter with keyword, category_slug (or category_id), sort (latest|popular|price_low|price_high), has_video, and metafield[namespace.key]=value (typed, exact match against the store’s own definitions). Every price is the final customer price.

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

starting_after?string

Keyset cursor: pass the previous page next_cursor. Walk while has_more is true; a stale, tampered, cross-list or filter-changed cursor answers 422 starting_after_invalid. Never combine with page.

limit?integer

Items per read (alias of per_page, max 100). page mode caps at page 50 (page_too_deep); walk the cursor past that.

metafield[custom.fabric]?string

Filter to products whose custom.fabric metafield exactly equals this value (metafield[namespace.key]=value, ANDed across handles, at most 5). The definition behind the handle is on GET store/metafield-definitions.

keyword?string

Search product titles and descriptions (at most 100 chars).

Lengthlength <= 100
category_slug?string

Filter to one category by slug (resolved to its id — send either this or category_id, never both).

Lengthlength <= 120
category_id?string

Filter to one category by id (UUID).

Formatuuid
sort?string

Ordering: latest (default), popular, price_low, price_high.

Default"latest"

Value in

  • "latest"
  • "popular"
  • "price_low"
  • "price_high"
has_video?boolean

Only products with a video (true) or without one (false).

per_page?integer

Items per page (1–100).

Range1 <= value <= 100
page?integer

Page number.

Range1 <= value
attributes[Size]?string

Filter to variants carrying these option pairs (attributes[Option]=Value, one entry per option).

ids[]?array<>

Hand-pick products by id (theme blocks that feature exact products; at most 20 UUIDs).

Itemsitems <= 20
locale?string

Render this read in a published store locale (see GET store/locales). Unknown or unpublished codes fall back to the primary locale; the answer carries the locale used in Content-Language.

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/products?starting_after=WzEsIjRhOTYzOGNlMjFlYTllNWFiOWJlMmZmZDdkZjA2ZWI5MTVmMzVhMzNlMmQ4NjU1MDUyNjBjNGQ3NTQ1YWZkNTEiLCJleUp3Y205a2RXTjBjeTVqY21WaGRHVmtYMkYwSWpvaU1qQXlOaTB3T1MweU1DQXhNRG93TURvd01DSXNJbkJ5YjJSMVkzUnpMbWxrSWpvaU1ERTVZakJqTkdRdE5XVTJaaTAzWVRoaUxUbGpNR1F0TVdVeVpqTmhOR0kxWXpFeElpd2lYM0J2YVc1MGMxUnZUbVY0ZEVsMFpXMXpJanAwY25WbGZRIl0&limit=15&metafield%5Bcustom.fabric%5D=cotton&keyword=ankara&category_id=019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c21&sort=latest&has_video=false&per_page=15&page=1&attributes%5BSize%5D=M&ids%5B%5D=019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11" \  -H "X-Client-Key: {{clientKey}}"
{  "status": "success",  "message": "Products retrieved",  "data": [    {      "shop_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01",      "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11",      "p_id": 31501,      "title": "Ankara Midi Dress",      "slug": "ankara-midi-dress",      "excerpt": "Flared ankara midi with pockets, cut in Lagos.",      "description": "Our signature flared midi in premium cotton ankara, with side pockets and a concealed back zip. Cut and finished in our Lekki atelier.",      "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",      "thumbnail_image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",      "video_url": null,      "video_poster_url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",      "type": "product",      "commerce_mode": "shop",      "currency": "NGN",      "price": 28500,      "discount_price": 24225,      "compare_at_price": 28500,      "is_price_from": false,      "price_range": {        "min": 28500,        "max": 28500      },      "has_variants": true,      "has_addons": false,      "tax_inclusive": false,      "discount": {        "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c31",        "title": "Lagos Fashion Week 15% Off",        "type": "percentage",        "value": 15,        "amount": 4275,        "final_price": 24225,        "image_url": "https://media.usequeek.com/uploads/stores/2207/discounts/fashion-week.jpg"      },      "discounts": [        {          "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c31",          "title": "Lagos Fashion Week 15% Off",          "type": "percentage",          "value": 15,          "amount": 4275,          "final_price": 24225,          "image_url": "https://media.usequeek.com/uploads/stores/2207/discounts/fashion-week.jpg"        }      ],      "media": {        "thumbnail": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",        "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",        "original": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",        "primary_variant_image": null,        "image_variants": {          "thumb": {            "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",            "w": null,            "h": null          },          "card": {            "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",            "w": 480,            "h": 600          },          "card2x": {            "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",            "w": 800,            "h": 1000          },          "view": {            "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",            "w": 1200,            "h": 1500          },          "wa": {            "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",            "w": 1080,            "h": 1350          },          "original": {            "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",            "w": 1200,            "h": 1500          }        },        "primary_variant_image_variants": null,        "images": [          {            "id": 77101,            "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",            "alt": "Ankara midi dress on a mannequin",            "variants": {              "thumb": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",                "w": null,                "h": null              },              "card": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",                "w": 480,                "h": 600              },              "card2x": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",                "w": 800,                "h": 1000              },              "view": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",                "w": 1200,                "h": 1500              },              "wa": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",                "w": 1080,                "h": 1350              },              "original": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",                "w": 1200,                "h": 1500              }            }          },          {            "id": 77103,            "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",            "alt": "Ankara midi dress, back view",            "variants": {              "thumb": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-thumb.webp",                "w": null,                "h": null              },              "card": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",                "w": 480,                "h": 600              },              "card2x": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card2x.webp",                "w": 800,                "h": 1000              },              "view": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-view.webp",                "w": 1200,                "h": 1500              },              "wa": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-wa.jpg",                "w": 1080,                "h": 1350              },              "original": {                "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back.jpg",                "w": 1200,                "h": 1500              }            }          }        ]      },      "inventory": {        "in_stock": true,        "tracking": true,        "quantity": 18      },      "variant_summary": {        "count": 3,        "min_price": 28500,        "max_price": 28500,        "total_stock": 18,        "tracks_inventory": true,        "in_stock": true      },      "variants_count": 3,      "rating": 4.5,      "review_count": 132,      "flags": {        "featured": false,        "is_marketplace": false,        "is_wholesale": false,        "is_new": false      },      "metafields": {},      "created_at": "2026-06-18 09:40:00",      "updated_at": "2026-09-22 16:05:00"    },    {      "shop_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01",      "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c12",      "p_id": 31502,      "title": "Aso-Oke Head Wrap",      "slug": "aso-oke-head-wrap",      "excerpt": "Hand-woven aso-oke wrap in burnt orange.",      "description": "Hand-woven aso-oke head wrap in burnt orange with metallic striping. Two metres, ready to tie.",      "image": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",      "thumbnail_image": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-thumb.webp",      "video_url": null,      "video_poster_url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",      "type": "product",      "commerce_mode": "shop",      "currency": "NGN",      "price": 8500,      "discount_price": 8500,      "compare_at_price": null,      "is_price_from": false,      "price_range": null,      "has_variants": false,      "has_addons": false,      "tax_inclusive": false,      "discount": null,      "discounts": [],      "media": {        "thumbnail": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-thumb.webp",        "image": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",        "original": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap.jpg",        "primary_variant_image": null,        "image_variants": {          "thumb": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-thumb.webp",            "w": null,            "h": null          },          "card": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",            "w": 480,            "h": 480          },          "card2x": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card2x.webp",            "w": 800,            "h": 800          },          "view": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-view.webp",            "w": 1200,            "h": 1200          },          "wa": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-wa.jpg",            "w": 1080,            "h": 1080          },          "original": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap.jpg",            "w": 1200,            "h": 1200          }        },        "primary_variant_image_variants": null,        "images": [          {            "id": 77102,            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",            "alt": "Burnt-orange aso-oke head wrap, folded",            "variants": {              "thumb": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-thumb.webp",                "w": null,                "h": null              },              "card": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",                "w": 480,                "h": 480              },              "card2x": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card2x.webp",                "w": 800,                "h": 800              },              "view": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-view.webp",                "w": 1200,                "h": 1200              },              "wa": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-wa.jpg",                "w": 1080,                "h": 1080              },              "original": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap.jpg",                "w": 1200,                "h": 1200              }            }          }        ]      },      "inventory": {        "in_stock": true,        "tracking": true,        "quantity": 34      },      "variant_summary": null,      "variants_count": 0,      "rating": 4.9,      "review_count": 58,      "flags": {        "featured": false,        "is_marketplace": false,        "is_wholesale": false,        "is_new": false      },      "metafields": {},      "created_at": "2026-07-02 13:15:00",      "updated_at": "2026-09-22 16:05:00"    }  ],  "meta": {    "listing_mode": "listing",    "filters": {      "attributes": [        {          "name": "Size",          "slug": "size",          "type": "size",          "values": [            {              "value": "L",              "slug": "l",              "count": 1,              "selected": false,              "color_code": null            },            {              "value": "M",              "slug": "m",              "count": 1,              "selected": false,              "color_code": null            },            {              "value": "S",              "slug": "s",              "count": 1,              "selected": false,              "color_code": null            }          ]        }      ]    }  },  "has_more": false,  "next_cursor": null}
GET
/store/products/{slug}

Full product by slug: images (with image_variants), price and compare_at_price when discounted, description, has_variants with variants[] and options, stock flags, category and collections.

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

Path Parameters

slug*string

Query Parameters

locale?string

Render this read in a published store locale (see GET store/locales). Unknown or unpublished codes fall back to the primary locale; the answer carries the locale used in Content-Language.

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/products/ankara-midi-dress" \  -H "X-Client-Key: {{clientKey}}"
{  "status": "success",  "message": "Product retrieved",  "data": {    "shop_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01",    "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11",    "p_id": 31501,    "title": "Ankara Midi Dress",    "slug": "ankara-midi-dress",    "excerpt": "Flared ankara midi with pockets, cut in Lagos.",    "description": "Our signature flared midi in premium cotton ankara, with side pockets and a concealed back zip. Cut and finished in our Lekki atelier.",    "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",    "thumbnail_image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",    "video_url": null,    "video_poster_url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",    "type": "product",    "commerce_mode": "shop",    "currency": "NGN",    "price": 28500,    "discount_price": 24225,    "compare_at_price": 28500,    "is_price_from": false,    "price_range": {      "min": 28500,      "max": 28500    },    "has_variants": true,    "has_addons": false,    "tax_inclusive": false,    "discount": {      "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c31",      "title": "Lagos Fashion Week 15% Off",      "type": "percentage",      "value": 15,      "amount": 4275,      "final_price": 24225,      "image_url": "https://media.usequeek.com/uploads/stores/2207/discounts/fashion-week.jpg"    },    "discounts": [      {        "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c31",        "title": "Lagos Fashion Week 15% Off",        "type": "percentage",        "value": 15,        "amount": 4275,        "final_price": 24225,        "image_url": "https://media.usequeek.com/uploads/stores/2207/discounts/fashion-week.jpg"      }    ],    "media": {      "thumbnail": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",      "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",      "original": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",      "primary_variant_image": null,      "image_variants": {        "thumb": {          "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",          "w": null,          "h": null        },        "card": {          "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",          "w": 480,          "h": 600        },        "card2x": {          "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",          "w": 800,          "h": 1000        },        "view": {          "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",          "w": 1200,          "h": 1500        },        "wa": {          "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",          "w": 1080,          "h": 1350        },        "original": {          "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",          "w": 1200,          "h": 1500        }      },      "primary_variant_image_variants": null,      "images": [        {          "id": 77101,          "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",          "alt": "Ankara midi dress on a mannequin",          "variants": {            "thumb": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",              "w": null,              "h": null            },            "card": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",              "w": 480,              "h": 600            },            "card2x": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",              "w": 800,              "h": 1000            },            "view": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",              "w": 1200,              "h": 1500            },            "wa": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",              "w": 1080,              "h": 1350            },            "original": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",              "w": 1200,              "h": 1500            }          }        },        {          "id": 77103,          "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",          "alt": "Ankara midi dress, back view",          "variants": {            "thumb": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-thumb.webp",              "w": null,              "h": null            },            "card": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",              "w": 480,              "h": 600            },            "card2x": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card2x.webp",              "w": 800,              "h": 1000            },            "view": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-view.webp",              "w": 1200,              "h": 1500            },            "wa": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-wa.jpg",              "w": 1080,              "h": 1350            },            "original": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back.jpg",              "w": 1200,              "h": 1500            }          }        }      ],      "video_url": null,      "video_poster_url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp"    },    "inventory": {      "in_stock": true,      "tracking": true,      "quantity": 18,      "allow_backorder": false,      "low_stock_threshold": 5,      "updated_at": "2026-09-22 16:05:00"    },    "variant_summary": {      "count": 3,      "min_price": 28500,      "max_price": 28500,      "total_stock": 18,      "tracks_inventory": true,      "in_stock": true    },    "variants_count": 3,    "rating": 4.5,    "review_count": 132,    "flags": {      "featured": false,      "is_marketplace": false,      "is_wholesale": false,      "is_new": false    },    "metafields": {},    "created_at": "2026-06-18 09:40:00",    "updated_at": "2026-09-22 16:05:00",    "shop": {      "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01",      "name": "Zuri Atelier",      "slug": "zuri-atelier",      "logo": "https://media.usequeek.com/uploads/stores/2207/logo.png",      "rating": 4.7,      "rating_count": 486    },    "addons": [],    "taxonomy": {      "categories": [        {          "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c21",          "name": "Dresses",          "slug": "dresses"        }      ],      "tags": [],      "brand": null,      "collections": [        {          "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c25",          "name": "New Season",          "slug": "new-season",          "mode": "manual"        }      ]    },    "purchase_limits": {      "min_qty": 1,      "max_qty": null,      "step_qty": 1    },    "measurement": {      "weight": {        "value": 0.5,        "unit": "kg"      },      "dimensions": null    },    "specs": [],    "options": [      {        "name": "Size",        "type": "size",        "values": [          "S",          "M",          "L"        ],        "values_detailed": [          {            "value": "S",            "color_code": null,            "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg"          },          {            "value": "M",            "color_code": null,            "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg"          },          {            "value": "L",            "color_code": null,            "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg"          }        ]      }    ],    "variants": [      {        "id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a01",        "sku": "ZRA-AMD-S",        "title": "S",        "option_values": {          "Size": "S"        },        "price": 28500,        "discount_price": 24225,        "discount_amount": 4275,        "has_discount": true,        "compare_at_price": null,        "stock": 6,        "track_inventory": true,        "is_active": true,        "in_stock": true,        "weight": 0.4,        "position": 0,        "media": {          "thumbnail": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",          "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",          "image_media_id": null,          "image_variants": {            "thumb": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",              "w": null,              "h": null            },            "card": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",              "w": 480,              "h": 600            },            "card2x": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",              "w": 800,              "h": 1000            },            "view": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",              "w": 1200,              "h": 1500            },            "wa": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",              "w": 1080,              "h": 1350            },            "original": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",              "w": 1200,              "h": 1500            }          },          "images": [            {              "id": 77101,              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",              "alt": "Ankara midi dress on a mannequin",              "variants": {                "thumb": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",                  "w": null,                  "h": null                },                "card": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",                  "w": 480,                  "h": 600                },                "card2x": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",                  "w": 800,                  "h": 1000                },                "view": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",                  "w": 1200,                  "h": 1500                },                "wa": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",                  "w": 1080,                  "h": 1350                },                "original": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",                  "w": 1200,                  "h": 1500                }              }            },            {              "id": 77103,              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",              "alt": "Ankara midi dress, back view",              "variants": {                "thumb": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-thumb.webp",                  "w": null,                  "h": null                },                "card": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",                  "w": 480,                  "h": 600                },                "card2x": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card2x.webp",                  "w": 800,                  "h": 1000                },                "view": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-view.webp",                  "w": 1200,                  "h": 1500                },                "wa": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-wa.jpg",                  "w": 1080,                  "h": 1350                },                "original": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back.jpg",                  "w": 1200,                  "h": 1500                }              }            }          ],          "video_url": null,          "source": "product"        }      },      {        "id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a02",        "sku": "ZRA-AMD-M",        "title": "M",        "option_values": {          "Size": "M"        },        "price": 28500,        "discount_price": 24225,        "discount_amount": 4275,        "has_discount": true,        "compare_at_price": null,        "stock": 8,        "track_inventory": true,        "is_active": true,        "in_stock": true,        "weight": 0.45,        "position": 1,        "media": {          "thumbnail": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",          "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",          "image_media_id": null,          "image_variants": {            "thumb": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",              "w": null,              "h": null            },            "card": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",              "w": 480,              "h": 600            },            "card2x": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",              "w": 800,              "h": 1000            },            "view": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",              "w": 1200,              "h": 1500            },            "wa": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",              "w": 1080,              "h": 1350            },            "original": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",              "w": 1200,              "h": 1500            }          },          "images": [            {              "id": 77101,              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",              "alt": "Ankara midi dress on a mannequin",              "variants": {                "thumb": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",                  "w": null,                  "h": null                },                "card": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",                  "w": 480,                  "h": 600                },                "card2x": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",                  "w": 800,                  "h": 1000                },                "view": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",                  "w": 1200,                  "h": 1500                },                "wa": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",                  "w": 1080,                  "h": 1350                },                "original": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",                  "w": 1200,                  "h": 1500                }              }            },            {              "id": 77103,              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",              "alt": "Ankara midi dress, back view",              "variants": {                "thumb": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-thumb.webp",                  "w": null,                  "h": null                },                "card": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",                  "w": 480,                  "h": 600                },                "card2x": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card2x.webp",                  "w": 800,                  "h": 1000                },                "view": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-view.webp",                  "w": 1200,                  "h": 1500                },                "wa": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-wa.jpg",                  "w": 1080,                  "h": 1350                },                "original": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back.jpg",                  "w": 1200,                  "h": 1500                }              }            }          ],          "video_url": null,          "source": "product"        }      },      {        "id": "019b0c4d-5f10-7a02-8c61-0b2d4e6f8a03",        "sku": "ZRA-AMD-L",        "title": "L",        "option_values": {          "Size": "L"        },        "price": 28500,        "discount_price": 24225,        "discount_amount": 4275,        "has_discount": true,        "compare_at_price": null,        "stock": 4,        "track_inventory": true,        "is_active": true,        "in_stock": true,        "weight": 0.5,        "position": 2,        "media": {          "thumbnail": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",          "image": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",          "image_media_id": null,          "image_variants": {            "thumb": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",              "w": null,              "h": null            },            "card": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",              "w": 480,              "h": 600            },            "card2x": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",              "w": 800,              "h": 1000            },            "view": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",              "w": 1200,              "h": 1500            },            "wa": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",              "w": 1080,              "h": 1350            },            "original": {              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",              "w": 1200,              "h": 1500            }          },          "images": [            {              "id": 77101,              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",              "alt": "Ankara midi dress on a mannequin",              "variants": {                "thumb": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-thumb.webp",                  "w": null,                  "h": null                },                "card": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card.webp",                  "w": 480,                  "h": 600                },                "card2x": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-card2x.webp",                  "w": 800,                  "h": 1000                },                "view": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-view.webp",                  "w": 1200,                  "h": 1500                },                "wa": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-wa.jpg",                  "w": 1080,                  "h": 1350                },                "original": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress.jpg",                  "w": 1200,                  "h": 1500                }              }            },            {              "id": 77103,              "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",              "alt": "Ankara midi dress, back view",              "variants": {                "thumb": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-thumb.webp",                  "w": null,                  "h": null                },                "card": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card.webp",                  "w": 480,                  "h": 600                },                "card2x": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-card2x.webp",                  "w": 800,                  "h": 1000                },                "view": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-view.webp",                  "w": 1200,                  "h": 1500                },                "wa": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back-wa.jpg",                  "w": 1080,                  "h": 1350                },                "original": {                  "url": "https://media.usequeek.com/uploads/stores/2207/ankara-midi-dress-back.jpg",                  "w": 1200,                  "h": 1500                }              }            }          ],          "video_url": null,          "source": "product"        }      }    ],    "fulfillment": {      "type": "delivery_or_pickup",      "is_digital": false,      "delivery_available": true,      "pickup_available": true,      "lead_time_min": null,      "lead_time_max": null    },    "compliance": {      "warranty_months": 0,      "country_of_origin": null,      "safety_notes": null    },    "seo": {      "meta_title": null,      "meta_description": null,      "canonical_url": null,      "keywords": []    },    "analytics": {      "sales_count": 0,      "view_count": 0,      "favorite_count": 0,      "review_count": 132    }  }}
GET
/store/products/{slug}/related

Products to show alongside one product (same category/collections), for "you may also like".

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

Path Parameters

slug*string

Query Parameters

locale?string

Render this read in a published store locale (see GET store/locales). Unknown or unpublished codes fall back to the primary locale; the answer carries the locale used in Content-Language.

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/products/ankara-midi-dress/related" \  -H "X-Client-Key: {{clientKey}}"
{  "status": "success",  "message": "Related products",  "data": [    {      "shop_id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01",      "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c12",      "p_id": 31502,      "title": "Aso-Oke Head Wrap",      "slug": "aso-oke-head-wrap",      "excerpt": "Hand-woven aso-oke wrap in burnt orange.",      "description": "Hand-woven aso-oke head wrap in burnt orange with metallic striping. Two metres, ready to tie.",      "image": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",      "thumbnail_image": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-thumb.webp",      "video_url": null,      "video_poster_url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",      "type": "product",      "commerce_mode": "shop",      "currency": "NGN",      "price": 8500,      "discount_price": 8500,      "compare_at_price": null,      "is_price_from": false,      "price_range": null,      "has_variants": false,      "has_addons": false,      "tax_inclusive": false,      "discount": null,      "discounts": [],      "media": {        "thumbnail": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-thumb.webp",        "image": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",        "original": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap.jpg",        "primary_variant_image": null,        "image_variants": {          "thumb": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-thumb.webp",            "w": null,            "h": null          },          "card": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",            "w": 480,            "h": 480          },          "card2x": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card2x.webp",            "w": 800,            "h": 800          },          "view": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-view.webp",            "w": 1200,            "h": 1200          },          "wa": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-wa.jpg",            "w": 1080,            "h": 1080          },          "original": {            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap.jpg",            "w": 1200,            "h": 1200          }        },        "primary_variant_image_variants": null,        "images": [          {            "id": 77102,            "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",            "alt": "Burnt-orange aso-oke head wrap, folded",            "variants": {              "thumb": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-thumb.webp",                "w": null,                "h": null              },              "card": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card.webp",                "w": 480,                "h": 480              },              "card2x": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-card2x.webp",                "w": 800,                "h": 800              },              "view": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-view.webp",                "w": 1200,                "h": 1200              },              "wa": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap-wa.jpg",                "w": 1080,                "h": 1080              },              "original": {                "url": "https://media.usequeek.com/uploads/stores/2207/aso-oke-head-wrap.jpg",                "w": 1200,                "h": 1200              }            }          }        ]      },      "inventory": {        "in_stock": true,        "tracking": true,        "quantity": 34      },      "variant_summary": null,      "variants_count": 0,      "rating": 4.9,      "review_count": 58,      "flags": {        "featured": false,        "is_marketplace": false,        "is_wholesale": false,        "is_new": false      },      "metafields": {},      "created_at": "2026-07-02 13:15:00",      "updated_at": "2026-09-22 16:05:00",      "shop": {        "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c01",        "name": "Zuri Atelier",        "slug": "zuri-atelier",        "logo": "https://media.usequeek.com/uploads/stores/2207/logo.png",        "rating": 4.7,        "rating_count": 486      }    }  ],  "has_more": false,  "next_cursor": null}
GET
/store/products/{slug}/reviews

Paginated reviews for one product: rating, text, reviewer name, date.

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

Path Parameters

slug*string

Query Parameters

rating?|

Value in

  • "1"
  • "2"
  • "3"
  • "4"
  • "5"
  • null
sort?|

Value in

  • "newest"
  • "oldest"
  • "highest"
  • "lowest"
  • null
with_media?boolean|null
per_page?|
Range1 <= value <= 50
page?string
starting_after?string

Keyset cursor: pass the previous page next_cursor. Walk while has_more is true; a stale, tampered, cross-list or filter-changed cursor answers 422 starting_after_invalid. Never combine with page.

limit?integer

Items per read (alias of per_page, max 50). page mode caps at page 50 (page_too_deep); walk the cursor past that.

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

application/json

curl -X GET "https://example.com/store/products/ankara-midi-dress/reviews?rating=5&sort=newest&per_page=10&limit=15" \  -H "X-Client-Key: {{clientKey}}"
{  "status": "success",  "message": "Product reviews retrieved",  "data": {    "product": {      "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11",      "slug": "ankara-midi-dress",      "title": "Ankara Midi Dress"    },    "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",        "status": "approved",        "is_verified_purchase": true,        "created_at": "2026-09-20T17:44:00.000000Z",        "updated_at": "2026-09-21T09:05: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"        }      },      {        "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,        "status": "approved",        "is_verified_purchase": true,        "created_at": "2026-09-22T10:20:00.000000Z",        "updated_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"        }      }    ]  },  "has_more": false,  "next_cursor": null}
GET
/store/products/{slug}/reviews/summary

Average rating, review count and the 1–5 star distribution for one product.

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

Path Parameters

slug*string

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/products/ankara-midi-dress/reviews/summary" \  -H "X-Client-Key: {{clientKey}}"
{  "status": "success",  "message": "Product review summary retrieved",  "data": {    "product": {      "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11",      "slug": "ankara-midi-dress",      "title": "Ankara Midi Dress"    },    "summary": {      "average_rating": 4.5,      "total_reviews": 132,      "rating_breakdown": {        "1": 3,        "2": 4,        "3": 9,        "4": 27,        "5": 89      }    },    "latest_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",        "status": "approved",        "is_verified_purchase": true,        "created_at": "2026-09-20T17:44:00.000000Z",        "updated_at": "2026-09-21T09:05: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"        }      }    ]  },  "has_more": false,  "next_cursor": null}
GET
/store/products/{slug}/questions

Customer questions on one product with the store’s answers, paginated.

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

Path Parameters

slug*string

Query Parameters

per_page?|
Range1 <= value <= 50
page?string
starting_after?string

Keyset cursor: pass the previous page next_cursor. Walk while has_more is true; a stale, tampered, cross-list or filter-changed cursor answers 422 starting_after_invalid. Never combine with page.

limit?integer

Items per read (alias of per_page, max 50). page mode caps at page 50 (page_too_deep); walk the cursor past that.

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

application/json

curl -X GET "https://example.com/store/products/ankara-midi-dress/questions?per_page=10&limit=15" \  -H "X-Client-Key: {{clientKey}}"
{  "status": "success",  "message": "Product questions retrieved",  "data": {    "product": {      "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c11",      "slug": "ankara-midi-dress",      "title": "Ankara Midi Dress"    },    "questions": [      {        "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c61",        "question": "Does this run true to size? I am between M and L.",        "answer": "It runs true to size — take M if you are between sizes. The L is cut for a relaxed owambe fit.",        "status": "answered",        "created_at": "2026-09-19T08:12:00.000000Z",        "answered_at": "2026-09-19T13:30:00.000000Z",        "user": {          "id": "019b0c4d-5e6f-7a8b-9c0d-1e2f3a4b5c51",          "name": "Adaeze Okafor",          "avatar": "https://media.usequeek.com/uploads/avatars/adaeze-okafor.jpg"        }      }    ]  },  "has_more": false,  "next_cursor": null}