Alexa.Video.ErrorResponse

If Alexa sends an Video directive to your skill and you can't handle it successfully, respond with an Alexa.Video.ErrorResponse event.

ErrorResponse event

In the payload for the Alexa.Video.ErrorResponse, specify the type of the error and include a message with information about the error. For the list of Alexa.Video error types, see Error type values.

ErrorResponse event payload details

Field Description Type Required
type The type of error. Alexa shares this with the customer. String Yes
message The error message for the error. Alexa doesn't share this with the customer. String Yes

ErrorResponse event format

Copied to clipboard.

{
"event": {
    "header": {
      "namespace": "Alexa.Video",
      "name": "ErrorResponse",
      "messageId": "a unique identifier, preferably a version 4 UUID",
      "correlationToken": "correlation token received in the directive",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "OAuth2 bearer token"
      },
      "endpointId" :  "the endpoint identifier of the endpoint " ,
    },
    "payload": {
      "type": "error type",
      "message": "error message"
    }
  }
}

Error type values

The following table shows the valid error types in the Alexa.Video namespace.

Type Description

ACTION_NOT_PERMITTED_FOR_CONTENT

Indicates the content doesn't allow the action requested. For example, if the user tries to delete a recording that's marked as can't be deleted.

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

User isn't 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 that the specified title yielded multiple results, and disambiguation is required to determine the program to record. This value should be used to indicate that the target device can 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.

Example responses

Synchronous response example

The following is an example error response that you send synchronously to Alexa. For the list of Alexa.Video.ErrorResponse error types, see Error type values.

Copied to clipboard.

{
  "event": {
    "header": {
      "namespace": "Alexa.Video",
      "name": "ErrorResponse",
      "messageId": "a unique identifier, preferably a version 4 UUID",
      "correlationToken": "correlation token received in the directive",
      "payloadVersion": "3"
    },
    "endpoint":{
      "endpointId": "endpoint id"
    },
    "payload": {
      "type": "CONTENT_NOT_RECORDABLE",
      "message": "Optional information about the error that will be logged by Alexa."
      }
  }
}

Asynchronous response example

The following is an example error response that you send asynchronously to the Alexa event gateway. If you respond asynchronously, include a correlation token and a scope with an authorization token. For details, see Send Events to the Event Gateway.

For the list of Alexa.Video error types, see Error type values.

Copied to clipboard.

{
  "event": {
    "header": {
      "namespace": "Alexa.Video",
      "name": "ErrorResponse",
      "messageId": "a unique identifier, preferably a version 4 UUID",
      "correlationToken": "correlation token received in the directive",
      "payloadVersion": "3"
    },
    "endpoint":{
      "scope":{
        "type": "BearerToken",
        "token": "OAuth2 bearer token"
      },
      "endpointId": "endpoint id"
    },
    "payload": {
        "type": "CONTENT_NOT_RECORDABLE",
        "message": "Optional information about the error that will be logged by Alexa."
    }
  }
}