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.

The following example shows a property defined as an object.

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

The following example shows a property defined as a string.

"cookingMode": "DEFROST"

CookingMode

The CookingMode property represents the settings for a cooking appliance, such as a microwave or oven.

Property Description Type

cookingMode

Predefined cooking mode, such as BOIL or REHEAT.
For the list of valid values, see CookingMode Values.

String or object

CookingMode object format

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

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

CookingMode string format

You can also abbreviate CookingMode as a string.

"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:

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

The MICROWAVE mode allows the following types of utterances:

  • Generic – General requests, such as "Alexa, set the oven to microwave," require a temperature. If the temperature isn't included, Alexa asks the user for the temperature before sending the directive to the skill.
  • Specific – More specific requests, such as "Alexa, microwave for 10 minutes," don't require additional input.

CookingStatus

The CookingStatus property 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

The appliance is in use, such as baking, cooking, broiling.

No announcement generated.

PREHEATING

The appliance is preheating.

No announcement generated.

PREHEATING_COMPLETED

The appliance reached the requested temperature.

"Your <appliance friendlyName> has preheated."

FOOD_TARGET_TEMPERATURE_REACHED

The food reached it's target cooking temperature.

"Your food in the <appliance friendlyName> has reached target temperature."

COOKING_COMPLETED

The cooking time completed and the food is ready.

"Your food in the <appliance friendlyName> is ready."

NOT_IN_USE

The appliance isn't in use.

No announcement generated.

READY

The appliance is ready to use.

"Your <appliance friendlyName> is ready to use."

FoodItem

The FoodItem object represents a food name and quantity as shown in the following table.

Property Description Type

foodName

Name of the food, such as steak.

String

foodQuantity

Amount of the food.

FoodQuantity object

The following example shows a salmon food item.

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

FoodQuantity

Use the FoodQuantity object to represent a quantity of food as shown in the following table.

Property Description Type

@type

Quantity measurement.
Valid values: FoodCount, Volume, Weight.

String

value

Amount of food.

Integer

unit

(Optional) Unit of measurement. Required for volume and weight. For valid values, see Volume units values and Weight unit values.

String

Examples

The following example shows foodQuantity by count.

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

The following example shows foodQuantity by volume.

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

The following example shows foodQuantity by weight.

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

Was this page helpful?

Last updated: Dec 22, 2025