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.VideoRecorder interface in your Alexa skill so that users can find and schedule a recording for a specified video item. Also implement this interface to cancel a scheduled recording or inquire about the recording space left on a digital video recorder (DVR). To record video content that’s currently playing, implement the Alexa.RecordController interface instead. For the list of languages that the Alexa.VideoRecorder 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.VideoRecorder interface uses the pre-built voice interaction model. After the user says one of the following utterances, Alexa sends a corresponding directive to your skill. The following examples show some user utterances:




Reportable properties

The Alexa.VideoRecorder interface uses the following properties. You identify that you support the properties in your discovery response.
PropertyDescriptionType
isExtendedRecordingGUIShownIndicates the type of graphical user interface shown to the user.
Set to true to indicate that your recording device displays an extended recording GUI. Otherwise, set to false.
Boolean
storageLevelIndicates the percentage of storage used on the recording device.
Valid values: 0–100.
Integer

Discovery

You describe endpoints that support Alexa.VideoRecorder by using the standard discovery mechanism described in Alexa.Discovery. Set retrievable to true for the properties that you report when Alexa sends your skill a state report request. For change reporting, set proactivelyReported to false for the Alexa.VideoRecorder interface. Set proactivelyReported to true as appropriate for other interfaces that you implement in your skill. Use TV, STREAMING_DEVICE, GAME_CONSOLE, or other appropriate display category. For the full list of display categories, see display categories.

Discover response example

The following example shows an Alexa.Discover.Response message for a device that supports the Alexa.VideoRecorder.

Proactive Discovery with AddOrUpdateReport

When a user adds a new endpoint to their account or makes changes to an existing endpoint, you must proactively send an Alexa.Discovery.AddOrUpdateReport message to the Alexa event gateway. You can include all the endpoints associated with the user account, or only the new or updated endpoints. You can choose based on your skill implementation. For details, see AddOrUpdateReport.

Directives

Alexa sends the following Alexa.VideoRecorder interface directives to your skill. The directives include an entity object that specifies the requested content. For details, see Entity Types for Video Content.

SearchAndRecord directive

Support the SearchAndRecord directive so that users can request to find and record specific video content. The payload contains an array of entities that specifies what to search for and the time window in which to search.

SearchAndRecord directive example

The following example shows a request to record PBS at 5:00 PM.

SearchAndRecord directive payload

The following table shows the payload details for the SearchAndRecord directive.
PropertyDescriptionTypeRequired
entitiesUser-requested search terms.Array of Entity objectsYes
quantifierSpecifies the type of recording to create.ObjectNo
quantifier.nameRecording type specified by the user. For details, see Quantifier name values.
Valid values: ALL, NEW, NEXT, WATCHED.
  • ALL – All content that matches the specified entity.
  • NEXT – Content that matches the specified entity and airs closest to the time specified or closest after the specified time.
  • NEW – Content that airs for the first time and matches the specified entity.
  • WATCHED – All watched content that matches the specified entity.
StringNo
timeWindowSpecifies the span of time over which to search.ObjectNo
timeWindow.startThe start time for the content search.
Formatted as a UTC string in ISO 8601 format, YYYY-MM-DDThh:mm:ssZ.
StringNo
timeWindow.endThe end time for the content search.
Formatted as a UTC string in ISO 8601 format, YYYY-MM-DDThh:mm:ssZ.
StringNo
Quantifier name values
The following table shows the possible quantifier names.
NameDescription
ALLAll content that matches the specified entity.
NEXTContent that matches the specified entity and airs closest to the time specified or closest after the specified time.
NEWContent that airs for the first time and matches the specified entity.
WATCHEDAll watched content that matches the specified entity.

SearchAndRecord response

If you handle a SearchAndRecord directive successfully, respond with an SearchAndRecord.Response event. Include the status of the record request in the payload object and the value of the reportable properties in the context object. The following example shows a SearchAndRecord response.

SearchAndRecord response payload

The following table shows the payload details for the SearchAndRecord response. Also, include the values of all other reportable properties in the context object.
PropertyDescriptionTypeRequired
recordingStatusIndicates the status of the recording.
Valid values: SCHEDULED, STARTED
StringYes

SearchAndRecord error handling

If you can’t handle a SearchAndRecord directive successfully and the error is specific to video, respond with an Alexa.Video.ErrorResponse event. For general errors, respond with a generic Alexa.ErrorResponse event.

CancelRecording directive

Support the CancelRecording directive so that users can request to cancel a scheduled recording of the specified title or a title that best matches the requested entity.

CancelRecording directive example

The following example shows a request to cancel the recording of next week’s episode of the specified video content.

CancelRecording directive payload

The CancelRecording directive contains the same payload parameters as the SearchAndRecord directive.

CancelRecording response

If you handle a CancelRecording directive successfully, respond with an SearchAndRecord.Response event. The response doesn’t require a payload, but include the values of all other reportable properties in the context object. The following example shows a CancelRecording response.

CancelRecording error handling

If you can’t handle a CancelRecording directive successfully and the error is specific to video, respond with an Alexa.Video.ErrorResponse event. For general errors, respond with a generic Alexa.ErrorResponse event.

DeleteRecording directive

Support the DeleteRecording directive so that users can request to delete a scheduled recording for a specified title or a title that best matches the requested entity.

DeleteRecording directive example

The following example shows a request to delete the recording of next week’s episode of the specified video content.

DeleteRecording directive payload

The DeleteRecording directive contains the same payload parameters as the SearchAndRecord directive.

DeleteRecording response

If you handle a DeleteRecording directive successfully, respond with an SearchAndRecord.Response event. The response doesn’t require a payload, but include the values of all other reportable properties in the context object. The following example shows a DeleteRecording response.

DeleteRecording error handling

If you can’t handle a DeleteRecording directive successfully and the error is specific to video, respond with an Alexa.Video.ErrorResponse event. For general errors, respond with a generic Alexa.ErrorResponse event.

State reporting

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

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. The Alexa.VideoRecorder interface doesn’t define any proactively reportable properties. However, you send change reports for the other interfaces that you implement in your skill. For details about change reports, see State Reporting for Video Skills.
Last modified on August 23, 2024