Skip to content

List products (deprecated)

Deprecated
GET
/products
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.

limit
integer
default: 20

Maximum number of products to return.

lastKey
string

Base64-encoded cursor for the next page.

A page of products.

Media type application/json
object
products
Array<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
id
string
productCode
string
brandName
string
category
string
description
string
price
number
imageUrl
string
nullable
createdAt
string format: date-time
lastKey

Base64 cursor for the next page; null on the last page.

string
nullable
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.

Media type application/json
object
error

Machine-readable code. Best-effort — the generic 500 path carries none.

string
message
required
string
requestId

Unique request ID for tracing.

string
nullable
details
object
key
additional properties
any
Example
{
"error": "UNAUTHORIZED",
"message": "Valid authentication token required."
}

Insufficient permissions (missing scope or Admin role).

Media type application/json
object
error

Machine-readable code. Best-effort — the generic 500 path carries none.

string
message
required
string
requestId

Unique request ID for tracing.

string
nullable
details
object
key
additional properties
any
Example
{
"error": "FORBIDDEN",
"message": "Insufficient scope for this operation."
}