Skip to main content

Endpoint

GET /api/hub/catalogs/{catalogId}/preview
Returns the first 10 products from a published Hub catalog, plus aggregate summary statistics. This endpoint does not require authentication and does not require a clone or subscription — it’s designed for evaluating a catalog before committing. Returns 404 for private or unpublished catalogs.

Path parameters

ParameterTypeRequiredDescription
catalogIdstringYesThe Hub catalog ID (from the browse endpoint)

Response

{
  "catalogId": "hub_cat_9x8k2m",
  "name": "Spring 2026 Apparel",
  "products": [
    {
      "id": "prod_preview_1",
      "title": "Blue Linen Blazer",
      "sku": "BLZ-BLUE-M",
      "brand": "EuroStyle",
      "categoryPath": "Apparel > Outerwear > Blazers",
      "price": 89.99,
      "currency": "USD",
      "primaryImageUrl": "https://cdn.example.com/blz-blue-m.jpg",
      "score": 85,
      "availability": "in_stock"
    }
  ],
  "summary": {
    "total": 512,
    "avgScore": 78,
    "topCategories": [
      { "name": "Apparel > Tops", "count": 145 },
      { "name": "Apparel > Outerwear", "count": 98 },
      { "name": "Apparel > Bottoms", "count": 87 }
    ],
    "topBrands": [
      { "name": "EuroStyle", "count": 210 },
      { "name": "MediterraFashion", "count": 156 },
      { "name": "AlpinaWear", "count": 88 }
    ]
  }
}

Product fields (preview)

FieldTypeDescription
idstringStable product ID within this Hub catalog
titlestringProduct name
skustringStock-keeping unit
brandstringBrand name
categoryPathstringFull category path
pricenumberSelling price
currencystringISO 4217 code
primaryImageUrlstringMain product image
scorenumberOptimization score (0–100)
availabilitystring"in_stock", "out_of_stock", or "preorder"

Summary fields

FieldTypeDescription
totalnumberTotal products in the catalog
avgScorenumberAverage optimization score
topCategoriesarrayTop 5 categories by product count
topBrandsarrayTop 5 brands by product count

Examples

# Preview a Hub catalog (no authentication required)
curl "https://app.alana.shopping/api/hub/catalogs/hub_cat_9x8k2m/preview"

Usage pattern

Preview is typically used before cloning or subscribing:

Error responses

HTTP statusCodeDescription
404CATALOG_NOT_FOUNDCatalog does not exist, is private, or has been unpublished
429RATE_LIMIT_EXCEEDED60 requests/minute for public endpoint
Private catalogs always return 404 — the same response as non-existent catalogs. This prevents enumeration of private catalog IDs.
Last modified on March 18, 2026