Developer Console

Alexa.RecordController Interface (VSK Fire TV)

The Alexa.RecordController interface provides directives for recording content and ending the current record operation. Implement this interface for devices that can start recording immediately. For devices that can schedule content to be recorded, see Alexa.VideoRecorder.

For the list of locales that are supported for the RecordController interface, see List of Capability Interfaces and Supported Locales.

Directives

StartRecording

A request to start recording the currently playing content.

User: Alexa, start recording

Example: StartRecording

{
    "header": {
        "payloadVersion": "3",
        "messageId": "abc-123-def-456",
        "namespace": "Alexa.RecordController",
        "name": "StartRecording",
        "correlationToken": "4d64dccb-bebc-4990-990a-abb922fd285d"
    },
       "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "video-endpoint-001",
      "cookie": {}
     },
    "payload": {
    }
}

StopRecording

A request to stop the current recording operation.

User: Alexa, stop recording

Example: StopRecording

{
  "directive": {
    "header": {
      "namespace": "Alexa.RecordController",
      "name": "StopRecording",
      "messageId": "abc-123-def-456",
      "correlationToken": "4d64dccb-bebc-4990-990a-abb922fd285d",
      "payloadVersion": "3"
    },
    "endpoint": {
      "scope": {
        "type": "BearerToken",
        "token": "access-token-from-skill"
      },
      "endpointId": "video-endpoint-001",
      "cookie": {}
     },
    "payload": {
    }
  }
}

Properties and Events

For this capability, you must reply:

  • Synchronously, which means you send a Response to Alexa from the Lambda function.

When you send a Response, you should include the state of the interface properties in the context of the message.

Reportable Properties

Property Name Type Description
RecordingState RecordingState Indicates whether the endpoint is recording or not. Either RECORDING or NOT_RECORDING.

Response

When a request to start or stop recording completes successfully, you should respond with an Alexa.Response with the status of RecordingState in the context of the message.

Example Response

{
  "context": {
    "properties": [{
      "name": "RecordingState",
      "namespace": "Alexa.RecordController",
      "timeOfSample": "2017-05-06T16:20:50.52Z",
      "uncertaintyInMilliseconds": 0,
      "value": "RECORDING"
    }]
  },
  "event": {
    "header": {
      "correlationToken": "4d64dccb-bebc-4990-990a-abb922fd285d",
      "messageId": "abc-123-def-456",
      "name": "Response",
      "namespace": "Alexa",
      "payloadVersion": "3"
    },
    "payload": {}
  }
}

Payload details

Field Description Type Required
None No required or optional fields in the payload. N/A N/A

ErrorResponse

You should reply with an error if you cannot complete the customer request for some reason. See the Error Handling documentation for more information.


Last updated: Jun 09, 2021