List all products
Returns a paginated list of products across all shops accessible to the token. Supports rich filtering, full-text search, and sorting.
GET
/productsAuthorization
AuthorizationBearer token (JWT) · headerrequiredOAuth 2.0 Bearer token. Obtain via `POST https://auth.onbolder.com/oauth/token`.
Query parameters
pageintegerPage number
default: 1
per_pageintegerItems per page
default: 50
qstringFull-text search query
statusstringVisibility status filter
default: "visible"
Allowed:
visiblehiddenallshop_subdomainsstringComma-separated shop subdomains, e.g. `romano,acme`
shop_idsstringComma-separated shop IDs, e.g. `123,456`
collectionsstringComma-separated collection slugs, e.g. `featured,summer`
tagsstringComma-separated tag names, e.g. `green,red`
variantsstringComma-separated variant titles, e.g. `xl,s`
skustringComma-separated SKU codes
currencystringCurrency code, e.g. `USD`
price_gteintegerMinimum price in cents (inclusive)
price_lteintegerMaximum price in cents (inclusive)
discount_percentage_gtenumberMinimum discount percentage (inclusive)
discount_percentage_ltenumberMaximum discount percentage (inclusive)
created_on_gtestring<date-time>Created on or after, e.g. `2025-12-22 12:00:00`
created_on_ltestring<date-time>Created on or before
updated_on_gtestring<date-time>Updated on or after
updated_on_ltestring<date-time>Updated on or before
sortstringSort column and direction
default: "created_on.desc"
Allowed:
title.asctitle.descprice.ascprice.desccreated_on.asccreated_on.descupdated_on.ascupdated_on.descdiscount_percentage.ascdiscount_percentage.descResponses
200Paginated products list
total_itemsintegerpageintegerper_pageinteger_linksobjectShow propertiesHide properties
selfHalLinkShow propertiesHide properties
hrefstringmethodstringtitlestringtypestringtemplatedbooleannextHalLinkShow propertiesHide properties
hrefstringmethodstringtitlestringtypestringtemplatedbooleanlastHalLinkShow propertiesHide properties
hrefstringmethodstringtitlestringtypestringtemplatedboolean_embeddedobjectShow propertiesHide properties
itemsProductSummary[]Show propertiesHide properties
Array of
ProductSummaryidstringslugstringtitlestringstatusstringAllowed:
visiblehiddenpriceintegerPrice in cents
price_comparisoninteger | nullOriginal/comparison price in cents ("was" price)
discount_percentagenumber | nullcurrency_codestringvendorstringtagsstring[]created_onstring<date-time>updated_onstring<date-time>_linksobject_embeddedobjectShow propertiesHide properties
shopShopSummaryShow propertiesHide properties
idstringnamestringsubdomainstringurlstringdescriptionstringcurrency_codestringlocalestringcreated_onstring<date-time>updated_onstring<date-time>product_countsobjectShow propertiesHide properties
visibleintegerhiddeninteger_linksobjectimageProductImageShow propertiesHide properties
file_namestringtitlestring_linksImageLinksLinks to image at various sizes
Show propertiesHide properties
thumbnailHalLinkShow propertiesHide properties
hrefstringmethodstringtitlestringtypestringtemplatedbooleansmallHalLinkShow propertiesHide properties
hrefstringmethodstringtitlestringtypestringtemplatedbooleanmediumHalLinkShow propertiesHide properties
hrefstringmethodstringtitlestringtypestringtemplatedbooleanlargeHalLinkShow propertiesHide properties
hrefstringmethodstringtitlestringtypestringtemplatedbooleanoriginalHalLinkShow propertiesHide properties
hrefstringmethodstringtitlestringtypestringtemplatedbooleanvariantsVariantSummary[]Show propertiesHide properties
Array of
VariantSummaryidintegertitlestringskustring | nullpriceintegerprice_comparisoninteger | nullstockintegeravailable_if_no_stockbooleanweight_in_gramsintegercollectionsCollection[]Show propertiesHide properties
Array of
Collectionidintegertitlestringslugstringshop_idintegerRequest
curl -X GET "https://api.onbolder.com/v1/products" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.onbolder.com/v1/products", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"https://api.onbolder.com/v1/products",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"total_items": 0,
"page": 0,
"per_page": 0,
"_links": {
"self": {
"href": "string",
"method": "string",
"title": "string",
"type": "string",
"templated": true
},
"next": {
"href": "string",
"method": "string",
"title": "string",
"type": "string",
"templated": true
},
"last": {
"href": "string",
"method": "string",
"title": "string",
"type": "string",
"templated": true
}
},
"_embedded": {
"items": [
{
"id": "string",
"slug": "string",
"title": "string",
"status": "visible",
"price": 0,
"price_comparison": 0,
"discount_percentage": 0,
"currency_code": "string",
"vendor": "string",
"tags": [
"string"
],
"created_on": "2019-08-24T14:15:22Z",
"updated_on": "2019-08-24T14:15:22Z",
"_links": {},
"_embedded": {
"shop": {
"id": "string",
"name": "string",
"subdomain": "string",
"url": "string",
"description": "string",
"currency_code": "string",
"locale": "string",
"created_on": "2019-08-24T14:15:22Z",
"updated_on": "2019-08-24T14:15:22Z",
"product_counts": {
"visible": 0,
"hidden": 0
},
"_links": {}
},
"image": {
"file_name": "string",
"title": "string",
"_links": {
"thumbnail": {
"href": "string",
"method": "string",
"title": "string",
"type": "string",
"templated": true
},
"small": {
"href": "string",
"method": "string",
"title": "string",
"type": "string",
"templated": true
},
"medium": {
"href": "string",
"method": "string",
"title": "string",
"type": "string",
"templated": true
},
"large": {
"href": "string",
"method": "string",
"title": "string",
"type": "string",
"templated": true
},
"original": {
"href": "string",
"method": "string",
"title": "string",
"type": "string",
"templated": true
}
}
},
"variants": [
{
"id": 0,
"title": "string",
"sku": "string",
"price": 0,
"price_comparison": 0,
"stock": 0,
"available_if_no_stock": true,
"weight_in_grams": 0
}
],
"collections": [
{
"id": 0,
"title": "string",
"slug": "string",
"shop_id": 0
}
]
}
}
]
}
}