{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://schema.org/Recipe", "title": "Recipe", "type": "object", "required": [ "@context", "@type", "name", "image", "recipeIngredient", "recipeInstructions" ], "properties": { "@context": { "const": "https://schema.org/" }, "@type": { "const": "Recipe" }, "name": { "type": "string" }, "image": { "oneOf": [ { "$ref": "Url.json" }, { "type": "array", "items": { "$ref": "Url.json" }, "minItems": 1 }, { "$ref": "ImageObject.json" }, { "type": "array", "items": { "$ref": "ImageObject.json" }, "minItems": 1 } ] }, "description": { "type": "string" }, "author": { "type": "object", "required": [ "@type", "name" ], "properties": { "@type": { "const": "Person" }, "name": { "type": "string" } }, "additionalProperties": false }, "datePublished": { "type": "string", "format": "date" }, "prepTime": { "type": "string", "pattern": "^P(T?\\d+H?\\d*M?\\d*S?)$" }, "cookTime": { "type": "string", "pattern": "^P(T?\\d+H?\\d*M?\\d*S?)$" }, "recipeYield": { "type": "string" }, "recipeIngredient": { "type": "array", "items": { "type": "string" } }, "recipeInstructions": { "oneOf": [ { "type": "string" }, { "type": "array", "items": { "type": "string" } } ] } }, "additionalProperties": true }