Property Schemas for Alexa.Cooking APIs

This document contains the schemas for properties that are used by the Alexa.Cooking interfaces. For more information, see List of Alexa Interfaces and Supported Locales.

Many properties can be expressed as either an object or a string.

Example property object

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

Example property string

"cookingMode": "BROIL"

CookingMode

CookingMode represents the cooking mode for a cooking appliance like a microwave oven. CookingMode can be an object or a string. For the list of valid values, see CookingMode Values.

CookingMode Object Format

You can use the full object format for the CookingMode. You must use the object format to include the optional customName attribute. Smart Home always sends the CookingMode to your lambda function in the object format.

Example object format

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

Example object format with custom name

"cookingMode":
{
  "value": "CUSTOM",
  "customName": "ABC_QUICK_REHEAT"
}

CookingMode String Format

You can also abbreviate CookingMode as a string instead of an object.

Example string format

"cookingMode": "REHEAT"

CookingMode Values

  • Use the cooking mode OFF to indicate when the appliance is off.

  • Use the cooking mode PRESET if your device supports preset modes or other automated cooking. For more information, see Alexa.Cooking.PresetController.

  • Use the cooking mode CUSTOM for custom modes, such as modes that are trademarked. To specify CUSTOM cooking modes, use the object form, and include the customName field as described earlier.

  • In addition, you can use the following values for CookingMode. The values are strings.

    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

FoodCategory

FoodCategory represents a category of food. You can use the following values for foodCategory. The values are strings.

BEEF, BEVERAGE, CHICKEN, FISH, MEAT, PIZZA, POPCORN, PORK, POTATO, SHRIMP, SOUP, STEAK, TURKEY, VEGETABLE, WATER

FoodDoneness

FoodDoneness represents how cooked a user wants their food, such as a rare steak, crispy bacon, or al dente pasta. You can use the following values for FoodDoneness. The values are strings.

Doneness Eggs Fish Meat Pasta Poultry Vegetables
AL_DENTE Yes Yes
CREAMY Yes
CRISPY Yes
DRY
FIRM Yes Yes
FLAKY Yes
HARD Yes
JUICY Yes
MEDIUM Yes Yes Yes Yes
MEDIUM_RARE Yes Yes
MEDIUM_WELL Yes Yes Yes Yes
MOIST
OPAQUE
OVERCOOKED Yes Yes Yes
RARE Yes Yes
RUNNY Yes
SMOOTH Yes
SOFT Yes Yes
SPRINGY
SUCCULENT
TENDER Yes
UNDERCOOKED Yes Yes
VELVETY Yes
WELL_DONE Yes Yes Yes

FoodItem

FoodItem represents a food item.

Field Description Type
foodName The name of the food, such as steak. String
foodCategory The category of the food, such as MEAT. A food category value.
foodQuantity The amount of the food. A food quantity object.

Example FoodItem

{
  "name": "foodItem",
  "value": {
    "foodName": "Copper river salmon",
    "foodCategory": "FISH",
    "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"
},