Hub Gateway API
List Products List the publish-gated B2B catalog, paged.
List the Hub-visible catalog for the distributor browse page. Only
publish-gated products are returned (active, QC-passed, approved supplier, and a
priced primary variant). Response sets cache-control: no-store.
Parameter Data Type Required Description x-hub-api-keystring true Shared Hub service key.
Parameter Data Type Required Description Default limitinteger false Page size, clamped to 1–100. 20offsetinteger false Zero-based offset, clamped to >= 0. 0qstring false Case-insensitive title search. — categorystring false Category handle filter. —
curl "https://<your-b2b-host>/api/hub/products?limit=20&offset=0&category=dining" \
-H "x-hub-api-key: $HUB_API_KEY "
Parameter Data Type Description itemsarray The page of catalog lines (see below). totalinteger Total number of visible products matching the filter. limitinteger Echoed page size. offsetinteger Echoed offset.
Each items[] entry:
Field Data Type Description idstring Product id. titlestring Product title. subtitlestring | null Secondary title. descriptionstring | null Product description. brandstring | null Brand name. categorystring | null Primary category name. supplierNamestring Supplier / seller name. thumbnailstring | null Primary image URL. warehouseSkustring | null Primary variant warehouse SKU. costPriceobject Primary variant cost { unitAmount, currency } (cents). costMinobject Lowest cost across priced active variants. costMaxobject Highest cost across priced active variants. availableinteger | null Aggregate sellable stock; null if any variant is untracked. inStockboolean Whether the product has sellable stock.
{
"items" : [
{
"id" : "prod_123" ,
"title" : "Oak Dining Table" ,
"subtitle" : "Solid wood" ,
"description" : "…" ,
"brand" : "Homei" ,
"category" : "Dining" ,
"supplierName" : "Homei Furniture Co." ,
"thumbnail" : "https://…/img.jpg" ,
"warehouseSku" : "OAK-DT-01" ,
"costPrice" : { "unitAmount" : 12900 , "currency" : "USD" },
"costMin" : { "unitAmount" : 12900 , "currency" : "USD" },
"costMax" : { "unitAmount" : 15900 , "currency" : "USD" },
"available" : 42 ,
"inStock" : true
}
],
"total" : 137 ,
"limit" : 20 ,
"offset" : 0
}
Status Body Description 401{ "error": "Unauthorized" }Bad or missing API key. 500{ "error": "Failed to load products" }Unhandled server error.