{"$schema":"https://cookwala.ai/v1/schemas/recipe.schema.json","cookwala":"0.2.0","id":"w-my-023","revision":1,"updated":"2026-10-08","legacy":{"dataUrl":"https://fifi.cooking/data/recipes/w-my-023.json","pageUrl":"https://fifi.cooking/recipe/w-my-023/"},"verification":{"level":"V0","generatedBy":"tools/export_fifi.py (deterministic, RFC-0009)","notes":"Described, not machine-verified: original ingredients and steps from fifi.cooking; quantities parsed from the text where possible; no end conditions, hazards or critical control points have been verified. Every step is an unclassified legacy step that a device never executes."},"dish":{"names":{"ar":"ساتو آيام","bn":"সোতো আয়াম (মালয়েশীয় মুরগির নুডলস স্যুপ)","cs":"Soto ayam","de":"Soto Ayam","el":"Σότο Αγιάμ","en":"Soto Ayam","es":"Soto Ayam","fa":"سوتو آیام","fr":"Soto Ayam (soupe de poulet)","he":"סוטו אייאם (מרק עוף)","hi":"सोतो आयाम (चिकन सूप)","id":"Soto Ayam","it":"Soto Ayam (zuppa di pollo speziata)","ja":"ソトアヤム（鶏肉のスパイススープ）","ko":"소토 아얌 (닭고기 향신료 수프)","ku":"Soto Ayam (şorbeya mirîşkê ya biharatdar)","nl":"Soto Ayam","pl":"Soto Ayam","ps":"سوټو ایام","pt":"Soto Ayam","ru":"Сото аям","sq":"Soto Ayam","sv":"Soto ayam","sw":"Soto Ayam","te":"సోటో అయామ్","tr":"Soto Ayam","ur":"سوتو آیام","vi":"Soto Ayam","zh":"鸡肉苏多汤"},"localName":"ساتو آيام","cuisine":["MY"],"course":"other","tags":["Main Dishes","Traditional cooking","world"],"images":[{"url":"https://fifi.cooking/recipe-images/w-my-023.jpg","role":"banner"},{"url":"https://fifi.cooking/recipe-images/thumbs/w-my-023.jpg","role":"thumb"}],"difficulty":"medium"},"yield":{"servings":5.0},"ingredients":[{"ref":"rice_noodles","ingredientId":"cw.ing.rice_noodles","legacyId":"w-my-023-i1","qty":{"value":0.5,"unit":"pcs"},"display":{"ar":"1/2 حزمة","en":"1/2 pack"}},{"ref":"cooking_oil","ingredientId":"cw.ing.cooking_oil","legacyId":"w-my-023-i2","qty":{"value":2.0,"unit":"tbsp"},"display":{"ar":"2 ملعقة كبيرة","en":"2 tablespoons"}},{"ref":"chicken_breast","ingredientId":"cw.ing.chicken_breast","legacyId":"w-my-023-i3","qty":{"value":1.0,"unit":"pcs"},"display":{"ar":"1 صدر (مقطع مكعبات)","en":"1 skinless and boneless chicken breast (cut into cubes)"}},{"ref":"lemongrass","ingredientId":"cw.ing.lemongrass","legacyId":"w-my-023-i4","qty":{"value":1.0,"unit":"pcs"},"display":{"ar":"1 حبة (مقطعة إلى 3 قطع)","en":"1 stalk (cut into 3 strips)"}},{"ref":"coconut_milk","ingredientId":"cw.ing.coconut_milk","legacyId":"w-my-023-i5","qty":{"value":13.5,"unit":"pcs"},"display":{"ar":"385 جرام","en":"13.5 oz"}},{"ref":"chicken_broth","ingredientId":"cw.ing.chicken_broth","legacyId":"w-my-023-i6","qty":{"value":14.05,"unit":"pcs"},"display":{"ar":"400 جرام","en":"14.05 oz"}},{"ref":"water","ingredientId":"cw.ing.water","legacyId":"w-my-023-i7","qty":{"value":1.0,"unit":"cup"},"display":{"ar":"1 كوب","en":"1 cup"}},{"ref":"salt","ingredientId":"cw.ing.salt","legacyId":"w-my-023-i8","qty":{"value":0,"unit":"g"},"display":{"ar":"حسب الرغبة","en":"to taste"},"toTaste":true},{"ref":"coriander_seeds","ingredientId":"cw.ing.coriander_seeds","legacyId":"w-my-023-i9","qty":{"value":1.0,"unit":"tsp"},"display":{"ar":"1 ملعقة صغيرة","en":"1 teaspoon"}},{"ref":"cumin_seeds","ingredientId":"cw.ing.cumin_seeds","legacyId":"w-my-023-i10","qty":{"value":1.0,"unit":"tsp"},"display":{"ar":"1 ملعقة صغيرة","en":"1 teaspoon"}},{"ref":"shallots","ingredientId":"cw.ing.shallots","legacyId":"w-my-023-i11","qty":{"value":4.0,"unit":"pcs"},"display":{"ar":"4 حبات (مقطعة)","en":"4 (peeled)"}},{"ref":"garlic","ingredientId":"cw.ing.garlic","legacyId":"w-my-023-i12","qty":{"value":3.0,"unit":"pcs"},"display":{"ar":"3 فصوص (مقطعة)","en":"3 cloves (peeled)"}},{"ref":"turmeric","ingredientId":"cw.ing.turmeric","legacyId":"w-my-023-i13","qty":{"value":2.0,"unit":"tbsp"},"display":{"ar":"2 بوصة (مقطعة أو 1 ملعقة كبيرة مسحوق)","en":"2-inch (5cm) piece (peeled or 1 tablespoon turmeric powder)"}},{"ref":"galangal","ingredientId":"cw.ing.galangal","legacyId":"w-my-023-i14","qty":{"value":1.0,"unit":"pcs"},"display":{"ar":"1 حبة (مقطعة)","en":"1 piece (peeled and sliced)"}},{"ref":"ginger","ingredientId":"cw.ing.ginger","legacyId":"w-my-023-i15","qty":{"value":1.0,"unit":"pcs"},"display":{"ar":"1 حبة (مقطعة)","en":"1 piece (peeled and sliced)"}},{"ref":"fresh_lime_juice","ingredientId":"cw.ing.fresh_lime_juice","legacyId":"w-my-023-i16","qty":{"value":1.0,"unit":"tbsp"},"display":{"ar":"1 ملعقة كبيرة","en":"1 tablespoon"}},{"ref":"bean_sprouts","ingredientId":"cw.ing.bean_sprouts","legacyId":"w-my-023-i17","qty":{"value":2.0,"unit":"cup"},"display":{"ar":"2 كوب","en":"2 cups"}},{"ref":"sliced_cabbage","ingredientId":"cw.ing.sliced_cabbage","legacyId":"w-my-023-i18","qty":{"value":2.0,"unit":"cup"},"display":{"ar":"2 كوب (اختياري)","en":"2 cups (optional)"}},{"ref":"hard_boiled_eggs","ingredientId":"cw.ing.hard_boiled_eggs","legacyId":"w-my-023-i19","qty":{"value":2.0,"unit":"pcs"},"display":{"ar":"2 حبة (مقطعة)","en":"2 (cut into wedges)"}},{"ref":"spring_onion","ingredientId":"cw.ing.spring_onion","legacyId":"w-my-023-i20","qty":{"value":1.0,"unit":"pcs"},"display":{"ar":"1 حبة (مقطعة)","en":"1 stalk (cut into rounds)"}},{"ref":"limes","ingredientId":"cw.ing.limes","legacyId":"w-my-023-i21","qty":{"value":2.0,"unit":"pcs"},"display":{"ar":"2 حبة (مقطعة)","en":"2 (cut into wedges)"}},{"ref":"fried_shallot_crisps","ingredientId":"cw.ing.fried_shallot_crisps","legacyId":"w-my-023-i22","qty":{"value":0,"unit":"g"},"display":{"ar":"حسب الرغبة","en":"to taste"},"toTaste":true}],"equipment":[{"ref":"bowl","class":"cw.eq.tool.bowl.mixing"},{"ref":"knife","class":"cw.eq.tool.knife.chef"}],"process":{"nodes":[{"id":"n1","op":"cw.op.legacy_step","params":{"sourceStep":1,"phase":"cook","opHint":"cw.op.soak"},"attention":"continuous"},{"id":"n2","op":"cw.op.legacy_step","params":{"sourceStep":2,"phase":"cook","opHint":"cw.op.mix"},"attention":"continuous"},{"id":"n3","op":"cw.op.legacy_step","params":{"sourceStep":3,"phase":"cook","opHint":"cw.op.mix"},"attention":"continuous"},{"id":"n4","op":"cw.op.legacy_step","params":{"sourceStep":4,"phase":"cook","opHint":"cw.op.boil"},"attention":"continuous"},{"id":"n5","op":"cw.op.legacy_step","params":{"sourceStep":5,"phase":"cook","opHint":"cw.op.boil"},"attention":"continuous"},{"id":"n6","op":"cw.op.legacy_step","params":{"sourceStep":6,"phase":"cook","opHint":"cw.op.cut"},"attention":"continuous"}],"edges":"implicit-from-inputs","totalTime":"PT1H15M","activeTime":"PT30M"},"safety":{"hazards":[],"allergens":{"eu14":["cereals_gluten","eggs"],"us9":["eggs","wheat"],"mayContain":[],"x-status":"contains","x-ruleset":"fifi-allergen-1"},"supervision":{"default":"presence_required","reasons":{"all":"V0 document: a person cooks from the original steps; no step is machine-verified (RFC-0009)."}},"abort":{"steps":["heat_off","alert_user"]},"dietary":[{"claim":"kosher","basis":"ingredients","ruleset":"fifi-diet-1","note":"Kosher-compatible by ingredients (meat). Not certified: meat must be kosher-slaughtered; processed items, cheese and wine need a hechsher."},{"claim":"dairy_free","basis":"ingredients","ruleset":"fifi-allergen-1","note":"No milk or dairy found in the ingredients or steps. Check labels of bought items."},{"claim":"nut_free","basis":"ingredients","ruleset":"fifi-allergen-1","note":"No nuts or peanuts found in the ingredients or steps. Cross-contact is not assessed; check labels of bought items."}],"x-diabetic":{"status":"borderline","ruleset":"fifi-diabetic-1","basis":"estimate"}},"text":{"ar":{"title":"ساتو آيام"},"en":{"title":"Soto Ayam"}},"textSidecars":{"languages":["bn","cs","de","el","es","fa","fr","he","hi","id","it","ja","ko","ku","nl","pl","ps","pt","ru","sq","sv","sw","te","tr","ur","vi","zh"],"url":"/v1/recipes/{id}/text/{lang}.json"},"source":{"name":"rasamalaysia.com","url":"https://rasamalaysia.com/soto-ayam-recipe/","collection":"world","citation":"Rewritten from the public recipe site named in each recipe's source and credited there; halal-gated by fifi.cooking; structured facts only until the source rights are confirmed"},"license":"LicenseRef-source-credited","layers":{"r1":true,"r2":false,"r3":false},"nutrition":{"perServing":{"kcal":470,"protein":15,"fat":22,"carbs":45,"fiber":3,"sugar":4},"basis":"fifi.cooking estimate per serving (modelled from typical composition tables; not measured)"},"cost":{"buckets":{"grains":1.5,"protein":3,"specialty":1.5,"dairyEggs":0.5,"produce":2.3,"fats":0.2,"spices":1.5},"total":10.5},"x-cookwala-text":"facts","hash":"sha256:7da9b59076338726829e662db1223b7611623823e49b3fdccd3105775fc170ea"}
