Skip to content
BolderBolder Developers
Esc
↑↓navigate↵open⌘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
200

Paginated 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>
401

Invalid or missing token

403

Access denied

422

Missing required parameter (e.g. shop_subdomains for tokens without an account/seller scope)

Try it
Server
Authorization
Parameters
Request
# List all visible products (account-scoped token)
curl -s -H "Authorization: Bearer $BOLDER_TOKEN" \
  "https://api.onbolder.com/v2/products"

# Search with filters
curl -s -H "Authorization: Bearer $BOLDER_TOKEN" \
  "https://api.onbolder.com/v2/products?q=shirt&status=visible&per_page=50"
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"
          }
        }
      }
    ]
  }
}

Was this page helpful?