{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://example.org/schema/license-v1.json", "title": "Universal Product Licence Claims", "type": "object", "additionalProperties": false, "required": ["version", "licenseId", "issuer", "customer", "product", "edition", "issuedAt", "expiresAt", "verification"], "properties": { "version": {"const": 1}, "licenseId": {"type": "string", "minLength": 1, "maxLength": 200}, "issuer": {"type": "string", "minLength": 1, "maxLength": 200}, "customer": {"type": "string", "minLength": 1, "maxLength": 300}, "product": {"type": "string", "minLength": 1, "maxLength": 200}, "edition": {"type": "string", "minLength": 1, "maxLength": 100}, "features": {"type": "array", "items": {"type": "string", "minLength": 1}, "uniqueItems": true}, "limits": {"type": "object", "additionalProperties": {"type": "integer", "minimum": 0}}, "domains": {"type": "array", "items": {"type": "string", "minLength": 1}, "uniqueItems": true}, "instanceIds": {"type": "array", "items": {"type": "string", "minLength": 1}, "uniqueItems": true}, "issuedAt": {"type": "integer", "minimum": 1}, "notBefore": {"type": "integer", "minimum": 1}, "expiresAt": {"type": "integer", "minimum": 1}, "verification": { "type": "object", "additionalProperties": false, "required": ["mode"], "properties": { "mode": {"enum": ["offline", "hybrid", "online"]}, "leaseTtlSeconds": {"type": "integer", "minimum": 0}, "offlineGraceSeconds": {"type": "integer", "minimum": 0} } }, "metadata": {"type": "object", "additionalProperties": {"type": "string"}} } }