{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://api.sigmaaldrich.com/schemas/product", "title": "SigmaAldrichProduct", "description": "Represents a research chemical, biochemical, or laboratory supply in the Sigma-Aldrich product catalog.", "type": "object", "required": ["catalogNumber", "name"], "properties": { "catalogNumber": { "type": "string", "description": "Sigma-Aldrich catalog number uniquely identifying this product" }, "name": { "type": "string", "description": "Official product name" }, "description": { "type": "string", "description": "Product description including key applications and specifications" }, "brand": { "type": "string", "enum": ["Sigma", "Aldrich", "Fluka", "Supelco", "Honeywell", "Riedel-de Haën"], "description": "Sigma-Aldrich brand under which this product is sold" }, "casNumber": { "type": "string", "pattern": "^\\d{1,7}-\\d{2}-\\d{1}$", "description": "Chemical Abstracts Service (CAS) Registry Number" }, "formula": { "type": "string", "description": "Molecular formula using Hill notation (e.g., C2H6O for ethanol)" }, "molecularWeight": { "type": "number", "minimum": 0, "description": "Molecular weight in g/mol" }, "smiles": { "type": "string", "description": "Simplified Molecular Input Line Entry System (SMILES) notation" }, "inchi": { "type": "string", "description": "IUPAC International Chemical Identifier (InChI)" }, "inchiKey": { "type": "string", "pattern": "^[A-Z]{14}-[A-Z]{10}-[A-Z]$", "description": "Hashed InChI key for chemical structure identification" }, "purity": { "type": "string", "description": "Purity specification (e.g., ≥99.5%, ACS reagent grade)" }, "grade": { "type": "string", "description": "Product grade designation (e.g., ACS reagent, BioReagent, HPLC Plus, ReagentPlus)" }, "synonyms": { "type": "array", "items": { "type": "string" }, "description": "Alternative names, IUPAC names, and common names for the product" }, "physicalState": { "type": "string", "enum": ["solid", "liquid", "gas"], "description": "Physical state at standard conditions (25°C, 1 atm)" }, "packagingOptions": { "type": "array", "description": "Available package sizes and container types", "items": { "type": "object", "properties": { "packSize": { "type": "string", "description": "Package size (e.g., 100g, 500mL, 1kg)" }, "packagingType": { "type": "string", "description": "Container type (e.g., glass bottle, ampule, vial, drum)" } } } } } }