Skip to content
BolderBolder API
Esc
navigateopen⌘Jpreview

List product groups

Returns aggregated product groups (collections, product types, vendors, tags) — a cross-collection discovery search, not CRUD on a real “product group” table.

Filtering:

  • shop_id — scopes to that shop’s seller.
  • seller_id — scopes to that seller.
  • Neither given — account-scoped, across all of the token’s sellers.

q (substring match on name/slug) and id + group_type (direct lookup of a single group; group_type is one of collection, product_type, vendor, tag) work the same way under all three filters. Tags are only included in the q and id/group_type results — the unfiltered/default listing (most-recently-updated) never includes tags. Not paginated — only per_page applies (default 10, max 25); there is no page param.

GET/product_groups
Authorization
AuthorizationBearer token (JWT) · headerrequired
Query parameters
shop_idinteger
Filter by shop ID.
seller_idinteger
Filter by seller ID. Ignored if `shop_id` is present.
qstring
Substring search on name/slug (includes tags).
idinteger
Look up a single group by id. Requires `group_type` (includes tags).
group_typestring
Required together with `id`.
Allowed:collectionproduct_typevendortag
per_pageinteger
max 25 · default: 10
Responses
200Product groups list
Request
curl -X GET "https://api.onbolder.com/v2/product_groups" \
  -H "Authorization: Bearer YOUR_TOKEN"
Response
{
  "_class": [
    "results",
    "product_groups"
  ],
  "total_items": 3,
  "per_page": 10,
  "page": 1,
  "_embedded": {
    "items": [
      {
        "type": "collection",
        "id": 1,
        "name": "Summer",
        "slug": "summer",
        "products_count": 12,
        "updated_at": "2026-07-01T10:00:00Z"
      },
      {
        "type": "product_type",
        "id": 2,
        "name": "Clothing",
        "slug": "clothing",
        "products_count": 45,
        "updated_at": "2026-06-15T09:30:00Z"
      }
    ]
  }
}