Flash Briefing Skill API Feed Reference

This topic lists the requirements for a flash briefing skill feed, describes the supported formats, and gives examples of each of the accepted formats. Each flash briefing skill can have one or more feeds. The accepted formats for a feed are relatively simple, but there are some basic requirements for each supported format.

Feed Requirements

Each feed for a flash briefing skill contains either text content that Alexa reads to the customer or audio content that Alexa plays to the customer. Each feed should meet the following requirements:

Endpoint Requirements

  • UTF-8 encoded

  • A non-password-protected HTTPS endpoint. For example, https://developer.amazon.com/public/community/blog/feed/flashbriefing.rss
  • Provide content in one of the following formats:
    • JSON (preferred format)
    • RSS (acceptable format)

Format Requirements

The following are the basic feed format requirements. For more information, see Feed Format Details.

  • Provide the format type as a MIME type in HTTP Content-Type header
  • Provide between 1 and 5 unique feed items at a time.
    • If more items are provided, Alexa ignores items beyond the first five.
    • Items should be provided in order from newest to oldest, based on the date value for the item. Alexa may ignore older items.
    • Each item in the feed should be unique and should not overlap with content in another feed item.

Audio Content Requirements

For information on normalizing audio content loudness, see Normalize the Loudness of Audio Content.

  • An audio item must contain a HTTPS URL to audio content. HTTPS is required for stream URLs.
  • The audio content should be 256kbps mono or stereo MP3.
  • Content should not exceed 10 minutes in length.
  • Program loudness for Alexa should average -14 dB LUFS/LKFS.
  • The true-peak value should not exceed –2 dBFS.
  • Not lower than -19 dB LUFS.
  • Not higher than -9 dB LUFS.
  • Do not exceed true-peak guidelines.

Text Content Requirements

  • Limit feed items to fewer than 4,500 characters. Your content is truncated to the nearest sentence under 4,500 characters if it exceeds 4,500 characters in length.
  • Should be plain text and not contain special characters such as SSML, HTML or XML tags.
  • Should be properly punctuated, short, and easily understood when read aloud. Commas (,) and semicolons (;) result in short pauses. Periods (.), question marks (?) and exclamation points (!) result in longer pauses. Avoid using non-standard punctuation as it can cause TTS issues.

Performance requirements

Alexa attempts to cache your content every 15 minutes, and handles scaling for large traffic. For more information, see Performance Tips. You must meet the following requirements.

  • Your feed should be available 24 hours a day, 7 days a week. Contact Amazon at content-skill-submissions@amazon.com in the event of a planned outage.
  • An endpoint must handle at least 1 request per minute.
  • Response latency must be less than 1 second.

Updating Your Feed

Because flash briefing caches your content, it’s important that your content is fully uploaded and available before updating your feed file. To help ensure that new content is available, use the following steps.

  1. Upload your content to your server, wait for the upload to complete, and verify that you can reach the endpoint.
  2. Update the date element in your feed file to reflect the current date and time. For more information, see Feed Format Details.
  3. Save your feed file.

Alexa checks for new content every 15 minutes, and you can expect to hear or see your new content within 30 minutes of updating your feed file.

Feed Format Details

The following table lists format details for each supported format. Each message should contain the HTTP content-type header specifying the format of the payload. The remainder of the items in the following table describe how each item in a feed should be formatted.

Element JSON Element RSS Element Description Required
HTTP Content-Type Header application/json application/rss+xml Indicates the format of the feed payload. Yes
Identifier uid guid A unique identifier for each feed item. UUID format preferred, but not required. Yes
Date updateDate pubDate A date in the format yyyy-MM-dd'T'HH:mm:ss'.0Z', specified in UTC/Zulu time. The date indicates freshness of the feed item, and items should be in date order from newest to oldest. Alexa ignores items with a date older than 7 days. Yes
Title titleText title The title of the feed item to display in the Alexa app. Yes
Audio content A streamUrl element with a value of the URL for an MP3 stream. An enclosure element with a type attribute of audio/mpeg. The audio that Alexa plays for the customer. An HTTPS URL specifying the location of the audio content. This field is required for audio items. No
Text content mainText description The text that Alexa reads to the customer. For audio items, this element is ignored, and can contain an empty string (""). Yes
Display URL redirectionUrl link Provides the URL target for the Read More link in the Alexa app. Yes

JSON Message Examples

The following examples show how you would format JSON for the flash briefing skill API.

JSON single audio item example

This example contains audio content that Alexa plays to the customer. The title and link display in the Alexa app.

Content-Type: application/json
...
{
  "uid": "urn:uuid:1335c695-cfb8-4ebb-abbd-80da344efa6b",
  "updateDate": "2016-05-23T22:34:51.0Z",
  "titleText": "Amazon Developer Blog, week in review May 23rd",
  "mainText": "",
  "streamUrl": "https://developer.amazon.com/public/community/blog/myaudiofile.mp3",
  "redirectionUrl": "https://developer.amazon.com/public/community/blog"
}

JSON single text item example

The following example contains text content that Alexa reads to the customer. The title and link display in the Alexa app.

Content-Type: application/json
...
{
  "uid": "urn:uuid:1335c695-cfb8-4ebb-abbd-80da344efa6b",
  "updateDate": "2016-05-23T00:00:00.0Z",
  "titleText": "Amazon Developer Blog, week in review May 23rd",
  "mainText": "Meet Echosim. A new online community tool for developers that simulates the look and feel of an Amazon Echo.",
  "redirectionUrl": "https://developer.amazon.com/public/community/blog"
}

JSON text multi-item example

The following example contains multiple text items that Alexa reads to the customer, and plays an earcon sound between the items. The title and link display in the Alexa app.

Content-Type: application/json
...
[
  {
    "uid": "EXAMPLE_CHANNEL_MULTI_ITEM_JSON_TTS_1",
    "updateDate": "2016-04-10T00:00:00.0Z",
    "titleText": "Multi Item JSON (TTS)",
    "mainText": "This channel has multiple TTS JSON items. This is the first item.",
    "redirectionUrl": "https://www.amazon.com"
   },
  {
    "uid": "EXAMPLE_CHANNEL_MULTI_ITEM_JSON_TTS_2",
    "updateDate": "2016-04-10T00:00:00.0Z",
    "titleText": "Multi Item JSON (TTS)",
    "mainText": "This channel has multiple TTS JSON items. This is the second item.",
    "redirectionUrl": "https://www.amazon.com"
  }
]

RSS Message Examples

The following examples show how you would format RSS for the flash briefing skill API.

RSS single audio item example

This example contains audio content that Alexa plays to the customer. The title and link display in the Alexa app.

Content-Type: application/rss+xml
...

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <ttl>30</ttl>
    <item>
      <guid>urn:uuid:1335c695-cfb8-4ebb-abbd-80da344efa6b</guid>
      <title>Amazon Developer Blog, week in review May 23rd</title>
      <description>
        Meet Echosim. A new online community tool for developers that simulates the
        look and feel of an Amazon Echo.
      </description>
      <link>https://developer.amazon.com/public/community/blog</link>
      <pubDate>2016-05-23T00:00:00.0Z</pubDate>
      <enclosure url="https://developer.amazon.com/public/community/blog/myaudiofile.mp3"
		length="12216320" type="audio/mpeg" />
     </item>
  </channel>
</rss>

RSS single text item example

This example contains text content that Alexa reads to the customer. The title and link will display in the Alexa app.

Content-Type: application/rss+xml
    ...

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <ttl>30</ttl>
    <item>
      <guid>urn:uuid:42667ad2-0ffd-4f04-973f-732564622d7e</guid>
      <title>Amazon Developer Blog, week in review May 23rd</title>
      <link>https://developer.amazon.com/public/community/blog</link>
      <pubDate>2016-05-23T00:00:00.0Z</pubDate>
      <description>
        Meet Echosim. A new online community tool for developers that simulates the look and feel of an Amazon Echo. With 3D JavaScript animations and Alexa Voice Service integration, Echosim gives users the ability to experience a realistic interaction with Alexa capabilities and skills. Echosim lives in your browser, so anyone, anywhere can access it and test their Alexa skills.
        You no longer need an Alexa device to test your skills. Developers worldwide can use Echosim to experience Alexa.
      </description>
     </item>
  </channel>
</rss>

RSS text multi-item example

This example contains multiple text items that Alexa reads to the customer and plays an earcon sound between the items. The title and link will display in the Alexa app.

Content-Type: application/rss+xml
...
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <ttl>30</ttl>
    <item>
      <title>Multi Item RSS (TTS)</title>
      <link>https://www.amazon.com</link>
      <pubDate>2016-05-23T00:00:00.0Z</pubDate>
      <description>This channel has multiple TTS RSS items. This is item one.</description>
      <guid>urn:uuid:b385254e-dc31-4c4a-afc5-0de97e43923c</guid>
    </item>
    <item>
      <title>Multi Item RSS (TTS)</title>
      <link>https://www.amazon.com</link>
      <pubDate>2016-05-23T00:00:00.0Z</pubDate>
      <description>This channel has multiple TTS RSS items. This is item two.</description>
      <guid>urn:uuid:cf093eed-66f2-4dee-bdad-02ff0510194b</guid>
    </item>
  </channel>
</rss>