Skip to content
BolderBolder API
Esc
navigateopen⌘Jpreview

List products

Returns products scoped to the authenticated account.

Scope behaviour:

  • Tokens with products.read (or products.write) scoped to a seller/account: automatically scoped to the account’s own sellers — no extra params needed.
  • Tokens without an account/seller scope: shop_subdomains is required (prevents enumeration).
GET/products
Authorization
AuthorizationBearer token (JWT) · headerrequired
Query parameters
qstring
Full-text search query across product name and description.
statusstring
Filter by visibility. Account-scoped tokens may use `hidden` or `all`.
default: "visible"
Allowed:visiblehiddenall
pageinteger
min 1 · default: 1
per_pageinteger
min 1 · max 200 · default: 20
idsstring
Comma-separated product IDs.
collectionsstring
Comma-separated collection slugs. Returns products belonging to all listed collections.
tagsstring
Comma-separated product tags to filter by.
skustring
Filter by exact variant SKU.
product_type_idinteger
Filter by product type ID.
price_gtenumber
Minimum sale price (inclusive).
price_ltenumber
Maximum sale price (inclusive).
stock_gteinteger
Minimum stock quantity (inclusive). Use `1` to exclude out-of-stock items.
stock_lteinteger
Maximum stock quantity (inclusive).
created_on_gtestring<date-time>
Products created on or after this ISO 8601 timestamp.
created_on_ltestring<date-time>
Products created on or before this ISO 8601 timestamp.
updated_on_gtestring<date-time>
Products updated on or after this ISO 8601 timestamp.
updated_on_ltestring<date-time>
Products updated on or before this ISO 8601 timestamp.
sortstring
Sort order for results.
default: "created_on_desc"
Allowed:created_on_asccreated_on_descupdated_on_ascupdated_on_descprice_ascprice_descmodel_ascmodel_desc
currencystring
ISO 4217 currency code to filter by.
price_list_idinteger
Return prices from this price list instead of the default.
shop_subdomainsstring
Comma-separated shop subdomains. **Required** for god-level tokens. Ignored for account-scoped tokens.
suggestboolean
Return lightweight suggestion objects for autocomplete (fewer fields rendered).
default: false
exactboolean
When `true`, `q` is matched exactly rather than as a prefix/fuzzy query.
default: false
Responses
200Paginated list of products
total_itemsinteger
per_pageinteger
pageinteger
_linksHalLinks
_classstring[]
_embeddedobject
Show properties
productsProduct[]
Show properties
Array of Product
_linksHalLinks
idinteger
namestring
Product display name.
slugstring
class_namestring
statusstring
Allowed:visiblehidden
descriptionstring
short_descriptionstring
is_bundleboolean
is_deliverableboolean
has_optionsboolean
tagsstring[]
currency_codestring
bundle_price_modestring
Allowed:pricesum
bundle_discountnumber
regular_pricenumber
In cents
pricenumber
Effective price in cents
sale_pricenumber
In cents
sale_price_starts_atstring<date-time>
sale_price_ends_atstring<date-time>
has_multiple_pricesboolean
discount_percentagenumber
safety_stockinteger
availableboolean
stockinteger
Current stock
online_stockinteger
all_stockinteger
Stock across all locations
vendorstring
variant_optionsobject[]
Show properties
Array of object
namestring
valuestring
global_tagsstring[]
stocksobject
stocks_per_locationobject
cart_max_quantityinteger
cart_quantity_multipleinteger
list_pricesobject[]
Show properties
Array of object
price_list_idinteger
pricenumber
created_onstring<date-time>
updated_onstring<date-time>
401Invalid or missing token
403Access denied
422Missing required parameter (e.g. `shop_subdomains` for tokens without an account/seller scope)
Request
curl -X GET "https://api.onbolder.com/v2/products" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "_class": [
    "results",
    "products"
  ],
  "total_items": 2,
  "per_page": 20,
  "page": 1,
  "_links": {
    "self": {
      "href": "https://api.onbolder.com/v2/products"
    },
    "shops:show": {
      "href": "https://api.onbolder.com/v2/shops/1"
    }
  },
  "_embedded": {
    "items": [
      {
        "id": 101,
        "name": "Summer Dress",
        "slug": "summer-dress",
        "status": "visible",
        "price": 49.99,
        "regular_price": 69.99,
        "currency": "USD",
        "created_on": "2024-03-15T10:00:00Z",
        "_links": {
          "self": {
            "href": "https://api.onbolder.com/v2/products/101"
          },
          "products:update": {
            "href": "https://api.onbolder.com/v2/products/101",
            "method": "put"
          },
          "products:delete": {
            "href": "https://api.onbolder.com/v2/products/101",
            "method": "delete"
          }
        }
      },
      {
        "id": 102,
        "name": "Linen Shirt",
        "slug": "linen-shirt",
        "status": "visible",
        "price": 35,
        "regular_price": 35,
        "currency": "USD",
        "created_on": "2024-02-10T08:30:00Z",
        "_links": {
          "self": {
            "href": "https://api.onbolder.com/v2/products/102"
          }
        }
      }
    ]
  }
}