{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "_slug": { "description": "Entry identifier (URL slug / filename without extension)", "type": "string" }, "category": { "description": "Product category", "enum": [ "electronics", "clothing", "books", "food", "other" ], "type": "string" }, "created_at": { "format": "date-time", "readOnly": true, "type": "string" }, "description": { "description": "Detailed product description", "maxLength": 5000, "type": "string" }, "images": { "description": "Product image URLs (1–10)", "items": { "description": "Product image", "oneOf": [ { "description": "Reference (slug) to collection 'img'", "type": "string" }, { "properties": { "description": { "description": "Alt text / description", "type": "string" }, "src": { "description": "Image URL", "type": "string" } }, "required": [ "src" ], "type": "object" } ] }, "maxItems": 10, "minItems": 1, "type": "array" }, "in_stock": { "default": true, "description": "Whether the product is in stock", "type": "boolean" }, "price": { "description": "Price in EUR", "minimum": 0.0, "type": "number" }, "rating": { "description": "Average customer rating (null if unrated)", "maximum": 5.0, "minimum": 0.0, "nullable": true, "type": "number" }, "sku": { "description": "Stock Keeping Unit (e.g. EL-1234, BOOK-00042)", "pattern": "^[A-Z]{2,4}-\\d{3,6}$", "type": "string" }, "title": { "description": "Product name", "maxLength": 200, "minLength": 1, "type": "string" } }, "required": [ "_slug", "title", "sku", "price", "category" ], "type": "object" }