Skip to content

Change what the skill plays

PUT
/api/v1/skill/content
curl --request PUT \
--url https://example.com/api/v1/skill/content \
--header 'Content-Type: application/json' \
--cookie encore_session=<encore_session> \
--data '{ "content": [ "movies" ] }'

Saves alexa.content alone, as the setup wizard does before the first Kodi is added, so its first library sync fetches only what the skill plays. Applies on the next deploy for the skill model, at once for library syncs.

Media typeapplication/json
object
content
required

What the skill can play; music includes music videos

Array<string>
>= 1 items
Allowed values: movies tv music

OK

Media typeapplication/json
object
amazon
required
object
connected
required
boolean
has_client_secret
required
boolean
needs_reauthorise
required
boolean
profile_client_id
required
string
vendor_id
required
string
content
required

What the skill can play; music includes music videos

Array<string>
Allowed values: movies tv music
endpoint
required
object
url
required
string
invocation
required
string
Allowed values: encore kodi
invocation_name
required

What people say, “Alexa, ask <invocation_name> to…”, in the first enabled locale

string
last_deploy
required
One of:
object
at
required
string format: date-time
error
required
string
hash
required
string
id
required
string
locales
required
Array<object>
object
built_at
required
string | null format: date-time
errors
required
Array<string>
locale
required
string
size_bytes
required
integer format: int64
status
required
string
Allowed values: succeeded failed in_progress
titles
required
integer format: int64
state
required
string
Allowed values: succeeded failed in_progress
warnings
required
Array<string>
locales_available
required
Array<string>
locales_enabled
required
Array<string>
model_size
required
One of:
object
bytes
required
integer format: int64
limit_bytes
required
integer format: int64
locale
required
string
titles_in_model
required
integer format: int64
titles_server_only
required
integer format: int64
needs_deploy
required
boolean
privacy
required
object
allows_purchases
required
boolean | null
contains_ads
required
boolean | null
is_child_directed
required
boolean | null
is_export_compliant
required
boolean | null
uses_personal_info
required
boolean | null
skill_id
required
string
skill_name
required
string
state
required
string
Allowed values: live not_deployed deploying failed
update_reason
required

Why needs_deploy is set: the skill’s settings changed, or only the library titles in the model

string
Allowed values: none settings library

Example

{
"content": [
"movies"
],
"invocation": "encore",
"last_deploy": {
"locales": [
{
"status": "succeeded"
}
],
"state": "succeeded"
},
"state": "live",
"update_reason": "none"
}

Error

Media typeapplication/problem+json
object
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

Array<object>
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank

Example

{
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}