Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get started
Connect with Matter
Alexa Connect Kit
Add-ons
Certify
Resources
Skip to main content
Implement the Alexa.Cooking interface in your Alexa add-on so that users can control cooking appliances. All smart home add-ons that control cooking appliances must implement the Alexa.Cooking interface. For details about cooking add-ons, see Build Smart Home Add-ons for Cooking Appliances. For the list of languages that the Alexa.Cooking interface supports, see List of Alexa Interfaces and Supported Languages. For the definitions of the message properties, see Alexa Interface Message and Property Reference.

Utterances

The Alexa.Cooking interface uses the pre-built voice interaction model. The following examples show some user utterances:




After the customer says one of these utterances, Alexa sends a corresponding directive or report state request to your add-on.

Reportable properties

The following table shows the reportable properties that the Alexa.Cooking interface defines. You identify that you support the property in your discovery response.
PropertyDescriptionType
cookingModeMode for a cooking session, such as REHEAT.CookingMode string
foodItemDescribe the food to cook.FoodItem object
cookingTimeIntervalTime when cooking begins, and the time when the user expects cooking to complete. If the appliance needs to preheat before cooking begins, report the preheat time separately through the preheatTimeInterval property.Time interval object
cookingStatusState of your appliance or the food cooking in the appliance, such as COOKING_COMPLETED. If your device supports proactive announcements for cooking, include this property.CookingStatus.

Announcements for cooking status

You can enable announcements to notify the user when the cooking appliance or the food needs attention. For example, and To enable announcements, implement the Alexa.ProactiveNotificationSource interface in your Alexa add-on. To indicate the cooking statuses that your appliance supports, include the supportedCookingStatuses property in your discovery response. You trigger announcements by sending ChangeReport to report a change in the cooking status. For details, see Alexa.ProactiveNotificationSource.

Discovery

You describe endpoints that support Alexa.Cooking by using the standard discovery mechanism described in Alexa.Discovery. Set retrievable to true for all the interfaces and properties that you report when Alexa sends your add-on a state report request. Set proactivelyReported to true for interfaces and properties that you proactively report to Alexa in a change report. For the full list of display categories, see display categories. To let Alexa know the health of your device, also implement the Alexa.EndpointHealth interface.

Configuration object

In addition to the usual discovery response fields, for the Alexa.Cooking interface, include a configuration object that contains the following fields.
PropertyDescriptionTypeRequired
supportsRemoteStartTrue if Alexa can start the device after a voice command. When false, Alexa prompts the user to push start on the device. The default is false.BooleanNo
supportedCookingModesCooking modes that the device supports through this interface. Use other interfaces to specify cooking modes for the same appliance.Array of CookingMode valuesYes
supportedCookingStatusesTo enable announcements, include the cooking statuses that the device supports.
You must include at least two cooking statuses.
Array of CookingStatus string valuesNo

Discover response example

The following example shows a Discover.Response message for a microwave that supports the Alexa.Cooking, TimeController, PresetController, and ProactiveNotificationSource interfaces.

Directives

Alexa sends the following Alexa.Cooking interface directives to your add-on.

SetCookingMode directive

Support the SetCookingMode directive so that customers can set the cooking mode for a device. The following examples show some customer utterances:

SetCookingMode directive example

The following example shows a SetCookingMode directive that Alexa sends to your add-on.

SetCookingMode directive example to turn off a device

The following example shows a SetCookingMode directive that Alexa sends to your add-on to turn off a device.

SetCookingMode directive payload

PropertyDescriptionTypeRequired
cookingModeMode for the cooking session, such as DEFROST.CookingMode objectYes
foodItemFood to cook. The directive includes this field only if the user specifies it.FoodItemNo

SetCookingMode response

If you handle a SetCookingMode directive successfully, respond with an Alexa.Response event. In the context object, include the values of all relevant properties. The following example shows a response to a SetCookingMode directive. The context object contains the values of all properties relevant to the current cooking action, even those properties defined by other interfaces.

SetCookingMode directive error handling

If you can’t handle a SetCookingMode directive successfully, respond with an Alexa.Cooking.ErrorResponse event. If your error is generic, and not specific to cooking, you can also respond with a generic Alexa.ErrorResponse event.

State reporting

Alexa sends a ReportState directive to request information about the state of an endpoint. When Alexa sends a ReportState directive, you send a StateReport event in response. The response contains the current state of all retrievable properties in the context object. You identify your retrievable properties in your discovery response. For details about state reports, see Understand State and Change Reporting.

StateReport response example

Change reporting

You send an Alexa.ChangeReport event to report changes proactively in the state of an endpoint. You identify the properties that you proactively report in your discovery response. For details about change reporting, see Understand State and Change Reporting. For an example Alexa.ChangeReport to trigger a notification to the user, see Alexa.ProactiveNotificationSource.

ChangeReport event example

Last modified on April 8, 2025