List products (deprecated)
const url = 'https://api.example.com/products?limit=20';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.example.com/products?limit=20' \ --header 'Authorization: Bearer <token>'Retrieve a paginated list of products.
⚠️ Deprecated. Returns a reduced field set and will be removed in a
future release. Use GET /products/search for new
integrations — it returns the full product record and supports
incremental sync via updatedAfter + syncToken.
Returns only products with status = "active" (queries a status index);
does not filter on the archive flag.
Authorizations
Section titled “Authorizations ”Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ”Maximum number of products to return.
Base64-encoded cursor for the next page.
Responses
Section titled “ Responses ”A page of products.
object
Reduced product record returned by the deprecated GET /products
list endpoint — a narrow, hardcoded DynamoDB projection (not the DTO
below). Exhaustive: these are the only fields that endpoint can ever
return.
object
Base64 cursor for the next page; null on the last page.
Example
{ "products": [ { "id": "ac1198a7-33f9-460c-b648-5cbbf9841869", "productCode": "PRD-XQEPWD", "brandName": "Wanabiwood Flooring", "category": "Beauty", "description": "Advanced technology increases capabilities", "price": 3227.15, "createdAt": "2025-11-21T15:56:18.847Z" } ], "lastKey": "eyJpZCI6ImFjMTE5OGE3In0="}Authentication required or failed.
object
Machine-readable code. Best-effort — the generic 500 path carries none.
Unique request ID for tracing.
object
Example
{ "error": "UNAUTHORIZED", "message": "Valid authentication token required."}Insufficient permissions (missing scope or Admin role).
object
Machine-readable code. Best-effort — the generic 500 path carries none.
Unique request ID for tracing.
object
Example
{ "error": "FORBIDDEN", "message": "Insufficient scope for this operation."}