PlayCommandIssued Event

The PlayCommandIssued event must be sent when a user starts/resumes playback of a media item using an on-client button press or GUI affordance.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "PlayCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
}
}
}

Context

This event requires the client to send the status of all client component states to Alexa. For additional information see Context.

Header Parameters

Parameter

Description

Type

messageId

A unique ID used to represent a specific message.

string

Payload Parameters

An empty payload should be sent.

PauseCommandIssued Event

The PauseCommandIssued event must be sent when a user pauses the playback of a media item using an on-client button press or GUI affordance.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "PauseCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
}
}
}

Context

This event requires the client to send the status of all client component states to Alexa. For additional information see Context.

Header Parameters

Parameter

Description

Type

messageId

A unique ID used to represent a specific message.

string

Payload Parameters

An empty payload should be sent.

NextCommandIssued Event

The NextCommandIssued event must be sent when a user skips to the next media item in their playback queue using an on-client button press or GUI affordance.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "NextCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
}
}
}

Context

This event requires the client to send the status of all client component states to Alexa. For additional information see Context.

Header Parameters

Parameter

Description

Type

messageId

A unique ID used to represent a specific message.

string

Payload Parameters

An empty payload should be sent.

PreviousCommandIssued Event

The PreviousCommandIssued event must be sent when a user skips to the previous media item in their playback queue using an on-client button press or GUI affordance.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "PreviousCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
}
}
}

Context

This event requires the client to send the status of all client component states to Alexa. For additional information see Context.

Header Parameters

Parameter

Description

Type

messageId

A unique ID used to represent a specific message.

string

Payload Parameters

An empty payload should be sent.

ButtonCommandIssued Event

This event is used to notify Alexa of a unique on-client button press or GUI affordance, such as skip forward or skip backward. Skip duration is determined by the provider/skill, and each event is additive. For example, if a user presses the skip forward button three times in a row, and as a result three ButtonCommandIssued events are sent to Alexa, the additive effect, if the skip is 30 seconds, will be 90 seconds.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "ButtonCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
"name": "{{STRING}}"
}
}
}

Context

This event requires the client to send the status of all client component states to Alexa. For additional information see Context.

ToggleCommandIssued Event

This event is used to notify Alexa that an option or feature has been selected or deselected using an on-client button press or GUI affordance. Supported options include: shuffle, loop, repeat, thumbs up, and thumbs down.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "ToggleCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
"name": "{{STRING}}"
"action": "{{STRING}}"
}
}
}

Context

This event requires the client to send the status of all client component states to Alexa. For additional information see Context.

Header Parameters

Parameter

Description

Type

messageId

A unique ID used to represent a specific message.

string

Payload Parameters

Parameter

Description

Type

name

Specifies the option/feature that is being toggled by an on-client button press or GUI affordance. Accepted values: SHUFFLE, LOOP, REPEAT, THUMBSUP, THUMBSDOWN.

string

action

Indicates if the toggle has been selected or deselected. Accepted values:SELECT, DESELECT.

string

Warning: This is not the current version of the PlaybackController interface, some features may not be supported. If this isn't what you're looking for, please use the Interface Version Selector to navigate to the correct version.

The PlaybackController interface exposes a series of events for navigating a playback queue with an on-client button press or GUI affordance, rather than through a speech request.

Capabilities API

To use version 1.0 of the PlaybackController interface, it must be declared in your call to the Capabilities API. For additional details, see Capabilities API.

PlayCommandIssued Event

The PlayCommandIssued event must be sent when a user starts/resumes playback of a media item using an on-client button press or GUI affordance.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "PlayCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
}
}
}

Context

This event requires your product to report the status of all client component states to Alexa in the context object. For additional information see Context.

Header Parameters

Parameter

Description

Type

messageId

A unique ID used to represent a specific message.

string

Payload Parameters

An empty payload should be sent.

PauseCommandIssued Event

The PauseCommandIssued event is sent when a button press or GUI affordance is used to pause playback of a media item. When PauseCommandIssued is sent, the client must wait until a Stop directive is received before pausing or stopping the media item locally.

Tip: Alternatively, a client may pause playback locally, then send a PlaybackStopped event to Alexa. This will stop playback with no perceived latency for the user.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "PauseCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
}
}
}

Context

This event requires your product to report the status of all client component states to Alexa in the context object. For additional information see Context.

Header Parameters

Parameter

Description

Type

messageId

A unique ID used to represent a specific message.

string

Payload Parameters

An empty payload should be sent.

NextCommandIssued Event

The NextCommandIssued event must be sent when an end user skips to the next media item in their playback queue using an on-client button press or GUI affordance. The next media item should play only when the client receives a Play directive from Alexa.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "NextCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
}
}
}

Context

This event requires your product to report the status of all client component states to Alexa in the context object. For additional information see Context.

Header Parameters

Parameter

Description

Type

messageId

A unique ID used to represent a specific message.

string

Payload Parameters

An empty payload should be sent.

PreviousCommandIssued Event

The PreviousCommandIssued event must be sent when a user skips to the previous media item in their playback queue using an on-client button press or GUI affordance.

Sample Message

{
"context": [
// This is an array of context objects that are used to communicate the
// state of all client components to Alexa. See Context for details.
],
"event": {
"header": {
"namespace": "PlaybackController",
"name": "PreviousCommandIssued",
"messageId": "{{STRING}}"
},
"payload": {
}
}
}

Context

This event requires your product to report the status of all client component states to Alexa in the context object. For additional information see Context.