Media Streaming API Resources

API Summary

Operation Method Endpoint
Domains
List Domains GET /config-media-live/v1/live
Create a Domain POST /config-media-live/v1/live
Get a Domain GET /config-media-live/v1/live/{domain}
Remove a Domain DELETE /config-media-live/v1/live/{domain}
Streams
List Streams GET /config-media-live/v1/live/{domain}/stream
Create a New Stream POST /config-media-live/v1/live/{domain}/stream
Get a Stream GET /config-media-live/v1/live/{domain}/stream/{streamId}
Remove a Stream DELETE /config-media-live/v1/live/{domain}/stream/{streamId}
Modify a Stream PUT /config-media-live/v1/live/{domain}/stream/{streamId}
Events
List Events GET /config-media-live/v1/live/{domain}/stream/{streamId}/event
Get an Event GET /config-media-live/v1/live/{domain}/stream/{streamId}/event/{eventName}
Modify an Event PUT /config-media-live/v1/live/{domain}/stream/{streamId}/event/{eventName}
Remove an Event DELETE /config-media-live/v1/live/{domain}/stream/{streamId}/event/{eventName}
Versions
Create a New Version POST /config-media-live/v1/live/{domain}/version
Get a Version GET /config-media-live/v1/live/{domain}/version/{versionId}
Get Activation Status GET /config-media-live/v1/live/{domain}/version/{versionId}/activation
Activate a Version PUT /config-media-live/v1/live/{domain}/version/{versionId}/activation
List Archive Locations GET /config-media-live/v1/api/live/utils/archivelocation
Utilities
List Contacts GET /config-media-live/v1/live/utils/contacts
List Countries GET /config-media-live/v1/live/utils/countries
List CP Codes GET /config-media-live/v1/live/utils/cpcode
List Delivery Formats GET /config-media-live/v1/live/utils/delivery/format
List Ingest Formats GET /config-media-live/v1/live/utils/ingest/format

List Domains

Returns a list of all Universal Streaming and IDevices domains currently created on the account.

GET /config-media-live/v1/live

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<domains>
   <domain>
      <configuration-details>
         <configuration-name>hdconfig1</configuration-name>
         <hostname>hdconfig1-f.akamai-domain.net</hostname>
         <reporting-cpcode>123456</reporting-cpcode>
         <configuration-type>Universal Streaming Live</configuration-type>
         <access-control-group>ABCDEF</access-control-group>
      </configuration-details>
      <archive-configuration>
         <archive-name>hdconfig1 [HD Flash Live]</archive-name>
         <archive-cpcode>987654</archive-cpcode>
         <dvr-path>DVR</dvr-path>
         <domain-name>hdconfig1.akamai-domain.net</domain-name>
      </archive-configuration>
      <advanced-configuration>Disabled</advanced-configuration>
      <fms-backup-option>Disabled</fms-backup-option>
      <domain-versions>
         <domain-version>
            <version>1</version>
            <delivery-formats>
               <hd-flash-1.0>Enabled</hd-flash-1.0>
               <adobe-hds>Disabled</adobe-hds>
               <apple-hls>Disabled</apple-hls>
            </delivery-formats>
            <security>
               <hd-flash>
                  <token-authorization>Disabled</token-authorization>
                  <player-verification>Disabled</player-verification>
                  <geo-blocking />
               </hd-flash>
               <securehd-policy-editor>Disabled</securehd-policy-editor>
            </security>
            <advanced-configuration>
               <adobe-hds-advanced-config />
               <hd-flash-advanced-config>
                  <live-delay>14</live-delay>
               </hd-flash-advanced-config>
               <apple-hls-advanced-config />
            </advanced-configuration>
            <hd-client-support-information />
            <author>example@domain.com</author>
            <production-deployment-status>Activated</production-deployment-status>
            <activate-environment>Production</activate-environment>
         </domain-version>
      </domain-versions>
   </domain>
   <domain>
      <configuration-details>
         <configuration-name>hdconfig2</configuration-name>
         <hostname>hdconfig2-f.akamai-domain.net</hostname>
         <reporting-cpcode>678901</reporting-cpcode>
         <configuration-type>Universal Streaming Live</configuration-type>
         <access-control-group>1-ABCDEF</access-control-group>
      </configuration-details>
      <archive-configuration>
         <archive-name>hdconfig2 [HD Flash Live]</archive-name>
         <archive-cpcode>543210</archive-cpcode>
         <dvr-path>DVR</dvr-path>
         <domain-name>hdconfig2.akamai-domain.net</domain-name>
      </archive-configuration>
      <advanced-configuration>Disabled</advanced-configuration>
      <fms-backup-option>Disabled</fms-backup-option>
      <domain-versions>
         <domain-version>
            <version>1</version>
            <delivery-formats>
               <hd-flash-1.0>Enabled</hd-flash-1.0>
               <adobe-hds>Disabled</adobe-hds>
               <apple-hls>Disabled</apple-hls>
            </delivery-formats>
            <security>
               <hd-flash>
                  <token-authorization>Disabled</token-authorization>
                  <player-verification>Disabled</player-verification>
                  <geo-blocking />
               </hd-flash>
               <securehd-policy-editor>Disabled</securehd-policy-editor>
            </security>
            <advanced-configuration>
               <adobe-hds-advanced-config />
               <hd-flash-advanced-config>
                  <live-delay>14</live-delay>
               </hd-flash-advanced-config>
               <apple-hls-advanced-config />
            </advanced-configuration>
            <hd-client-support-information />
            <author>example@domain.com</author>
            <production-deployment-status>Activated</production-deployment-status>
            <activate-environment>Production</activate-environment>
         </domain-version>
      </domain-versions>
   </domain>
</domains>

Create a Domain

Creates a new configuration with the assigned domain, initialized at version 1. Domains are either based on a Stream Packaging configuration or an HLS, HDS, and DASH Ingest configuration. See the Domain object for details on each type.

Before you can create new Stream Packaging streams, you must create at least one Stream Packaging configuration to establish parameters for packaged streams, such as the CP code and hostname. NetStorage is used with Live Media Services Live as your stream archive’s storage location. Therefore, you must have a NetStorage CP code set up and dedicated for use with Media Services Live, or you will be unable to create configurations. You can create as many configurations as you have CP codes available, depending on how you would like to have your streams being reported on and billed.

POST /config-media-live/v1/live

Content-Type: application/xml

Request:

<domain>
    <configuration-details>
        <configuration-name>live_test_123</configuration-name>
        <hostname>livetestapi-lh.akamai-domain.net</hostname>
        <reporting-cpcode>123456</reporting-cpcode>
        <configuration-type>Universal Streaming Live</configuration-type>
        <access-control-group>1-ABCDEF</access-control-group>
    </configuration-details>
    <archive-configuration>
        <archive-cpcode>987654</archive-cpcode>
        <archive-storage-location>EU/US preferred</archive-storage-location>
    </archive-configuration>
    <domain-versions>
        <domain-version>
            <delivery-formats>
                <hd-flash-1.0>Disabled</hd-flash-1.0>
                <adobe-hds>Enabled</adobe-hds>
                <apple-hls>Enabled</apple-hls>
            </delivery-formats>
            <advanced-configuration>
                <adobe-hds-advanced-config>
                    <hds-segment-duration>5</hds-segment-duration>
                </adobe-hds-advanced-config>
                <apple-hls-advanced-config>
                    <hls-segment-duration>10</hls-segment-duration>
                    <audio-only-stream-from-lowest-bitrate>Enabled</audio-only-stream-from-lowest-bitrate>
                </apple-hls-advanced-config>
            </advanced-configuration>
        </domain-version>
    </domain-versions>
</domain>

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response-message>
    <message>New Domain created successfully.</message>
</response-message>

Get a Domain

Get the profile settings.

GET /config-media-live/v1/live/{domain}

Example: /config-media-live/v1/live/domain.com

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain..

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<domain>
   <configuration-details>
      <configuration-name>live_test_123</configuration-name>
      <hostname>livetestapi-lh.akamai-domain.net</hostname>
      <reporting-cpcode>123456</reporting-cpcode>
      <configuration-type>Universal Streaming Live</configuration-type>
      <access-control-group>1-ABCDEF</access-control-group>
   </configuration-details>
   <archive-configuration>
      <archive-name>live_test_123 [Universal Stream]</archive-name>
      <archive-cpcode>987654</archive-cpcode>
      <dvr-path>DVR</dvr-path>
      <domain-name>987654l.akamai-domain.net</domain-name>
   </archive-configuration>
   <advanced-configuration>Disabled</advanced-configuration>
   <fms-backup-option>Disabled</fms-backup-option>
   <domain-versions>
      <domain-version>
         <version>1</version>
         <delivery-formats>
            <hd-flash-1.0>Disabled</hd-flash-1.0>
            <adobe-hds>Enabled</adobe-hds>
            <apple-hls>Enabled</apple-hls>
         </delivery-formats>
         <security>
            <hd-flash>
               <geo-blocking />
            </hd-flash>
            <securehd-policy-editor>Disabled</securehd-policy-editor>
         </security>
         <advanced-configuration>
            <adobe-hds-advanced-config>
               <hds-segment-duration>5.0</hds-segment-duration>
               <hds-live-delay>10</hds-live-delay>
            </adobe-hds-advanced-config>
            <hd-flash-advanced-config />
            <apple-hls-advanced-config />
         </advanced-configuration>
         <hd-client-support-information>
            <organization-name>Akamai</organization-name>
            <support-url>http://www.akamai.com/client/streaming-support</support-url>
         </hd-client-support-information>
         <author>example@domain.com</author>
      </domain-version>
   </domain-versions>
</domain>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Make a GET request to /config-media-live/v1/live/{domainName}.

Remove a Domain

Deletes a domain.

DELETE /config-media-live/v1/live/{domain}

Example: /config-media-live/v1/live/domain.com

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain..

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<response-message>
    <message>Your Domain delete request was successful.</message>
</response-message>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Make a DELETE request to /config-media-live/v1/live/{domainName}.

List Streams

List all the streams associated with the profile. Streams may be based on either a Stream Packaging configuration or HLS, HDS, and DASH ingest configuration. See the Stream object for details on each type.

GET /config-media-live/v1/live/{domain}/stream

Example: /config-media-live/v1/live/domain.com/stream

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<streams>
   <stream>
      <stream-id>10000</stream-id>
      <stream-type>Universal Streaming Live</stream-type>
      <stream-name>STREAM1</stream-name>
      <primary-contact-name>test.user.1</primary-contact-name>
      <secondary-contact-name>test.user.2</secondary-contact-name>
      <status>Provisioned</status>
      <notification-email>example@domain.com</notification-email>
      <encoder-settings>
         <primary-encoder-ip>250.250.250.250</primary-encoder-ip>
         <backup-encoder-ip>250.250.250.251</backup-encoder-ip>
         <username>username</username>
         <password>password</password>
      </encoder-settings>
      <dvr-settings>
         <dvr>Disabled</dvr>
      </dvr-settings>
      <security-1.0>
         <token-authorization>Disabled</token-authorization>
         <player-verification>Disabled</player-verification>
      </security-1.0>
      <entrypoints>
         <entrypoint>
            <type>Backup</type>
            <domain-name>b.ep10000.i.akamaidomain.net</domain-name>
         </entrypoint>
         <entrypoint>
            <type>Primary</type>
            <domain-name>p.ep10000.i.akamaidomain.net</domain-name>
         </entrypoint>
      </entrypoints>
      <hd-flash-1.0-playback-url>http://livetestapi-lh.akamai-domain.net/[EVENT_ANGLE_BITRATE]@10000</hd-flash-1.0-playback-url>
      <hds-playback-url>http://livetestapi-lh.akamai-domain.net/z/[EVENT_ANGLE]@10000/manifest.f4m</hds-playback-url>
      <hls-playback-url>http://livetestapi-lh.akamai-domain.net/i/[EVENT_ANGLE]@10000/master.m3u8</hls-playback-url>
   </stream>
</streams>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Make a GET request to /config-media-live/v1/live/{domainName}/stream.

Create a New Stream

Create a new stream, either based on a Stream Packaging configuration or an HLS, HDS, and DASH configuration. See the Stream object for details on each type.

POST /config-media-live/v1/live/{domain}/stream

Example: /config-media-live/v1/live/domain.com/stream

Content-Type: application/xml

Request:

<?xml version="1.0" encoding="UTF-8"?>
<stream>
   <stream-type>Universal Streaming Live</stream-type>
   <stream-name>STREAM1</stream-name>
   <primary-contact-name>Stream User1</primary-contact-name>
   <secondary-contact-name>Stream User2</secondary-contact-name>
   <notification-email>example@domain.com</notification-email>
   <encoder-settings>
      <primary-encoder-ip>250.250.250.250</primary-encoder-ip>
      <backup-encoder-ip>250.250.250.251</backup-encoder-ip>
      <password>password</password>
   </encoder-settings>
   <dvr-settings>
      <dvr>Disabled</dvr>
   </dvr-settings>
</stream>

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<stream>
   <stream-id>10001</stream-id>
   <stream-type>Universal Streaming Live</stream-type>
   <stream-name>STREAM1</stream-name>
   <primary-contact-name>Stream User1</primary-contact-name>
   <secondary-contact-name>Stream User2</secondary-contact-name>
   <status>Not yet provisioned</status>
   <notification-email>example@domain.com</notification-email>
   <encoder-settings>
      <primary-encoder-ip>250.250.250.250</primary-encoder-ip>
      <backup-encoder-ip>250.250.250.251</backup-encoder-ip>
      <username>12345</username>
      <password>password</password>
   </encoder-settings>
   <dvr-settings>
      <dvr>Disabled</dvr>
   </dvr-settings>
   <security-1.0>
      <token-authorization>Disabled</token-authorization>
      <player-verification>Disabled</player-verification>
   </security-1.0>
   <entrypoints>
      <entrypoint>
         <type>Backup</type>
         <domain-name>b.ep10001.i.akamaidomain.net</domain-name>
      </entrypoint>
      <entrypoint>
         <type>Primary</type>
         <domain-name>p.ep10001.i.akamaidomain.net</domain-name>
      </entrypoint>
   </entrypoints>
   <hd-flash-1.0-playback-url>http://akamai-lh.akamai-domain.net/[EVENT_ANGLE_BITRATE]@10001</hd-flash-1.0-playback-url>
   <hds-playback-url>http://akamai-lh.akamai-domain.net/z/[EVENT_ANGLE]@10001/manifest.f4m</hds-playback-url>
   <hls-playback-url>http://akamai-lh.akamai-domain.net/i/[EVENT_ANGLE]@10001/master.m3u8</hls-playback-url>
</stream>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Create a Stream object.

  3. POST the object to /config-media-live/v1/live/{domainName}/stream.

Get a Stream

Get the stream’s details.

GET /config-media-live/v1/live/{domain}/stream/{streamId}

Example: /config-media-live/v1/live/domain.com/stream/10000

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
streamId Number 10000 Unique identifier for each stream.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<stream>
      <stream-id>10000</stream-id>
      <stream-type>Universal Streaming Live</stream-type>
      <stream-name>STREAM1</stream-name>
      <primary-contact-name>test.user.1</primary-contact-name>
      <secondary-contact-name>test.user.2</secondary-contact-name>
      <status>Provisioned</status>
      <notification-email>example@domain.com</notification-email>
      <encoder-settings>
         <primary-encoder-ip>250.250.250.250</primary-encoder-ip>
         <backup-encoder-ip>250.250.250.251</backup-encoder-ip>
         <username>username</username>
         <password>password</password>
      </encoder-settings>
      <dvr-settings>
         <dvr>Disabled</dvr>
      </dvr-settings>
      <security-1.0>
         <token-authorization>Disabled</token-authorization>
         <player-verification>Disabled</player-verification>
      </security-1.0>
      <entrypoints>
         <entrypoint>
            <type>Backup</type>
            <domain-name>b.ep10000.i.akamaidomain.net</domain-name>
         </entrypoint>
         <entrypoint>
            <type>Primary</type>
            <domain-name>p.ep10000.i.akamaidomain.net</domain-name>
         </entrypoint>
      </entrypoints>
      <hd-flash-1.0-playback-url>http://livetestapi-lh.akamai-domain.net/[EVENT_ANGLE_BITRATE]@10000</hd-flash-1.0-playback-url>
      <hds-playback-url>http://livetestapi-lh.akamai-domain.net/z/[EVENT_ANGLE]@10000/manifest.f4m</hds-playback-url>
      <hls-playback-url>http://livetestapi-lh.akamai-domain.net/i/[EVENT_ANGLE]@10000/master.m3u8</hls-playback-url>
   </stream>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Run List Streams and store the streamId from the appropriate listed object.

  3. Make a GET request to /config-media-live/v1/live/{domainName}/stream/{streamId}.

Remove a Stream

Delete a stream.

DELETE /config-media-live/v1/live/{domain}/stream/{streamId}

Example: /config-media-live/v1/live/domain.com/stream/10000

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
streamId Number 10000 Unique identifier for each stream.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<response-message>
    <message>Deleted Stream successfully.</message>
</response-message>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Run List Streams and store the streamId from the appropriate listed object.

  3. Make a DELETE request to /config-media-live/v1/live/{domainName}/stream/{streamId}.

Modify a Stream

Edit an existing stream, based on either a Stream Packaging configuration or HLS, HDS, and DASH ingest configuration. See the Stream object for details on each type.

PUT /config-media-live/v1/live/{domain}/stream/{streamId}

Example: /config-media-live/v1/live/domain.com/stream/10000

Content-Type: application/xml

Request:

<?xml version="1.0" encoding="UTF-8"?>
<stream>
   <stream-id>12345</stream-id>
   <stream-type>Universal Streaming Live</stream-type>
   <stream-name>STREAM1</stream-name>
   <primary-contact-name>Stream User1</primary-contact-name>
   <secondary-contact-name>Stream User2</secondary-contact-name>
   <notification-email>example@domain.com</notification-email>
   <encoder-settings>
      <primary-encoder-ip>250.250.250.250</primary-encoder-ip>
      <backup-encoder-ip>250.250.250.251</backup-encoder-ip>
      <password>password</password>
   </encoder-settings>
   <dvr-settings>
      <dvr>Disabled</dvr>
   </dvr-settings>
</stream>

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
streamId Number 10000 Unique identifier for each stream.

Status 200 application/xml

Response:

<stream>
    <stream-id>12345</stream-id>
   <stream-type>Universal Streaming Live</stream-type>
   <stream-name>STREAM1</stream-name>
   <primary-contact-name>Stream User1</primary-contact-name>
   <secondary-contact-name>Stream User2</secondary-contact-name>
   <notification-email>example@domain.com</notification-email>
   <encoder-settings>
      <primary-encoder-ip>250.250.250.250</primary-encoder-ip>
      <backup-encoder-ip>250.250.250.251</backup-encoder-ip>
      <password>password</password>
   </encoder-settings>
   <dvr-settings>
      <dvr>Disabled</dvr>
   </dvr-settings>
</stream>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Run List Streams and store the streamId from the appropriate listed object.

  3. Run Get a Stream, and modify the response’s Stream object.

  4. PUT the object to /config-media-live/v1/live/{domainName}/stream/{streamId}.

List Events

List the stream’s events.

GET /config-media-live/v1/live/{domain}/stream/{streamId}/event

Example: /config-media-live/v1/live/domain.com/stream/10000/event

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
streamId Number 10000 Unique identifier for each stream.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<event-list>
   <event>
      <stream-id>10001</stream-id>
      <event-name>news_event</event-name>
      <primary-event>
         <archive-start-time>05/19/2013 19:42:10 AM</archive-start-time>
         <archive-end-time>06/21/2013 07:37:42 PM</archive-end-time>
      </primary-event>
      <backup-event>
         <archive-start-time>05/19/2013 19:42:10 AM</archive-start-time>
         <archive-end-time>06/21/2013 07:37:42 PM</archive-end-time>
      </backup-event>
   </event>
   <event>
      <stream-id>10001</stream-id>
      <event-name>sports_event</event-name>
      <primary-event>
         <archive-start-time>05/15/2013 12:40:21 PM</archive-start-time>
         <archive-end-time>06/15/2013 12:38:00 PM</archive-end-time>
         <on-air-time>05/15/2013 12:40:21 PM</on-air-time>
         <delete-time>05/15/2013 12:40:21 PM</delete-time>
      </primary-event>
   </event>
</event-list>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Run List Streams and store the streamId from the appropriate listed object.

  3. Make a GET request to /config-media-live/v1/live/{domainName}/stream/{streamId}/event.

Get an Event

Get primary and backup archive details for an event.

GET /config-media-live/v1/live/{domain}/stream/{streamId}/event/{eventName}

Example: /config-media-live/v1/live/domain.com/stream/10000/event/event_name

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
eventName String event_name Human-readable event name.
streamId Number 10000 Unique identifier for each stream.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<event>
   <stream-id>10001</stream-id>
   <event-name>event_name</event-name>
   <primary-event>
      <archive-start-time>05/15/2013 12:40:21 PM</archive-start-time>
      <archive-end-time>06/15/2013 12:38:00 PM</archive-end-time>
      <on-air-time>05/15/2013 12:40:21 PM</on-air-time>
      <delete-time>05/15/2013 12:40:21 PM</delete-time>
   </primary-event>
</event>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Run List Streams and store the streamId from the appropriate listed object.

  3. Run List Events and store the eventName.

  4. Make a GET request to /config-media-live/v1/live/{domainName}/stream/{streamId}/event/{eventName}.

Modify an Event

Update a steam event. You can edit an event’s on-air-time, off-air-time, and delete-time. The off-air-time element references to the On Air End field in the Luna Control Center.

PUT /config-media-live/v1/live/{domain}/stream/{streamId}/event/{eventName}

Example: /config-media-live/v1/live/domain.com/stream/10000/event/event_name

Content-Type: application/xml

Request:

<?xml version="1.0" encoding="UTF-8"?>
<event>
   <stream-id>10001</stream-id>
   <event-name>sports_event</event-name>
   <primary-event>
      <on-air-time>05/15/2013 12:40:21 PM</on-air-time>
      <delete-time>05/15/2013 12:40:21 PM</delete-time>
   </primary-event>
</event>

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
eventName String event_name Human-readable event name.
streamId Number 10000 Unique identifier for each stream.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<event>
   <stream-id>10001</stream-id>
   <event-name>sports_event</event-name>
   <primary-event>
      <on-air-time>05/15/2013 12:40:21 PM</on-air-time>
      <delete-time>05/15/2013 12:40:21 PM</delete-time>
   </primary-event>
</event>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Run List Streams and store the streamId from the appropriate listed object.

  3. Run List Events and store the eventName.

  4. Run Get an Event, then modify the Event object from the response.

  5. PUT the object to /config-media-live/v1/live/{domainName}/stream/{streamId}/event/{eventName}.

Remove an Event

Delete the event details. You can delete your events at any time.

DELETE /config-media-live/v1/live/{domain}/stream/{streamId}/event/{eventName}

Example: /config-media-live/v1/live/domain.com/stream/10000/event/event_name

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
eventName String event_name Human-readable event name.
streamId Number 10000 Unique identifier for each stream.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Run List Streams and store the streamId from the appropriate listed object.

  3. Run List Events and store the eventName.

  4. Make a DELETE request to /config-media-live/v1/live/{domainName}/stream/{streamId}/event/{eventName}.

Create a New Version

Create a new profile version.

POST /config-media-live/v1/live/{domain}/version

Example: /config-media-live/v1/live/domain.com/version

Content-Type: application/xml

Request:

<?xml version="1.0" encoding="UTF-8"?>
<domain-version>
   <delivery-formats>
      <hd-flash-1.0>Disabled</hd-flash-1.0>
      <adobe-hds>Disabled</adobe-hds>
      <apple-hls>Enabled</apple-hls>
   </delivery-formats>
   <security>
      <hd-flash>
         <geo-blocking />
      </hd-flash>
      <securehd-policy-editor>Disabled</securehd-policy-editor>
   </security>
   <advanced-configuration>
      <adobe-hds-advanced-config />
      <hd-flash-advanced-config />
      <apple-hls-advanced-config>
         <hls-segment-duration>10.0</hls-segment-duration>
         <hls-live-delay>10</hls-live-delay>
         <audio-only-stream-from-lowest-bitrate>Disabled</audio-only-stream-from-lowest-bitrate>
         <insert-audio-poster>Disabled</insert-audio-poster>
         <add-alternate-stream>Enabled</add-alternate-stream>
         <limit-segments-per-playlist>0</limit-segments-per-playlist>
         <serve-archive>Enabled</serve-archive>
      </apple-hls-advanced-config>
   </advanced-configuration>
</domain-version>

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response-message>
    <message>New Domain version 13 created successfully.</message>
</response-message>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Create a DomainVersion object.

  3. POST the object to /config-media-live/v1/live/{domainName}/version.

Get a Version

Profile version settings.

GET /config-media-live/v1/live/{domain}/version/{versionId}

Example: /config-media-live/v1/live/domain.com/version/2

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
versionId Number 2 Domain’s incremental version number.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<domain-version>
   <version>2</version>
   <delivery-formats>
      <hd-flash-1.0>Disabled</hd-flash-1.0>
      <adobe-hds>Disabled</adobe-hds>
      <apple-hls>Enabled</apple-hls>
   </delivery-formats>
   <security>
      <hd-flash>
         <geo-blocking />
      </hd-flash>
      <securehd-policy-editor>Disabled</securehd-policy-editor>
   </security>
   <advanced-configuration>
      <adobe-hds-advanced-config />
      <hd-flash-advanced-config />
      <apple-hls-advanced-config>
         <hls-segment-duration>10.0</hls-segment-duration>
         <hls-live-delay>10</hls-live-delay>
         <audio-only-stream-from-lowest-bitrate>Disabled</audio-only-stream-from-lowest-bitrate>
         <insert-audio-poster>Disabled</insert-audio-poster>
         <add-alternate-stream>Enabled</add-alternate-stream>
         <limit-segments-per-playlist>0</limit-segments-per-playlist>
         <serve-archive>Enabled</serve-archive>
      </apple-hls-advanced-config>
   </advanced-configuration>
   <author>example@domain.com</author>
</domain-version>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Obtain versionId from the XML response that appears when you list all streaming domains.

  3. Make a GET request to /config-media-live/v1/live/{domain}/version/{versionId}.

Get Activation Status

Get activation status of the profile version.

GET /config-media-live/v1/live/{domain}/version/{versionId}/activation

Example: /config-media-live/v1/live/domain.com/version/2/activation

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
versionId Number 2 Domain’s incremental version number.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<response-message>
   <message>Version 13 is currently NOT active on Staging.</message>
</response-message>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Obtain versionId from the XML response that appears when you list all streaming domains.

  3. Make a GET request to /config-media-live/v1/live/{domainName}/version/{versionId}/activation.

Activate a Version

Activate profile version on an environment.

PUT /config-media-live/v1/live/{domain}/version/{versionId}/activation

Example: /config-media-live/v1/live/domain.com/version/2/activation

Parameter Type Sample Description
Required
domain String domain.com Unique identifier for each domain.
versionId Number 2 Domain’s incremental version number.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<response-message>
   <message>This version of ARL metadata has been submitted to staging network. Please note that it may take upwards of 1 hour for your configuration to take effect on our network. Contact your Akamai representative if you are having problems with your configuration.</message>
</response-message>

  1. Run List Domains and store the domainName from the appropriate listed object.

  2. Obtain versionId from the XML response that appears when you list all streaming domains.

  3. Make a PUT request to /config-media-live/v1/live/{domainName}/version/{versionId}/activation.

List Archive Locations

Returns a list of NetStorage archive locations to be used for provisioning.

GET /config-media-live/v1/api/live/utils/archivelocation

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<archive-storage-locations>
   <archive-storage-location>
      <name>Asia and US West</name>
   </archive-storage-location>
   <archive-storage-location>
      <name>Asia/Ireland</name>
   </archive-storage-location>
   <archive-storage-location>
      <name>Hong Kong/Malaysia</name>
   </archive-storage-location>
   <archive-storage-location>
      <name>Asia/Asia preferred</name>
   </archive-storage-location>
   <archive-storage-location>
      <name>EU/EU preferred</name>
   </archive-storage-location>
   <archive-storage-location>
      <name>US/US preferred</name>
   </archive-storage-location>
   <archive-storage-location>
      <name>EU/US preferred</name>
   </archive-storage-location>
   <archive-storage-location>
      <name>Asia/Europe</name>
   </archive-storage-location>
</archive-storage-locations>

List Contacts

List an organization’s contact names who are responsible for the stream entrypoint availability.

GET /config-media-live/v1/live/utils/contacts

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<contacts>
    <contact>
        <name>John Doe</name>
    </contact>
    <contact>
        <name>Jack King</name>
    </contact>
    <contact>
        <name>Sam Adams</name>
    </contact>
</contacts>

List Countries

Returns a list of countries supported when creating a configuration.

GET /config-media-live/v1/live/utils/countries

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<countries>
   <country>
      <country-code>AF</country-code>
      <country-name>AFGHANISTAN</country-name>
   </country>
   <country>
      <country-code>AL</country-code>
      <country-name>ALBANIA</country-name>
   </country>
   <country>
      <country-code>DZ</country-code>
      <country-name>ALGERIA</country-name>
   </country>
   <country>
      <country-code>AS</country-code>
      <country-name>AMERICAN SAMOA</country-name>
   </country>
   <country>
      <country-code>AD</country-code>
      <country-name>ANDORRA</country-name>
   </country>
   <country>
      <country-code>AO</country-code>
      <country-name>ANGOLA</country-name>
   </country>
   <country>
      <country-code>AI</country-code>
      <country-name>ANGUILLA</country-name>
   </country>
   <country>
      <country-code>AQ</country-code>
      <country-name>ANTARCTICA</country-name>
   </country>
   <country>
      <country-code>ZW</country-code>
      <country-name>ZIMBABWE</country-name>
   </country>
</countries>

List CP Codes

Returns a list of HD Live and NetStorage CP codes available for provisioning.

GET /config-media-live/v1/live/utils/cpcode

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<available-cpcode-list>
   <reporting-cpcode-list>
      <cpcode-list>
         <cpcode>1234</cpcode>
         <cpcode-name>CPCODE-NAME</cpcode-name>
         <network-service-list>
            <USS_LIVE_SERVICE_TYPES>HD_Live::Universal_Streaming</USS_LIVE_SERVICE_TYPES>
            <USS_LIVE_SERVICE_TYPES>HD_Live::Flash</USS_LIVE_SERVICE_TYPES>
            <USS_LIVE_SERVICE_TYPES>Live_Str::HD_Flash</USS_LIVE_SERVICE_TYPES>
            <IPHONE_LIVE_SERVICE_TYPES>HD_Live::iDevices</IPHONE_LIVE_SERVICE_TYPES>
            <NS_SERVICE_TYPES>NetStorage::NetStorage</NS_SERVICE_TYPES>
            <NS_SERVICE_TYPES>ACS_HTTP</NS_SERVICE_TYPES>
            <NS_SERVICE_TYPES>ACS_FTP</NS_SERVICE_TYPES>
            <network-service>
               <service>NetStorage (Legacy)</service>
            </network-service>
            <network-service>
               <service>Universal Streaming Live (Adobe Flash)</service>
            </network-service>
         </network-service-list>
         <top-level-group-list>
            <top-level-group>1-ABCDEF</top-level-group>
         </top-level-group-list>
      </cpcode-list>
      <cpcode-list>
         <cpcode>12345</cpcode>
         <cpcode-name>CPCODE-NAME 2</cpcode-name>
         <network-service-list>
            <USS_LIVE_SERVICE_TYPES>HD_Live::Universal_Streaming</USS_LIVE_SERVICE_TYPES>
            <USS_LIVE_SERVICE_TYPES>HD_Live::Flash</USS_LIVE_SERVICE_TYPES>
            <USS_LIVE_SERVICE_TYPES>Live_Str::HD_Flash</USS_LIVE_SERVICE_TYPES>
            <IPHONE_LIVE_SERVICE_TYPES>HD_Live::iDevices</IPHONE_LIVE_SERVICE_TYPES>
            <NS_SERVICE_TYPES>NetStorage::NetStorage</NS_SERVICE_TYPES>
            <NS_SERVICE_TYPES>ACS_HTTP</NS_SERVICE_TYPES>
            <NS_SERVICE_TYPES>ACS_FTP</NS_SERVICE_TYPES>
            <network-service>
               <service>HD iPhone Live</service>
            </network-service>
         </network-service-list>
         <top-level-group-list>
            <top-level-group>1-ABCDEF</top-level-group>
         </top-level-group-list>
      </cpcode-list>
   </reporting-cpcode-list>
   <netstorage-cpcode-list />
</available-cpcode-list>

List Delivery Formats

Returns a list of delivery formats available for provisioning.

GET /config-media-live/v1/live/utils/delivery/format

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<delivery-format-list>
   <hd-flash-1.0 />
   <adobe-hds />
   <apple-hls />
</delivery-format-list>

List Ingest Formats

Returns a list of ingest formats available for provisioning.

GET /config-media-live/v1/live/utils/ingest/format

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<ingest-format-list>
   <hd-flash />
   <apple-idevices />
</ingest-format-list>


Last modified: 12/13/2016