Developer Console

Error Handling (VSK Fire TV)

If Alexa sends a request to your skill and you can't handle it successfully, respond with an Alexa.ErrorResponse event. Specify the type of error and why it occurred.

The payload of an ErrorResponse event must specify a type and a message.

There is one error message type in the Alexa.Video namespace.

Type Description
ACTION_NOT_PERMITTED_FOR_CONTENT Indicates the content does not allow the action requested. For example, if the user tries to delete a recording that is marked as not deletable.
CONFIRMATION_REQUIRED Indicates an additional confirmation must occur before the requested action can be completed.
CONTENT_NOT_RECORDABLE Indicates the record operation failed due to restrictions on the content.
NOT_SUBSCRIBED The user is not subscribed to the content for a channel or other subscription-based content.
RECORDING_EXISTS Indicates that a recording request failed because the recording already exists.
STORAGE_FULL Indicates that a recording request failed because the DVR storage is full.
TITLE_DISAMBIGUATION_REQUIRED Indicates the title specified yielded multiple results, and disambiguation is required to determine the program to record. This value should be used to indicate that the target device will provide a mechanism for disambiguation. For example, this error could indicate that there are multiple airings of a program or that the entity requested for recording has multiple programs associated with it.
TUNER_OCCUPIED Indicates that a recording request failed because of a scheduling conflict with another recording.
INVALID_AUTHORIZATION_CREDENTIAL The authorization credential in the request is invalid. For example, the OAuth 2.0 access token is not valid for the user's account.
EXPIRED_AUTHORIZATION_CREDENTIAL The OAuth 2.0 access token in the request is expired.

Example: Alexa.Video.ErrorResponse

    "event": {
        "header": {
            "messageId": "4e02d3c8-85e8-4e32-8a1b-08c1d52122ad",
            "name": "ErrorResponse",
            "namespace": "Alexa.Video",
            "payloadVersion": "3"
        "endpoint": {
            "scope": {
                "type": "DirectedUserId",
                "directedUserId": "access-token-from-Amazon"
            "endpointId": "videoDevice-001"
        "payload": {
            "message": "optional information about the error that will be logged by Alexa",
            "type": "NOT_SUBSCRIBED"