Markup rules control how supplier cost prices are transformed into customer-facing storefront prices. Each rule is scoped to a customer and can target all products (Documentation 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.
"all"), a specific category ("category:{name}"), or a specific product ("product:{supplier_sku}"). The push payload endpoints combine markup rules with storefront overrides to produce the exact input n8n needs for OPS GraphQL mutations.
Markup rule endpoints
List rules for a customer
priority descending (highest priority applied first).
Example:
Rule UUID
Customer UUID
Rule scope:
"all" (customer-wide), "category:{name}" (e.g. "category:T-Shirts"), or "product:{supplier_sku}"Markup percentage (e.g.
40 = 40% above cost)Minimum margin floor in dollars, or null
none | nearest_99 | nearest_dollarHigher number = applied first when multiple rules match
Create a rule
Delete a rule
{"deleted": true}. 404 if the rule does not exist.
Push payload endpoints
These endpoints require theX-Ingest-Secret header — they are intended for n8n workflows, not the admin UI.
OPS-ready push payload
setProduct mutation.
Headers: X-Ingest-Secret: <INGEST_SHARED_SECRET>
OPS variants bundle
ops_products_id query param (default 0) to set the OPS product ID on each size/price entry.
Response:
OPS product options
enabled = true. The master_option_id and ops_attribute_id are included as source_* fields for traceback into push mappings.
Headers: X-Ingest-Secret: <INGEST_SHARED_SECRET>