Error
A valid request URL is required to generate request examples{
"data": [
{
"id": "<string>",
"object": "product",
"merchant_id": "<string>",
"name": "<string>",
"description": "<string>",
"active": true,
"images": [
"<string>"
],
"metadata": {},
"livemode": true,
"default_price_id": "<string>",
"unit_label": "<string>",
"product_kind": "digital",
"cross_sells": [
{
"price_id": "<string>",
"intent": "standard"
}
],
"created_at": 123,
"updated_at": 123,
"default_price": {
"id": "<string>",
"object": "price",
"product_id": "<string>",
"merchant_id": "<string>",
"unit_amount": 123,
"currency": "<string>",
"type": "one_time",
"active": true,
"nickname": "<string>",
"metadata": {},
"livemode": true,
"created_at": 123,
"updated_at": 123,
"recurring": {
"interval": "day",
"interval_count": 123,
"usage_type": "licensed"
}
},
"representative_price": {
"id": "<string>",
"object": "price",
"product_id": "<string>",
"merchant_id": "<string>",
"unit_amount": 123,
"currency": "<string>",
"type": "one_time",
"active": true,
"nickname": "<string>",
"metadata": {},
"livemode": true,
"created_at": 123,
"updated_at": 123,
"recurring": {
"interval": "day",
"interval_count": 123,
"usage_type": "licensed"
}
},
"prices_count": 123
}
],
"has_more": true,
"next_cursor": "<string>"
}{
"error": {
"code": "INVALID_REQUEST",
"message": "invalid request body"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Products and prices
List products
Returns a paginated list of products with enrichment data: default price, representative price, and price count.
GET
/
products
Error
A valid request URL is required to generate request examples{
"data": [
{
"id": "<string>",
"object": "product",
"merchant_id": "<string>",
"name": "<string>",
"description": "<string>",
"active": true,
"images": [
"<string>"
],
"metadata": {},
"livemode": true,
"default_price_id": "<string>",
"unit_label": "<string>",
"product_kind": "digital",
"cross_sells": [
{
"price_id": "<string>",
"intent": "standard"
}
],
"created_at": 123,
"updated_at": 123,
"default_price": {
"id": "<string>",
"object": "price",
"product_id": "<string>",
"merchant_id": "<string>",
"unit_amount": 123,
"currency": "<string>",
"type": "one_time",
"active": true,
"nickname": "<string>",
"metadata": {},
"livemode": true,
"created_at": 123,
"updated_at": 123,
"recurring": {
"interval": "day",
"interval_count": 123,
"usage_type": "licensed"
}
},
"representative_price": {
"id": "<string>",
"object": "price",
"product_id": "<string>",
"merchant_id": "<string>",
"unit_amount": 123,
"currency": "<string>",
"type": "one_time",
"active": true,
"nickname": "<string>",
"metadata": {},
"livemode": true,
"created_at": 123,
"updated_at": 123,
"recurring": {
"interval": "day",
"interval_count": 123,
"usage_type": "licensed"
}
},
"prices_count": 123
}
],
"has_more": true,
"next_cursor": "<string>"
}{
"error": {
"code": "INVALID_REQUEST",
"message": "invalid request body"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
A merchant secret key (sk_…) sent as Authorization: Bearer <key>.
Headers
Merchant ID when an authorized Platform acts for a connected Merchant. Omit when authenticating directly as that Merchant.
Pattern:
^mer_[0-9A-Za-z]{14}$Query Parameters
Filter by active status.
Full-text search filter on product name.
Page size (default 20, max 100).
Required range:
1 <= x <= 100Number of records to skip.
Required range:
x >= 0Cursor: a product id (typically the previous response's next_cursor). Returns results strictly after it, newest first. Cannot be combined with offset.
Response
A paginated list of products.

