{
  "@context": {
    "@vocab": "https://befana.app/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "befana": "https://befana.app/schema#",
    "Error": "befana:Error",
    "error": {
      "@id": "befana:error",
      "@type": "xsd:string"
    },
    "sign_in": {
      "@id": "befana:sign_in",
      "@type": "xsd:string"
    },
    "CoverRecoveryVersion": "befana:CoverRecoveryVersion",
    "id": {
      "@id": "befana:id",
      "@type": "xsd:integer"
    },
    "revision": {
      "@id": "befana:revision",
      "@type": "xsd:integer"
    },
    "cover": {
      "@id": "befana:cover"
    },
    "Ingredient": "befana:Ingredient",
    "key": {
      "@id": "befana:key",
      "@type": "xsd:string"
    },
    "qty": {
      "@id": "befana:qty",
      "@type": "xsd:decimal"
    },
    "unit": {
      "@id": "befana:unit",
      "@type": "xsd:string"
    },
    "item": {
      "@id": "befana:item",
      "@type": "xsd:string"
    },
    "note": {
      "@id": "befana:note",
      "@type": "xsd:string"
    },
    "Step": "befana:Step",
    "body": {
      "@id": "befana:body",
      "@type": "xsd:string"
    },
    "tip": {
      "@id": "befana:tip",
      "@type": "xsd:string"
    },
    "timerSec": {
      "@id": "befana:timerSec",
      "@type": "xsd:integer"
    },
    "RecipeInput": "befana:RecipeInput",
    "title": {
      "@id": "befana:title",
      "@type": "xsd:string"
    },
    "summary": {
      "@id": "befana:summary",
      "@type": "xsd:string"
    },
    "author": {
      "@id": "befana:author",
      "@type": "xsd:string"
    },
    "servings": {
      "@id": "befana:servings",
      "@type": "xsd:decimal"
    },
    "yieldLabel": {
      "@id": "befana:yieldLabel",
      "@type": "xsd:string"
    },
    "prepMin": {
      "@id": "befana:prepMin",
      "@type": "xsd:integer"
    },
    "cookMin": {
      "@id": "befana:cookMin",
      "@type": "xsd:integer"
    },
    "tags": {
      "@id": "befana:tags",
      "@container": "@list"
    },
    "visibility": {
      "@id": "befana:visibility",
      "@type": "xsd:string"
    },
    "showCounts": {
      "@id": "befana:showCounts",
      "@type": "xsd:boolean"
    },
    "chefNote": {
      "@id": "befana:chefNote"
    },
    "tested": {
      "@id": "befana:tested"
    },
    "ingredients": {
      "@id": "befana:ingredients",
      "@container": "@list"
    },
    "steps": {
      "@id": "befana:steps",
      "@container": "@list"
    },
    "RecipeSummary": "befana:RecipeSummary",
    "slug": {
      "@id": "befana:slug",
      "@type": "xsd:string"
    },
    "totalMin": {
      "@id": "befana:totalMin",
      "@type": "xsd:integer"
    },
    "parentSlug": {
      "@id": "befana:parentSlug"
    },
    "rating": {
      "@id": "befana:rating"
    },
    "quality": {
      "@id": "befana:quality"
    },
    "ownerId": {
      "@id": "befana:ownerId"
    },
    "boost": {
      "@id": "befana:boost",
      "@type": "xsd:integer"
    },
    "why": {
      "@id": "befana:why",
      "@container": "@list"
    },
    "RecipeJson": "befana:RecipeJson",
    "format": {
      "@id": "befana:format",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "befana:url",
      "@type": "xsd:string"
    },
    "recipe": {
      "@id": "befana:recipe"
    },
    "shared_by": {
      "@id": "befana:shared_by"
    },
    "origin": {
      "@id": "befana:origin"
    },
    "time": {
      "@id": "befana:time"
    },
    "counts": {
      "@id": "befana:counts"
    },
    "nutrition": {
      "@id": "befana:nutrition"
    },
    "cost_estimate": {
      "@id": "befana:cost_estimate"
    },
    "resolved": {
      "@id": "befana:resolved"
    },
    "schema_org": {
      "@id": "befana:schema_org"
    },
    "ListRecipe": "befana:ListRecipe",
    "ShoppingList": "befana:ShoppingList",
    "aisles": {
      "@id": "befana:aisles",
      "@container": "@list"
    },
    "pantry": {
      "@id": "befana:pantry",
      "@container": "@list"
    },
    "likely_have": {
      "@id": "befana:likely_have",
      "@container": "@list"
    },
    "Preferences": "befana:Preferences",
    "allergies": {
      "@id": "befana:allergies",
      "@container": "@list"
    },
    "customAllergies": {
      "@id": "befana:customAllergies",
      "@container": "@list"
    },
    "diets": {
      "@id": "befana:diets",
      "@container": "@list"
    },
    "avoid": {
      "@id": "befana:avoid",
      "@container": "@list"
    },
    "avoidMode": {
      "@id": "befana:avoidMode",
      "@type": "xsd:string"
    },
    "servingsMode": {
      "@id": "befana:servingsMode",
      "@type": "xsd:string"
    },
    "units": {
      "@id": "befana:units",
      "@type": "xsd:string"
    },
    "weeknightMinutes": {
      "@id": "befana:weeknightMinutes"
    },
    "skill": {
      "@id": "befana:skill"
    },
    "equipment": {
      "@id": "befana:equipment",
      "@container": "@list"
    },
    "cuisinesLove": {
      "@id": "befana:cuisinesLove",
      "@container": "@list"
    },
    "cuisinesSkip": {
      "@id": "befana:cuisinesSkip",
      "@container": "@list"
    },
    "store": {
      "@id": "befana:store"
    },
    "nutritionTargets": {
      "@id": "befana:nutritionTargets"
    },
    "workflow": {
      "@id": "befana:workflow"
    },
    "privacy": {
      "@id": "befana:privacy"
    },
    "healthConsentAt": {
      "@id": "befana:healthConsentAt"
    },
    "ChefStats": "befana:ChefStats",
    "range": {
      "@id": "befana:range",
      "@type": "xsd:string"
    },
    "from": {
      "@id": "befana:from",
      "@type": "xsd:string"
    },
    "to": {
      "@id": "befana:to",
      "@type": "xsd:string"
    },
    "recipe_count": {
      "@id": "befana:recipe_count",
      "@type": "xsd:integer"
    },
    "totals": {
      "@id": "befana:totals"
    },
    "series": {
      "@id": "befana:series",
      "@container": "@list"
    },
    "by_source": {
      "@id": "befana:by_source"
    },
    "recipes": {
      "@id": "befana:recipes",
      "@container": "@list"
    },
    "regions": {
      "@id": "befana:regions",
      "@container": "@list"
    },
    "insights": {
      "@id": "befana:insights",
      "@container": "@list"
    },
    "definitions": {
      "@id": "befana:definitions"
    },
    "Review": "befana:Review",
    "name": {
      "@id": "befana:name",
      "@type": "xsd:string"
    },
    "stars": {
      "@id": "befana:stars",
      "@type": "xsd:integer"
    },
    "madeIt": {
      "@id": "befana:madeIt",
      "@type": "xsd:boolean"
    },
    "photo": {
      "@id": "befana:photo"
    },
    "createdAt": {
      "@id": "befana:createdAt",
      "@type": "xsd:string"
    },
    "Profile": "befana:Profile",
    "handle": {
      "@id": "befana:handle",
      "@type": "xsd:string"
    },
    "display_name": {
      "@id": "befana:display_name",
      "@type": "xsd:string"
    },
    "about": {
      "@id": "befana:about"
    },
    "location": {
      "@id": "befana:location"
    },
    "interests": {
      "@id": "befana:interests",
      "@container": "@list"
    },
    "links": {
      "@id": "befana:links",
      "@container": "@list"
    },
    "show_details": {
      "@id": "befana:show_details",
      "@type": "xsd:boolean"
    },
    "ai_chef": {
      "@id": "befana:ai_chef",
      "@type": "xsd:boolean"
    },
    "Suggestion": "befana:Suggestion",
    "kind": {
      "@id": "befana:kind",
      "@type": "xsd:string"
    },
    "value": {
      "@id": "befana:value",
      "@type": "xsd:string"
    },
    "label": {
      "@id": "befana:label",
      "@type": "xsd:string"
    },
    "say": {
      "@id": "befana:say",
      "@type": "xsd:string"
    },
    "saves_to": {
      "@id": "befana:saves_to",
      "@type": "xsd:string"
    },
    "created_at": {
      "@id": "befana:created_at",
      "@type": "xsd:string"
    },
    "Grocer": "befana:Grocer",
    "provider": {
      "@id": "befana:provider",
      "@type": "xsd:string"
    },
    "also_on": {
      "@id": "befana:also_on",
      "@container": "@list"
    },
    "Handoff": "befana:Handoff",
    "code": {
      "@id": "befana:code",
      "@type": "xsd:string"
    },
    "expires_at": {
      "@id": "befana:expires_at",
      "@type": "xsd:string"
    },
    "PantryItem": "befana:PantryItem",
    "staple": {
      "@id": "befana:staple",
      "@type": "xsd:boolean"
    },
    "added_at": {
      "@id": "befana:added_at",
      "@type": "xsd:string"
    },
    "age_days": {
      "@id": "befana:age_days",
      "@type": "xsd:integer"
    },
    "stale": {
      "@id": "befana:stale",
      "@type": "xsd:boolean"
    },
    "UploadTicket": "befana:UploadTicket",
    "type": {
      "@id": "befana:type",
      "@type": "xsd:string"
    },
    "upload": {
      "@id": "befana:upload"
    },
    "complete": {
      "@id": "befana:complete"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Befana API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Befana's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-02) from openapi/_original/openapi.json.",
  "dcterms:created": "2026-11-02",
  "dcterms:source": [
    "openapi/_original/openapi.json"
  ]
}