LIVE PLAYOUT PROFILES

All POST and PUT calls require the Content-Type header to be set to application/json

All actions require the appropriate Live Playout Profile feature permissions


Live Playout Profile object

Property Type Notes
id GUID string
configurationJson string Escaped JSON
name string

Origin Manifest Sync Result object

Property Type Notes
profileId GUID
eventId GUID
success bool
errors string[]

Updating or deleting a Live Playout Profile will perform a sync operation for Events associated with the Profile where the Event’s state is any one of the Playout States.

The sync operation creates/updates/removes playout manifests on the origin server(s) specified in each Event’s Channel configuration.

Any actions which perform these operations return an array of Origin Manifest Sync Result objects, indicating which Profile/Event combinations had a sync operation performed and whether each operation succeeded or not.

Failure to sync origin manifests do not fail the request, and will still yield a 200 OK status code to indicate that the data in the VIS successfully updated. Callers should check the response bodies of these requests to know about partial or total failures of these sync operations.

Event Playout States

  • LIVE_UNPUBLISHED
  • LIVE_PUBLISHED
  • STOPPED
  • SUSPENDED
  • INSTANT_VOD
  • INSTANT_VOD_BACKUP

These EventStates are considered “Playout States”, where the Publishing Point should exist for the Event on the origin server(s) specified in the Event’s Channel configuration.

When an Event transitions into any of these states, playout manifests are created on the origin server(s) for the collection of Live Playout Profiles associated with the Event.

When an Event is in any of these states, the playout manifests for the collection of associated Live Playout Profiles should exist on the origin server(s) and any updates to such Live Playout Profiles are reflected automatically in the playout manifests.

When an Event transitions out of these states, the playout manifests created for the associated Live Playout Profiles are automatically removed.

Bad Request object

Property Type Notes
message string Explanation of the error

Supported Actions

GET /playoutprofile

Get all Live Playout Profiles, or all Live Playout Profile IDs if idsOnly=true

Query Parameters

Name Type Required
idsOnly bool No (default: false)

Responses

Scenario Code Body
idsOnly=false 200 Array of Live Playout Profile objects
idsOnly=true 200 Array of GUID strings

Example Request

/playoutprofile

Example Response

[
    {
        "id": "a782bfee-5609-40da-94b6-8e92295c8da4",
        "configurationJson": "{\"manifestFile\":\"clear_profile.isml\", ...}"
        "name": "Clear Profile"
    },
    {
        "id": "053ee005-13ba-4278-b36a-c75c835cfb80",
        "configurationJson": "{\"manifestFile\":\"drm_profile.isml\", ...}"
        "name": "DRM Profile"
    }
]

Example Request

/playoutprofile?idsOnly=true

Example Response

[
    "a782bfee-5609-40da-94b6-8e92295c8da4",
    "053ee005-13ba-4278-b36a-c75c835cfb80"
]

GET /playoutprofile/{id}

Get the Live Playout Profile with the specified ID

Responses

Scenario Code Body
Success 200 A Live Playout Profile object
Invalid ID 404

Example Request

/playoutprofile/24bd0ed9-bc1d-42c2-a111-824e18265514

Example Response

{
    "id": "a782bfee-5609-40da-94b6-8e92295c8da4",
    "configurationJson": "{\"manifestFile\":\"clear_profile.isml\", ...}"
    "name": "Clear Profile"
}

GET /playoutprofile/{id}/events

Get the Events associated with the Live Playout Profile with the specified ID. Requires the Event Get permission.

Query Parameters

Name Type Required
idsOnly bool No (default: false)

Responses

Scenario Code Body
idsOnly=false 200 Array of Event objects
idsOnly=true 200 Array of GUID strings
Invalid ID 404

Example Request

/playoutprofile/24bd0ed9-bc1d-42c2-a111-824e18265514/events

Example Response

See Event object


POST /playoutprofile

Add a new Live Playout Profile

Request Body

A Live Playout Profile object. Required properties: configurationJson, name. The id property if specified is ignored.

Responses

Scenario Code Body
Success 201 The newly added Live Playout Profile object
Missing or invalid properties 400 Bad Request object

Example Request

/playoutprofile

{
    "name": "My New Profile",
    "configurationJson": "{\"manifestFile\":\"live_profile.isml\",\"outputUrls\":[{\"streamProtocol\":\"HLS\",\"liveCdnPrimaryUrl\":\"https://mycdn.net/live/{0}/live_profile.isml/.m3u8\", ... }]}"
}

Example Response

{
    "id": "bc8d6a88-f7ea-44d5-903b-38b3f01c1c74",
    "name": "My New Profile",
    "configurationJson": "{\"manifestFile\":\"live_profile.isml\",\"outputUrls\":[{\"streamProtocol\":\"HLS\",\"liveCdnPrimaryUrl\":\"https://mycdn.net/live/{0}/live_profile.isml/.m3u8\", ... }]}"
}

PUT /playoutprofile/{id}

Update the Live Playout Profile with the specified ID. Any Events associated with the Profile which are in a playable state will have the playout manifest for the Profile updated on each Event Channel’s origin server(s).

Request Body

A Live Playout Profile object. Only include properties to update. id is ignored.

Note that because configurationJson is a string, it cannot be partially updated and the complete JSON object must be serialised.

Responses

Scenario Code Body
Success 200 Array of Origin Manifest Sync Result objects
Invalid properties 400 Bad Request object
Invalid ID 404

Example Request

Update the Configuration JSON of a Playout Profile, keeping the existing Name

/playoutprofile/0eb38086-7f83-47a0-aefc-8d8cd7e9b5a7

{
    "configurationJson": "{\"manifestFile\":\"updated_profile.isml\",\"outputUrls\":[{\"streamProtocol\":\"HLS\",\"liveCdnPrimaryUrl\":\"https://mycdn.net/live/{0}/live_profile.isml/.m3u8\", ... }]}"
}

Example Response

[
    {
        "profileId": "0eb38086-7f83-47a0-aefc-8d8cd7e9b5a7",
        "eventId": "434628b6-054a-4786-bf2b-09b4bbb977e8",
        "success": true
    },
    {
        "profileId": "0eb38086-7f83-47a0-aefc-8d8cd7e9b5a7",
        "eventId": "5f8e4481-33ce-4785-9974-9f16f10b2e66",
        "success": false,
        "errors": [
            "Example error"
        ]
    }
]

DELETE /playoutprofile/{id}

Remove the Live Playout Profile with the specified ID. Any Events associated with the Profile which are in a playable state will have the playout manifest for the Profile removed on each Event Channel’s origin server(s).

Responses

Scenario Code Body
Success 200 Array of Origin Manifest Sync Result objects
Invalid ID 404

Example Request

/playoutprofile/0eb38086-7f83-47a0-aefc-8d8cd7e9b5a7

Example Response

[
    {
        "profileId": "0eb38086-7f83-47a0-aefc-8d8cd7e9b5a7",
        "eventId": "434628b6-054a-4786-bf2b-09b4bbb977e8",
        "success": true
    },
    {
        "profileId": "0eb38086-7f83-47a0-aefc-8d8cd7e9b5a7",
        "eventId": "5f8e4481-33ce-4785-9974-9f16f10b2e66",
        "success": false,
        "errors": [
            "Example error"
        ]
    }
]