Products
GET /v1/products
Returns the catalog your reseller is opted in to sell, with your per-reseller selling price and the JSON Schema each product's line-item metadata must conform to.
Line-item metadata schema
Each product carries a JSON Schema. The order create endpoint validates each line item's metadata against the schema and rejects with metadata_schema_mismatch on failure.
Example schema for website-starter:
{
"type": "object",
"required": ["businessName", "domain"],
"properties": {
"businessName": { "type": "string", "minLength": 1, "maxLength": 200 },
"domain": { "type": "string", "pattern": "^[a-z0-9.-]+\\.[a-z]{2,}$" },
"niche": { "type": "string", "maxLength": 100 },
"brandColor": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
"notes": { "type": "string", "maxLength": 2000 }
},
"additionalProperties": false
}Pricing
wholesalePriceCents is your wholesale — what jsys charges you per unit for this product. sellingPriceCents is what you charge your end customer, set per reseller-product mapping via the portal. Your wallet is debited the wholesale on each order; the margin (sellingPriceCents − wholesalePriceCents) is yours to keep when you collect from your customer.