Property Schemas for Alexa.Cooking APIs


The Alexa.Cooking interfaces use property schemas to define cooking information. For details about cooking skills, see Build Smart Home Skills for Cooking Appliances.

Property definition

When you include properties in a cooking interface, you can express the property as an object or a string.

Example property object

{
    "name": "cookingMode",
    "value": "DEFROST"
}

Example property string

"cookingMode": "DEFROST"

CookingMode

The CookingMode property represents the cooking mode for a cooking appliance, such as a microwave oven. CookingMode can be an object or a string.

Property Description Type
cookingMode A predefined cooking mode, such as BOIL or REHEAT.
For the list of valid values, see CookingMode Values.
String

CookingMode object format

You can use the full object format for the CookingMode. Alexa always sends the CookingMode to your lambda function in the object format.

Example object format

"cookingMode":
{
  "value": "BAKE"
}

CookingMode string format

You can also abbreviate CookingMode as a string.

Example string format

"cookingMode": "REHEAT"

CookingMode values

Use one of the following predefined string values for CookingMode.

AIR_FRY, BAKE, BLANCH, BOIL, BREW, BROIL, CONVECTION_BAKE, CONVECTION_BROIL, CONVECTION_ROAST, CONVECTION_STEAM, CURE, DEFROST, DEHYDRATE, FERMENT, FRY, GRILL, INCUBATE, MELT, MICROWAVE, OFF, PRESET, PRESSURE, PROOF, REHEAT, ROAST, SAUTE, SEAR, SLOW_COOK, SMOKE, SOFTEN, SOUS_VIDE, STEAM, STIR_FRY, TOAST, WARM

Include the following values, if applicable:

  • Include the cooking mode OFF to indicate when the appliance is off.
  • Use the cooking mode PRESET if your appliance supports preset modes or other automated cooking. For details, see Alexa.Cooking.PresetController.

CookingStatus values

CookingStatus represents the state of your appliance or the state of the food that your appliance is cooking. Some cooking statuses can trigger an announcement to the user.

The following table shows the valid values for CookingStatus.

Cooking status value Description Resulting announcement
COOKING Indicates that the appliance is in use, such as baking, cooking, broiling. No announcement generated.
PREHEATING Indicates the appliance is preheating. No announcement generated.
PREHEATING_COMPLETED Indicates the appliance reached the requested temperature. "Your <appliance friendlyName> has preheated."
FOOD_TARGET_TEMPERATURE_REACHED Indicates the food reached it's target cooking temperature. "Your food in the <appliance friendlyName> has reached target temperature."
COOKING_COMPLETED Indicates the cooking time completed and the food is ready. "Your food in the <appliance friendlyName> is ready."
NOT_IN_USE Indicates the appliance isn't in use. No announcement generated.
READY Indicates the appliance is ready to use. "Your <appliance friendlyName> is ready to use."

FoodItem

FoodItem represents a food item.

Property Description Type
foodName The name of the food, such as steak. String
foodQuantity The amount of the food. A food quantity object.

Example FoodItem

{
  "name": "foodItem",
  "value": {
    "foodName": "Copper river salmon",
    "foodQuantity": {
      "@type": "Weight",
      "value": 2.5,
      "unit": "POUND"
    }
  }
}

FoodQuantity

Use foodQuantity to represent a quantity of food. Use the @type field to indicate the type of quantity: food count, volume, or weight.

Example foodQuantity with count

"foodQuantity":
{
    "@type": "FoodCount",
    "value": 12
}

Example foodQuantity with volume

"foodQuantity":
{
    "@type": "Volume",
    "value": 1.25,
    "unit": "LITER"
},

Example foodQuantity with weight

"foodQuantity":
{
    "@type": "Weight",
    "value": 2.5,
    "unit": "POUND"
},

Was this page helpful?

Last updated: Apr 08, 2025