The catalog module stores the canonical product data normalized from all supplier adapters. Products are typed as eitherDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/VisualGraphxLLC/API-HUB/llms.txt
Use this file to discover all available pages before exploring further.
apparel or print, which determines how their variants and pricing are structured. The list endpoint is the primary catalog browsing surface; the detail endpoint is used by the storefront PDP.
List products
Returns a paginated list of products with computed variant aggregates. Excludes archived products by default.Filter to a specific supplier.
Filter to a category and all its descendants. Uses a PostgreSQL recursive CTE to include subcategories automatically.
Filter to products that have been pushed to a specific customer’s OPS storefront (i.e., products with a
ProductPushLog entry for that customer).Exact-match filter on the
brand field.Case-insensitive substring search across
product_name, supplier_sku, and brand.Set to
true to return only archived products. Defaults to false (active products only).Number of records to skip for pagination.
Maximum records to return. Hard cap of 1000.
200 OK — array of ProductListRead
Product’s unique identifier.
Supplier that owns this product.
Supplier display name. Joined in the list query for convenience.
Supplier-assigned product number (e.g.,
PC61). Used as the primary lookup key with the supplier.Normalized product name.
Brand or manufacturer name.
Category name string (denormalized). Use
category_id for hierarchical queries.Either
apparel or print. Determines variant shape and pricing method.Primary image URL for list display.
OPS storefront product ID if this product has been pushed.
Number of color × size combinations (apparel) or print configurations.
Lowest
base_price across all variants.Highest
base_price across all variants.Sum of inventory across all variants.
ISO 8601 timestamp when archived.
null for active products.Get product detail
Returns the full product record including variants with tiered prices, all images grouped by color, configurable options with attributes, and type-specific details (apparel_details or print_details).
Unique product identifier.
200 OK — ProductRead
Images grouped by color key (lowercase, spaces replaced with underscores). Keys are color names; values are arrays of
ProductImageRead.Present for
product_type = "apparel". Contains pricing_method ("tiered_variant") and optional raw_payload.Present for
product_type = "print". Contains pricing_method ("formula"), dimension bounds (min_width, max_width, min_height, max_height), size_unit, and base_price_per_sq_unit.Preset print sizes. Each has
width, height, unit, and label. Non-empty only for print products.| Status | Detail |
|---|---|
404 Not Found | "Product not found" |
Archive and restore
Products can be soft-archived without deleting them from the database.archived=true to the list endpoint to retrieve them.