Results for:
TOP

REST APIs V2

djames92

REST APIs V2

No Environment

REST APIs V2

Comments(0)

MainStreaming APIs allow you to create, update, and manage content on the MainStreaming platform in order to distribute them in the world at their best.

This document is created for developers who want to integrate MainStreaming services inside their workflow.

Our APIs are based on REST methodology. They are made up of intuitive, resource-oriented URLs and use HTTP statuses for error handling. We use OAuth2 authentication and through our credentials it is possible to generate tokens to interface with our safe and efficient APIs.

The APIs are protected by permissions, called scopes, which must be assigned to the generated tokens. Tokens may have all available scopes or may be limited for specific purposes.

Our communication standard is JSON, both for successful and error responses.

API ENVIRONMENTS

Our APIs are divided into different macro areas:

  • Authentication API: Creation and view of token status

  • Property Management API: Configuration and view of property status

  • Media Asset Management API: Complete management of on-demand, playlist, live and origin content

  • Encoding Profiles API: Creation of encoding profiles for content

  • Player Management API: Creation of player skins

  • Activities API: List of activities performed through the tokens connected to the property

ENDPOINT

The Endpoint to reach or call our API library is: https://api.msmdn.net/v2

If White Label mode is configured, the MainStreaming DNS proxy will allow you to access the endpoint within your root domain. Example: https://api.mydomain.com/v2

REQUEST METHODS

Method Description
GET Request of one or multiple elements
POST Create an element
PUT Modify or action of an element
DELETE Delete an element

HTTP SUCCESS STATUS CODES

Code Description
200 Success - Request successfully completed
201 Created - Request successfully created (POST calls)

HTTP ERROR STATUS CODES

Code Description
400 Bad Request - Parameters sent are incorrect
401 Unauthorized - Missing token or incorrect syntax
403 Forbidden - Insufficient permissions or expired tokens
404 Not Found - Element not found
405 Not Allowed - Invalid request
415 Unsopported Media Type - Content-Type invalid
500 Internal Error - Internal system error (contact us)

RESPONSE DATA

Field Type Description
code integer Answering code
status string Textual status of the answer
data object Object of a get call that returns a specific element
array List of objects of a get call that returns multiple elements
boolean Boolean of a put or delete call that identifies the status of the operation
string A string or guid that represents the identfier of an element created

HTTP REQUEST REQUIRED FIELDS

Throughout the document we’ve indicated required fields to pass to the APIs by adding an asterisk next to the name/field.

Authentication

Limitation and Suggestions

  • Credentials, and tokens generated with APIs, are associated to the single MainStreaming property they are associated with. If there is more than one property, there will be the need to provide additional parent credentials of the additional properties needing access.

  • We take security VERY seriously. Tokens MUST be generated in a secured/safe environment. We HIGHLY discourage creation of tokens within your front end. Violation of this recommendation could result in temporary suspension of the service.

  • Secret keys must never be made public.

  • Our systems limit the creation of tokens to 10 per second.

  • If a token is generated with precise scopes, the user will only be able to perform what the scopes were created for.

  • Each token can be used a limited amount of times previously set during token creation. When the maximum amount of calls is reached, the system will automatically revoke the token, making it invalid.

  • Each token has an expiration date applied. This is designated by the default duration time set with your property. After this expiration time, the system will automatically revoke the token making it invalid.

  • According to a specific MainStreaming plan, a property may (or may not) have a monthly API call limit. This is important to note because once the limit is reached the service will remain available, however additional surcharges may be applied.

API Call Header Authorization

To authenticate API calls, simply include as header in the HTTP call the Bearer Authorization with the previously generated token, like this:

curl --location --request GET "https://api.msmdn.net/v2/{{section}} " --header "Authorization: Bearer {{token}}"

All API requests must be performed securely by HTTPS. Calls made without SSL will be rejected. Requests made without authentication will also be rejected with a HTTP 401 error returned.

Scope Protection

Our API are protected by scopes that will be included in the creation of tokens.

Available Scopes

Scopes can be enabled. Each scope gives the authorization to call a specific set of APIs but some of these need more than one scope to be authorized.

All Scopes Available:

Scope Feature Enablement
PROPERTY Property management
ENCODING_PROFILE Encoding profiles and renditions management
CDN CDN management
DELIVERY_TTL TTL Regex rules management
DELIVERY_HEADERS Custom Headers management
HOSTNAME Hostname management
LIVE_AUDIO Live event audio content management
LIVE_VIDEO Live event video content management
LIVE_REC Live event recording enabled
LIVE_MULTICAMERA Live event multicamera enabled
LIVE_VIDEOENC Live event transcoding enabled
RESTREAM Restream naked management
PLAYLIST Playlist content management
CUSTOM_HTTP_ORIGIN HTTP Origin management
AOD OnDemand audio content management
VOD OnDemand video content management
PLAYER_STYLE Player skins management
SECFIL CDN security rules management
SECFIL_DOMAIN CDN security rules domain filters enabled
SECFIL_GEO CDN security rules geo filters enabled
SECFIL_IP CDN security rules ip filters enabled
TOKENIZATION Tokens management and CDN security rules token filters enabled

Token Management

With credentials, the user will be authorized to generate tokens that allow the use of our APIs through the OAuth2 authentication.

There are five token management API calls.

  1. Create Token
  2. View Token Status
  3. List Tokens
  4. Revoke A Single Token
  5. Revoke All Tokens

GET View Token Status

Comments(0)
https://api.msmdn.net/v2/token

Returns the status of a single token.

RESPONSE FIELDS: Single Content

FIELD TYPE DESCRIPTION
accessToken string Tokens that will let you authenticate the APIs
scope string List of enabled Scopes separated by a comma
authorizedIpList string List of authorized IPs separated by a comma
expireDateUTC datetime Token expiration date
lastRequestDateUTC datetime Last used request date of this Token
useCounter int Number of times you used the Token
revocated bool Token revocation
limitUsage int Token usage limit

Headers

AuthorizationBearer {{yourToken}}
Example RequestView Token Status
curl --location --request GET "https://api.msmdn.net/v2/token" \
  --header "Authorization: Bearer {{yourToken}}"

GET List Tokens

Comments(0)
https://api.msmdn.net/v2/token/all?clientId={{string*}}&clientSecret={{string*}}

Returns a list of tokens generated by the credentials being used.

RESPONSE FIELDS: Array of Elements

FIELD TYPE DESCRIPTION
accessToken string Tokens that will let you authenticate the APIs
scope string List of enabled Scopes separated by a comma
authorizedIpList string List of authorized IPs separated by a comma
expireDateUTC datetime Token expiration date
lastRequestDateUTC datetime Last used request date of this Token
useCounter int Number of times you used the Token
revocated bool Token revocation
limitUsage int Token usage limit

Params

clientId{{string*}}

Credential associated to a property

clientSecret{{string*}}

Secretly authentication key

Example RequestList Tokens
curl --location --request GET "https://api.msmdn.net/v2/token/all?clientId={{string*}}&clientSecret={{string*}}"

POST Create Token

Comments(0)
https://api.msmdn.net/v2/token

1) Generate a token with user credentials.

2) A scope must be assigned to authorize a call to our APIs.

More than one scope can be assigned to a single token depending on the features enabled in a property.

Headers

Content-Typeapplication/json

Body

raw (application/json)
{
	"clientId": "{{string*}}",
	"clientSecret": "{{string*}}",
	"scopeAllowed": "{{string,string,...*}} ex: VOD,AOD,PROPERTY",
	"authorizedIpList": "{{string}} ex: 192.168.0.1"
}
Example RequestCreate Token
curl --location --request POST "https://api.msmdn.net/v2/token" \
  --header "Content-Type: application/json" \
  --data "{
	\"clientId\": \"{{string*}}\",
	\"clientSecret\": \"{{string*}}\",
	\"scopeAllowed\": \"{{string,string,...*}} ex: VOD,AOD,PROPERTY\",
	\"authorizedIpList\": \"{{string}} ex: 192.168.0.1\"
}"

DELETE Revoke Single Token

Comments(0)
https://api.msmdn.net/v2/token/all?clientId={{string*}}&clientSecret={{string*}}

Revokes a single token contained within a header. Once revoked, a token can no longer be used.

Headers

AuthorizationBearer {{yourToken}}

Params

clientId{{string*}}

Credential associated to a property

clientSecret{{string*}}

Secrety authentication key

Example RequestRevoke Single Token
curl --location --request DELETE "https://api.msmdn.net/v2/token/all?clientId={{string*}}&clientSecret={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

DELETE Revoke All Tokens

Comments(0)
https://api.msmdn.net/v2/token

Revokes all tokens created by the credentials being used.

Headers

AuthorizationBearer {{yourToken}}
Example RequestRevoke All Tokens
curl --location --request DELETE "https://api.msmdn.net/v2/token" \
  --header "Authorization: Bearer {{yourToken}}"

Property

MainStreaming uses the term “property” to define “parent accounts” within a single user account. Each property can contain individual user accounts for additional security.

With these property API’s, view a property, modify its general settings and encoding profiles, and check the status of CDN security profiles.

GET Get Property

Comments(0)
https://api.msmdn.net/v2/property

SCOPES: PROPERTY

Provides information about the property connected to the token being used.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Property
curl --location --request GET "https://api.msmdn.net/v2/property" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Update Property

Comments(0)
https://api.msmdn.net/v2/property

SCOPES: PROPERTY

Edits the title and notes.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"title": "{{string*}}",
	"note": "{{string}}"
}
Example RequestUpdate Property
curl --location --request PUT "https://api.msmdn.net/v2/property" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"title\": \"{{string*}}\",
	\"note\": \"{{string}}\"
}"

PUT Update Security Profile Property

Comments(0)
https://api.msmdn.net/v2/property/security?gidSecurityProfile={{string*}}&staging={{true/false*}}&production={{true/false*}}

SCOPES: PROPERTY, CDN, SECFIL

Edits the security profile of the CDN, placing it in staging or production.

Headers

AuthorizationBearer {{yourToken}}

Params

gidSecurityProfile{{string*}}

ID of the security profile to be modified

staging{{true/false*}}

Sets the profile in staging

production{{true/false*}}

Sets the profile in production

Example RequestUpdate Security Profile Property
curl --location --request PUT "https://api.msmdn.net/v2/property/security?gidSecurityProfile={{string*}}&staging={{true/false*}}&production={{true/false*}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  

PUT Property Default On-Demand Encoding Profile

Comments(0)
https://api.msmdn.net/v2/property/encoding/{{gidEncodingProfile}}/live

Scopes: PROPERTY, ENCODING_PROFILE

Changes the default on-demand encoding profile. If content is uploaded without a specified encoding profile, this one will be used.

Headers

AuthorizationBearer {{yourToken}}
Example RequestProperty Default On-Demand Encoding Profile
curl --location --request PUT "https://api.msmdn.net/v2/property/encoding/{{gidEncodingProfile}}/live" \
  --header "Authorization: Bearer {{yourToken}}" \
  

PUT Property Default Live Event Encoding Profile

Comments(0)
https://api.msmdn.net/v2/property/encoding/{{gidEncodingProfile}}/ondemand

Scopes: PROPERTY, ENCODING_PROFILE

Changes the default live encoding profile. When creating a live event, if a specific encoding profile is not specified, this default live encoding profile will be used.

Headers

AuthorizationBearer {{yourToken}}
Example RequestProperty Default Live Event Encoding Profile
curl --location --request PUT "https://api.msmdn.net/v2/property/encoding/{{gidEncodingProfile}}/ondemand" \
  --header "Authorization: Bearer {{yourToken}}" \
  

PUT Property Default Player Skin

Comments(0)
https://api.msmdn.net/v2/property/player/{{gidPlayer}}/ondemand

Scopes: PROPERTY, PLAYER_STYLE

Changes the default player skin. If a Skin is not specified in the embedding of a content within our player, the default one will be automatically selected.

Headers

AuthorizationBearer {{yourToken}}
Example RequestProperty Default Player Skin
curl --location --request PUT "https://api.msmdn.net/v2/property/player/{{gidPlayer}}/ondemand" \
  --header "Authorization: Bearer {{yourToken}}" \
  

Media Assets Management

MainStreaming advanced media assets management APIs enables content to be uploaded and managed.

Upload on-demand video or audio, create one shot or looped playlists, add HTTP content origin servers, create live events and configure streaming sources.

All live events are assigned a source. The content can be pushed directly or be pulled by MainStreaming from an origin server. The supported streaming transport protocols are:

  • RTMP Push
  • RTSP Push
  • RTSP Pull
  • Icecast (audio only) Pull
  • Icecast (audio only) Push

Library

The APIs dedicated to the library section of our platform can be used to manage all types of content, including the ability to view, organize, make content visible (or not), set watch folders (with unique encoding profiles), and delete content.

GET List Content

Comments(0)
https://api.msmdn.net/v2/mam/library?gidFolder={{string}}&searchString={{string}}&sortmode={{ASC/DESC}}&sortname={{title/createDate}}&start={{number}}&limit={{number}}&filterPlaylist={{true/false}}&filterLive={{true/false}}&filterOndemand={{true/false}}&filterVideo={{true/false}}&filterAudio={{true/false}}&filterOrigin={{true/false}}&filterEncoding={{true/false}}&filterStatus={{0/11/12/13/21/22/23/-1}}&filterPublished={{0/1/2}}

SCOPES: PROPERTY

Lists content and folders within the library root. If the gidFolder parameter is left blank (null), the system will return a list of content within the library root, if this doesn’t happen, it will return the content list to the requested folder

Filters can be enabled to retrieve only content such as: on-demand, live, playlists, and/or origins. Video and audio elements can also be filtered, or a number of other variations can be used to create custom filters.

The default limit is 100.

In addition, it is possible to search for specific content by title, description, or tag, even if nested within folders.

The "onDemandEncodingStatus" (for the on-demand content) return field is a numeric:

Queued = 0, PreEncode = 1, Encoding = 2, LastUpdate = 3, Completed = 4, Deleted = 5, GenericError = -1, ToBeMigrated = -2, SourceError = -5

Headers

AuthorizationBearer {{yourToken}}

Params

gidFolder{{string}}

If you enter the folder id, it looks for content and subfolders in it

searchString{{string}}

If inserted, is searches for the title, tags and contentId of the content in the folder and subfolders you have indicated in gidFolder. If you have not filtered for gidFolder, it will search all the content

sortmode{{ASC/DESC}}

If entered you can decide the ASC or DESC mode of the field entered in sortName

sortname{{title/createDate}}

If inserted you can order the list of content for: title and creationDate

start{{number}}

If inserted, sets the starting point from which to take the content

limit{{number}}

If entered, sets a limit of returned items. Default is 100.

filterPlaylist{{true/false}}

If entered and set to false, all Playlist content will not be returned

filterLive{{true/false}}

If entered and set to false, all Live content will not be returned

filterOndemand{{true/false}}

If entered and set to false, all On-demand content will not be returned

filterVideo{{true/false}}

If entered and set to false, all video content will not be returned

filterAudio{{true/false}}

If entered and set to false, all audio content will not be returned

filterOrigin{{true/false}}

If entered and set to false, all Origin content will not be returned

filterEncoding{{true/false}}

If entered and set to true, all ready content will return.

filterStatus{{0/11/12/13/21/22/23/-1}}

11 => all ready content will returned. 12 => all queued on-demand will returned. 13 => all encoding on-demand will returned. 21 => all on-air live event will returned. 22 => all scheduled live event will returned. 23 => all recording live event will returned. -1 => all content in error will returned 0 => filter not active.

filterPublished{{0/1/2}}

1 => all published content will returned. 2 => all not published content will returned. 0 => filter not active.

Example RequestList Content
curl --location --request GET "https://api.msmdn.net/v2/mam/library?gidFolder={{string}}&searchString={{string}}&sortmode={{ASC/DESC}}&sortname={{title/createDate}}&start={{number}}&limit={{number}}&filterPlaylist={{true/false}}&filterLive={{true/false}}&filterOndemand={{true/false}}&filterVideo={{true/false}}&filterAudio={{true/false}}&filterOrigin={{true/false}}&filterEncoding={{true/false}}&filterStatus={{0/11/12/13/21/22/23/-1}}&filterPublished={{0/1/2}}" \
  --header "Authorization: Bearer {{yourToken}}"

GET List All Content

Comments(0)
https://api.msmdn.net/v2/mam/library/all?searchString={{string}}&sortmode={{ASC/DESC}}&sortname={{title/createDate}}&start={{number}}&limit={{number}}&filterPlaylist={{true/false}}&filterLive={{true/false}}&filterOndemand={{true/false}}&filterVideo={{true/false}}&filterAudio={{true/false}}&filterOrigin={{true/false}}&filterEncoding={{true/false}}&filterStatus={{0/11/12/13/21/22/23/-1}}&filterPublished={{0/1/2}}

SCOPES: PROPERTY

Lists content and folders within the library root. If the gidFolder parameter is left blank (null), the system will return a list of content within the library root, if this doesn’t happen, it will return the content list to the requested folder

Filters can be enabled to retrieve only content such as: on-demand, live, playlists, and/or origins. Video and audio elements can also be filtered, or a number of other variations can be used to create custom filters.

The default limit is 100.

In addition, it is possible to search for specific content by title, description, or tag, even if nested within folders.

The "onDemandEncodingStatus" (for the on-demand content) return field is a numeric:

Queued = 0, PreEncode = 1, Encoding = 2, LastUpdate = 3, Completed = 4, Deleted = 5, GenericError = -1, ToBeMigrated = -2, SourceError = -5

Headers

AuthorizationBearer {{yourToken}}

Params

searchString{{string}}

If inserted, is searches for the title, tags and contentId of the content in the folder and subfolders you have indicated in gidFolder. If you have not filtered for gidFolder, it will search all the content

sortmode{{ASC/DESC}}

If entered you can decide the ASC or DESC mode of the field entered in sortName

sortname{{title/createDate}}

If inserted you can order the list of content for: title and creationDate

start{{number}}

If inserted, sets the starting point from which to take the content

limit{{number}}

If entered, sets a limit of returned items. Default is 100.

filterPlaylist{{true/false}}

If entered and set to false, all Playlist content will not be returned

filterLive{{true/false}}

If entered and set to false, all Live content will not be returned

filterOndemand{{true/false}}

If entered and set to false, all On-demand content will not be returned

filterVideo{{true/false}}

If entered and set to false, all video content will not be returned

filterAudio{{true/false}}

If entered and set to false, all audio content will not be returned

filterOrigin{{true/false}}

If entered and set to false, all Origin content will not be returned

filterEncoding{{true/false}}

If entered and set to true, all ready content will return.

filterStatus{{0/11/12/13/21/22/23/-1}}

11 => all ready content will returned. 12 => all queued on-demand will returned. 13 => all encoding on-demand will returned. 21 => all on-air live event will returned. 22 => all scheduled live event will returned. 23 => all recording live event will returned. -1 => all content in error will returned 0 => filter not active.

filterPublished{{0/1/2}}

1 => all published content will returned. 2 => all not published content will returned. 0 => filter not active.

Example RequestList All Content
curl --location --request GET "https://api.msmdn.net/v2/mam/library/all?searchString={{string}}&sortmode={{ASC/DESC}}&sortname={{title/createDate}}&start={{number}}&limit={{number}}&filterPlaylist={{true/false}}&filterLive={{true/false}}&filterOndemand={{true/false}}&filterVideo={{true/false}}&filterAudio={{true/false}}&filterOrigin={{true/false}}&filterEncoding={{true/false}}&filterStatus={{0/11/12/13/21/22/23/-1}}&filterPublished={{0/1/2}}" \
  --header "Authorization: Bearer {{yourToken}}"

GET List On-Demand In Encoding

Comments(0)
https://api.msmdn.net/v2/mam/library/encoding

SCOPES: PROPERTY, VOD

Lists all On-demand content in status Queued or Encoding. There is no pagination.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList On-Demand In Encoding
curl --location --request GET "https://api.msmdn.net/v2/mam/library/encoding" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Single Content

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}

SCOPES: PROPERTY

Returns the single specified content. Depending on the type, specific data will return automatically.

The "onDemandEncodingStatus" (for the on-demand content) return field is a numeric:

Queued = 0, PreEncode = 1, Encoding = 2, LastUpdate = 3, Completed = 4, Deleted = 5, GenericError = -1, ToBeMigrated = -2, SourceError = -5

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Single Content
curl --location --request GET "https://api.msmdn.net/v2/mam/library/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}"

GET List Content Related

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}/related

SCOPES: PROPERTY

Returns the list of content with the same tags as specified or if the ContentID or the ReferenceID of another content is included in the tags.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList Content Related
curl --location --request GET "https://api.msmdn.net/v2/mam/library/{{contentID}}/related" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Update Content

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}

SCOPES: PROPERTY

Modifies the metadata of the specified content.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
    "title": "{{string*}}",
    "shortDescription": "{{string}}",
    "longDescription": "{{string}}",
    "tags": "{{string,string,...}}",
    "referenceID": "{{string}}",
    "customAttribute1": "{{string}}",
    "customAttribute2": "{{string}}",
    "customAttribute3": "{{string}}",
    "customAttribute4": "{{string}}",
    "customAttribute5": "{{string}}",
    "customAttribute6": "{{string}}",
    "customAttribute7": "{{string}}",
    "customAttribute8": "{{string}}",
    "customAttribute9": "{{string}}",
    "customAttribute10": "{{string}}"
}
Example RequestUpdate Content
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
    \"title\": \"{{string*}}\",
    \"shortDescription\": \"{{string}}\",
    \"longDescription\": \"{{string}}\",
    \"tags\": \"{{string,string,...}}\",
    \"referenceID\": \"{{string}}\",
    \"customAttribute1\": \"{{string}}\",

PUT Update Content Title

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}/title?title={{string*}}

SCOPES: PROPERTY

Modifies the content title.

Headers

AuthorizationBearer {{yourToken}}

Params

title{{string*}}
Example RequestUpdate Content Title
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/{{contentID}}/title?title={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

DELETE Delete Content

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}

SCOPES: PROPERTY

Permanently deletes the content.

Headers

AuthorizationBearer {{yourToken}}
Example RequestDelete Content
curl --location --request DELETE "https://api.msmdn.net/v2/mam/library/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}"

POST Upload Content Poster

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}/poster

SCOPES: PROPERTY

Upload an image (.jpg) to set it as a poster of the content.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
file
Example RequestUpload Content Poster
curl --location --request POST "https://api.msmdn.net/v2/mam/library/{{contentID}}/poster" \
  --header "Authorization: Bearer {{yourToken}}" \
  --form "file=@"

DELETE Delete Content Poster

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}/poster

SCOPES: PROPERTY

Permanently deletes the poster of the content.

Headers

AuthorizationBearer {{yourToken}}
Example RequestDelete Content Poster
curl --location --request DELETE "https://api.msmdn.net/v2/mam/library/{{contentID}}/poster" \
  --header "Authorization: Bearer {{yourToken}}"

Folder

GET List Folders

Comments(0)
https://api.msmdn.net/v2/mam/library/folder

SCOPES: PROPERTY

Lists folders within the library root. If the gidParentFolder parameter is left blank (null), the system will return a list of folders within the library root, if this doesn’t happen, it will return the folders list to the requested parente folder.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList Folders
curl --location --request GET "https://api.msmdn.net/v2/mam/library/folder" \
  --header "Authorization: Bearer {{yourToken}}"

GET Folder Tree

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/tree

SCOPES: PROPERTY

Returns the folder and subfolder tree, without the content.

Headers

AuthorizationBearer {{yourToken}}
Example RequestFolder Tree
curl --location --request GET "https://api.msmdn.net/v2/mam/library/folder/tree" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Folder

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}

SCOPES: PROPERTY

Returns the specified folder.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Folder
curl --location --request GET "https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}" \
  --header "Authorization: Bearer {{yourToken}}"

POST Create Folder

Comments(0)
https://api.msmdn.net/v2/mam/library/folder

SCOPES: PROPERTY

Creates a folder for organizing content within the library.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"description": "{{string*}}"
}
Example RequestCreate Folder
curl --location --request POST "https://api.msmdn.net/v2/mam/library/folder" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"description\": \"{{string*}}\"
}"

PUT Update Folder Title

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/title?name={{string*}}

SCOPES: PROPERTY

Modifies the folder title.

Headers

AuthorizationBearer {{yourToken}}

Params

name{{string*}}
Example RequestUpdate Folder Title
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/title?name={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Default Encoding Live Folder

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/encoding/live?gidEncodingProfile={{string}}

SCOPES: PROPERTY, ENCODING_PROFILE

Changes the default encoding profile of the live events folder content. After creating a live event, if an encoding profile is not specified, the system will use this default profile.

Headers

AuthorizationBearer {{yourToken}}

Params

gidEncodingProfile{{string}}
Example RequestDefault Encoding Live Folder
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/encoding/live?gidEncodingProfile={{string}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Default Encoding On-Demand Folder

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/encoding/ondemand?gidEncodingProfile={{string}}

SCOPES: PROPERTY, ENCODING_PROFILE

Changes the default encoding profile of the on-demand folder content. When videos are uploaded in this folder without specifying a profile, the system will use this.

Headers

AuthorizationBearer {{yourToken}}

Params

gidEncodingProfile{{string}}
Example RequestDefault Encoding On-Demand Folder
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/encoding/ondemand?gidEncodingProfile={{string}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Move Folder

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/move?gidParent={{string}}

SCOPES: PROPERTY

Moves a folder inside another folder or to the library root.

Headers

AuthorizationBearer {{yourToken}}

Params

gidParent{{string}}
Example RequestMove Folder
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/move?gidParent={{string}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Move Bulk Folder

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/move?gidParent={{string}}

SCOPES: PROPERTY

Moves multiple items (bulk move) into the specified folder in the library.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Params

gidParent{{string}}

Body

raw (application/json)
[
	"{{gidFolder}}",
	"{{gidFolder}}",
	"..."
]
Example RequestMove Bulk Folder
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/move?gidParent={{string}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "[
	\"{{gidFolder}}\",
	\"{{gidFolder}}\",
	\"...\"
]"

PUT Move Content to Folder

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}/move?gidFolder={{string}}

SCOPES: PROPERTY

Moves content to a specified folder or to the library root.

Headers

AuthorizationBearer {{yourToken}}

Params

gidFolder{{string}}
Example RequestMove Content to Folder
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/{{contentID}}/move?gidFolder={{string}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Move Bulk Content to Folder

Comments(0)
https://api.msmdn.net/v2/mam/library/move/massive?gidFolder={{gidFolder}}

SCOPES: PROPERTY

Moves multiple contents (bulk move) into the specified folder in the library.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Params

gidFolder{{gidFolder}}

Body

raw (application/json)
[
	"{{contentID}}",
	"{{contentID}}",
	"..."
]
Example RequestMove Bulk Content to Folder
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/move/massive?gidFolder={{gidFolder}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "[
	\"{{contentID}}\",
	\"{{contentID}}\",
	\"...\"
]"

Content Delivery

PUT Publish Content

Comments(0)
https://api.msmdn.net/v2/mam/delivery/{{contentID}}/publish

SCOPES: PROPERTY

Makes content ready for delivery (published). MainStreaming uses the terms "publish" and "unpublish" when referring to content being put "in" or "out" of production.

Headers

AuthorizationBearer {{yourToken}}
Example RequestPublish Content
curl --location --request PUT "https://api.msmdn.net/v2/mam/delivery/{{contentID}}/publish" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Unpublish Content

Comments(0)
https://api.msmdn.net/v2/mam/delivery/{{contentID}}/unpublish

SCOPES: PROPERTY

Unpublishes content, making it instantly undeliverable by the CDN.

Headers

AuthorizationBearer {{yourToken}}
Example RequestUnpublish Content
curl --location --request PUT "https://api.msmdn.net/v2/mam/delivery/{{contentID}}/unpublish" \
  --header "Authorization: Bearer {{yourToken}}"

Trash

GET List Trashed Content

Comments(0)
https://api.msmdn.net/v2/mam/library/trash?gidFolder={{string}}&searchString={{string}}&limit={{number}}&start={{number}}&filterVideo={{true/false}}&filterAudio={{true/false}}&filterOndemand={{true/false}}&filterLive={{true/false}}&filterOrigin={{true/false}}

SCOPES: PROPERTY

Return a list of content in the trash.

Headers

AuthorizationBearer {{yourToken}}

Params

gidFolder{{string}}
searchString{{string}}
limit{{number}}
start{{number}}
filterVideo{{true/false}}
filterAudio{{true/false}}
filterOndemand{{true/false}}
filterLive{{true/false}}
filterOrigin{{true/false}}
Example RequestList Trashed Content
curl --location --request GET "https://api.msmdn.net/v2/mam/library/trash?gidFolder={{string}}&searchString={{string}}&limit={{number}}&start={{number}}&filterVideo={{true/false}}&filterAudio={{true/false}}&filterOndemand={{true/false}}&filterLive={{true/false}}&filterOrigin={{true/false}}" \
  --header "Authorization: Bearer {{yourToken}}"

DELETE Clear Trash

Comments(0)
https://api.msmdn.net/v2/mam/library/trash

SCOPES: PROPERTY

Permanently deletes all content and folders in the trash.

Headers

AuthorizationBearer {{yourToken}}
Example RequestClear Trash
curl --location --request DELETE "https://api.msmdn.net/v2/mam/library/trash" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Move Bulk Content to Trash

Comments(0)
https://api.msmdn.net/v2/mam/library/trash/massive/content

SCOPES: PROPERTY

Removes (in bulk) the specified content.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
[
	"{{contentID}}",
	"{{contentID}}",
	"..."
]
Example RequestMove Bulk Content to Trash
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/trash/massive/content" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "[
	\"{{contentID}}\",
	\"{{contentID}}\",
	\"...\"
]"

PUT Move Content to Trash

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}/trash

SCOPES: PROPERTY

Moves the selected content to the trash. As soon as the content is trashed, it will no longer be delivered. However, it can be restored.

Headers

AuthorizationBearer {{yourToken}}
Example RequestMove Content to Trash
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/{{contentID}}/trash" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Restore Content to Library

Comments(0)
https://api.msmdn.net/v2/mam/library/{{contentID}}/untrash

SCOPES: PROPERTY

Restores a single piece of content into the root library. Once content is restored, it can be delivered on the CDN.

Headers

AuthorizationBearer {{yourToken}}
Example RequestRestore Content to Library
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/{{contentID}}/untrash" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Move Bulk Folder to Trash

Comments(0)
https://api.msmdn.net/v2/mam/library/trash/massive/folder

SCOPES: PROPERTY

Trashes (in bulk) the specified folders and its content and subfolders. When trashed, the content will no longer be deliverable.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
[
	"{{gidFolder}}",
	"{{gidFolder}}",
	"..."
]
Example RequestMove Bulk Folder to Trash
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/trash/massive/folder" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "[
	\"{{gidFolder}}\",
	\"{{gidFolder}}\",
	\"...\"
]"

PUT Move Folder to Trash

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/trash

SCOPES: PROPERTY

Moves the specified folder and its content and subfolders to the trash. When trashed, content will no longer be deliverable on the CDN.

Headers

AuthorizationBearer {{yourToken}}
Example RequestMove Folder to Trash
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/trash" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Restore Folder to Library

Comments(0)
https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/untrash

SCOPES: PROPERTY

Moves the specified folder and its content and subfolders from the trash to the library root. This is similar to how "undo" works. Once content has been restored, it can be delivered by the CDN.

Headers

AuthorizationBearer {{yourToken}}
Example RequestRestore Folder to Library
curl --location --request PUT "https://api.msmdn.net/v2/mam/library/folder/{{gidFolder}}/untrash" \
  --header "Authorization: Bearer {{yourToken}}"

On-Demand

GET List All On-Demand Content [Coming Soon]

Comments(0)
https://api.msmdn.net/v2/mam/ondemand

SCOPES: PROPERTY, VOD, AOD

Returns a list of all on-demand content, excluding the folder tree.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestList All On-Demand Content [Coming Soon]
curl --location --request GET "https://api.msmdn.net/v2/mam/ondemand" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Single On-Demand Content

Comments(0)
https://api.msmdn.net/v2/mam/ondemand/{{contentID}}

SCOPES: PROPERTY, VOD, AOD

Returns a single on-demand asset.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestGet Single On-Demand Content
curl --location --request GET "https://api.msmdn.net/v2/mam/ondemand/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}"

GET List On-Demand Renditions

Comments(0)
https://api.msmdn.net/v2/mam/ondemand/{{contentID}}/formats

SCOPES: PROPERTY, VOD, AOD

On-demand files are often encoded in multiple bitrates and resolutions. It returns a list of different renditions of a single piece of content.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestList On-Demand Renditions
curl --location --request GET "https://api.msmdn.net/v2/mam/ondemand/{{contentID}}/formats" \
  --header "Authorization: Bearer {{yourToken}}"

POST Upload On-Demand Content

Comments(0)
https://api.msmdn.net/v2/mam/ondemand

SCOPES: PROPERTY, VOD, AOD

If the upload is larger than 20MB, it is recommended to split the file into chunks to avoid problems with the upload. In the last chunk sent, a conformity diagnosis will be performed. Throughout the conformity diagnosis, the response will take longer than the other chunks sent.

Please note, the service is limited to uploading video and audio content ONLY. Once a file is uploaded, the file will be queued to be encoded. At this time, the content will not be available.

To see the encoding status, simply call the content with the GET API "/mam/library/{contentId}" or the GET call "/mam/ondemand/{contentId}", outlined earlier in this document.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/x-www-form-urlencoded

Body

formdata
profile{{string*}}

Encoding profile to be used to create the various Renditions of the uploaded file

file

File video or audio to send to the server

gidFolder{{string}}

Id of the folder where to create the Playlist. If not indicated, it will be created in the root of the Library

referenceId{{string}}

Attribute where the id can be entered

chunks{{number}}

Total Chunks into which the uploaded file has been divided

chunk{{number}}

Current chunk to be incremented for each fragment sent

Example RequestUpload On-Demand Content
curl --location --request POST "https://api.msmdn.net/v2/mam/ondemand" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --form "profile={{string*}}" \
  --form "file=@" \
  --form "gidFolder={{string}}" \
  --form "referenceId={{string}}" \
  --form "chunks={{number}}" \
  --form "chunk={{number}}"

PUT Re-Encode On-Demand

Comments(0)
https://api.msmdn.net/v2/mam/ondemand/{{contentID}}/reencode

SCOPES: PROPERTY, VOD, AOD

Re-encodes content using the encoding profile of the content if set. If no encoding profile is set, the system will use the encoding profile set at the folder level. If no profile is set at the folder level, the system will default to the encoding profile set at the property level.

The content will remain online while the re-encode process is in progress. During the re-encode process, the previously encoded version will be delivered.

Headers

AuthorizationBearer {{yourToken}}
Example RequestRe-Encode On-Demand
curl --location --request PUT "https://api.msmdn.net/v2/mam/ondemand/{{contentID}}/reencode" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Update On-Demand Encoding Profile

Comments(0)
https://api.msmdn.net/v2/mam/ondemand/{{contentID}}/encoding?gidEncodingProfile={{string}}

SCOPES: PROPERTY, VOD, ENCODING_PROFILE

Sets a default video on demand encoding profile used for content encoding.

Headers

AuthorizationBearer {{yourToken}}

Params

gidEncodingProfile{{string}}
Example RequestUpdate On-Demand Encoding Profile
curl --location --request PUT "https://api.msmdn.net/v2/mam/ondemand/{{contentID}}/encoding?gidEncodingProfile={{string}}" \
  --header "Authorization: Bearer {{yourToken}}"

Playlist

This group of APIs are used to manage playlists. These are used to play multiple on-demand files in a specified order.

MainStreaming supports two types of playlists:

  • One Shot | The playlist starts from the first frame (of the first video) in the playlist and ends with the last frame (of the last video).

  • Loop | The playlist is always running (in a loop) on the server. When the viewer requests the playlist, they start wherever the playlist is already in progress.

GET List Playlist Content

Comments(0)
https://api.msmdn.net/v2/mam/playlist

SCOPES: PROPERTY, VOD, PLAYLIST

Returns a list of videos in the playlist, excluding the folder tree.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList Playlist Content
curl --location --request GET "https://api.msmdn.net/v2/mam/playlist" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Playlist

Comments(0)
https://api.msmdn.net/v2/mam/playlist/{{contentID}}

SCOPES: PROPERTY, VOD, PLAYLIST

Returns the specified playlist.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Playlist
curl --location --request GET "https://api.msmdn.net/v2/mam/playlist/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}"

GET List Playlist Content

Comments(0)
https://api.msmdn.net/v2/mam/playlist/{{contentID}}/content

SCOPES: PROPERTY, VOD, PLAYLIST

Returns the list of on-demand assets contained in the specified playlist.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList Playlist Content
curl --location --request GET "https://api.msmdn.net/v2/mam/playlist/{{contentID}}/content" \
  --header "Authorization: Bearer {{yourToken}}"

POST Create Playlist

Comments(0)
https://api.msmdn.net/v2/mam/playlist

SCOPES: PROPERTY, VOD, PLAYLIST

Creates a new playlist. Indicate playlist type (one shot OR loop).

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"contentType": {{30/31*}},
	"gidFolder": "{{string}}",
	"title": "{{string*}}",
	"tags": "{{string,string,...}}",
	"shortDescription": "{{string}}",
	"longDescription": "{{string}}",
	"referenceId": "{{string}}",
	"customAttributes1": "{{string}}",
	...
	"customAttributes10": "{{string}}"
}
Example RequestCreate Playlist
curl --location --request POST "https://api.msmdn.net/v2/mam/playlist" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"contentType\": {{30/31*}},
	\"gidFolder\": \"{{string}}\",
	\"title\": \"{{string*}}\",
	\"tags\": \"{{string,string,...}}\",
	\"shortDescription\": \"{{string}}\",
	\"longDescription\": \"{{string}}\",

POST Add Content to Playlist

Comments(0)
https://api.msmdn.net/v2/mam/playlist/{{contentID-Playlist}}/content/{{contentID-OnDemand}}

SCOPES: PROPERTY, VOD, PLAYLIST

Adds content to the bottom of the playlist.

Headers

AuthorizationBearer {{yourToken}}
Example RequestAdd Content to Playlist
curl --location --request POST "https://api.msmdn.net/v2/mam/playlist/{{contentID-Playlist}}/content/{{contentID-OnDemand}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Update Playlist

Comments(0)
https://api.msmdn.net/v2/mam/playlist/{{contentID}}

SCOPES: PROPERTY, VOD, PLAYLIST

Modifies content metadata and content type.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"contentType": {{30/31*}},
    "title": "{{string*}}",
    "shortDescription": "{{string}}",
    "longDescription": "{{string}}",
    "tags": "{{string,string,...}}",
    "referenceID": "{{string}}",
    "customAttribute1": "{{string}}",
    "customAttribute2": "{{string}}",
    "customAttribute3": "{{string}}",
    "customAttribute4": "{{string}}",
    "customAttribute5": "{{string}}",
    "customAttribute6": "{{string}}",
    "customAttribute7": "{{string}}",
    "customAttribute8": "{{string}}",
    "customAttribute9": "{{string}}",
    "customAttribute10": "{{string}}"
}
Example RequestUpdate Playlist
curl --location --request PUT "https://api.msmdn.net/v2/mam/playlist/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"contentType\": {{30/31*}},
    \"title\": \"{{string*}}\",
    \"shortDescription\": \"{{string}}\",
    \"longDescription\": \"{{string}}\",
    \"tags\": \"{{string,string,...}}\",
    \"referenceID\": \"{{string}}\",

PUT Update Position Content in Playlist

Comments(0)
https://api.msmdn.net/v2/mam/playlist/{{contentID-Playlist}}/content/{{contentID-OnDemand}}/position/{{position}}

SCOPES: PROPERTY, VOD, PLAYLIST

Changes the position of on-demand content within a playlist. All positions will be adjusted accordingly.

Headers

AuthorizationBearer {{yourToken}}
Example RequestUpdate Position Content in Playlist
curl --location --request PUT "https://api.msmdn.net/v2/mam/playlist/{{contentID-Playlist}}/content/{{contentID-OnDemand}}/position/{{position}}" \
  --header "Authorization: Bearer {{yourToken}}"

DELETE Remove Content from Playlist

Comments(0)
https://api.msmdn.net/v2/mam/playlist/{{contentID-Playlist}}/content/{{contentID-OnDemand}}/position/{{position}}

SCOPES: PROPERTY, VOD, PLAYLIST

Removes content from the specified position in a playlist. All positions will be adjusted accordingly.

Headers

AuthorizationBearer {{yourToken}}
Example RequestRemove Content from Playlist
curl --location --request DELETE "https://api.msmdn.net/v2/mam/playlist/{{contentID-Playlist}}/content/{{contentID-OnDemand}}/position/{{position}}" \
  --header "Authorization: Bearer {{yourToken}}"

Live Event

Connect sources and choose the desired adaptive bitrate encoding profile, as well as, specify alternative content to play when the stream is offline. The alternative content can be a single VOD asset or playlist.

GET List All Live Events [Coming Soon]

Comments(0)
https://api.msmdn.net/v2/mam/live/event

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Returns a list of all live events, excluding the folder tree.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList All Live Events [Coming Soon]
curl --location --request GET "https://api.msmdn.net/v2/mam/live/event" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Returns the requested live event.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Live Event
curl --location --request GET "https://api.msmdn.net/v2/mam/live/event/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Live Event Status

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/status

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Returns the “on-air” and "recording status” of the specified live event.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Live Event Status
curl --location --request GET "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/status" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Live Event Sources

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/source

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Returns a list of sources connected to the specified live event.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Live Event Sources
curl --location --request GET "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/source" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Live Alternative Content

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/alternative-content

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Returns the alternative content being delivered (if enabled) while the live event is off-air.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Live Alternative Content
curl --location --request GET "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/alternative-content" \
  --header "Authorization: Bearer {{yourToken}}"

POST Create Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Creates a live event. The following information is required: type, video or audio, and a start date. An optional end date can also be included.

It is also possible to configure options for live transcoding in real time.

If Retranscode is enabled, the streaming of the event will be encoded in real time with the encoding profile that you can set on the event itself or cascaded to the folder in which it is located or the default profile of your Property will be used.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"contentType": {{20/21}},
	"description": "{{string*}}",
	"endDate": "{{dateTime}} ex: 2019-01-26T23:00:00.000Z",
	"startDate": "{{dateTime*}} ex: 2019-01-27T01:00:00.000Z",
	"timezone": "{{string*}} ex: +01:00",
	"title": "{{string*}}",
	"gidFolder": "{{string}}",
	"tags": "{{string,string,...}}",
	"shortDescription": "{{string}}",
	"longDescription": "{{string}}",
	"referenceId": "{{string}}",
	"retranscode": {{true/false}},
	"customAttributes1": "{{string}}",
	...
	"customAttributes10": "{{string}}"
}
Example RequestCreate Live Event
curl --location --request POST "https://api.msmdn.net/v2/mam/live/event" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"contentType\": {{20/21}},
	\"description\": \"{{string*}}\",
	\"endDate\": \"{{dateTime}} ex: 2019-01-26T23:00:00.000Z\",
	\"startDate\": \"{{dateTime*}} ex: 2019-01-27T01:00:00.000Z\",
	\"timezone\": \"{{string*}} ex: +01:00\",
	\"title\": \"{{string*}}\",

PUT Update Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Edits the metadata, start date, end date, time zone, and live transcoding options for the specified live event.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"retranscode": {{true/false*}},
	"endDate": "{{dateTime}} ex: 2019-01-26T23:00:00.000Z",
	"startDate": "{{dateTime*}} ex: 2019-01-27T01:00:00.000Z",
	"timezone": "{{string*}} ex: +01:00",
    "title": "{{string*}}",
    "shortDescription": "{{string}}",
    "longDescription": "{{string}}",
    "tags": "{{string,string,...}}",
    "referenceID": "{{string}}",
    "customAttribute1": "{{string}}",
    "customAttribute2": "{{string}}",
    "customAttribute3": "{{string}}",
    "customAttribute4": "{{string}}",
    "customAttribute5": "{{string}}",
    "customAttribute6": "{{string}}",
    "customAttribute7": "{{string}}",
    "customAttribute8": "{{string}}",
    "customAttribute9": "{{string}}",
    "customAttribute10": "{{string}}"
}
Example RequestUpdate Live Event
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/event/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"retranscode\": {{true/false*}},
	\"endDate\": \"{{dateTime}} ex: 2019-01-26T23:00:00.000Z\",
	\"startDate\": \"{{dateTime*}} ex: 2019-01-27T01:00:00.000Z\",
	\"timezone\": \"{{string*}} ex: +01:00\",
    \"title\": \"{{string*}}\",
    \"shortDescription\": \"{{string}}\",

PUT Add Alternative Content to Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/alternative-content/{{contentID}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Adds alternative content to the specified live event. The alternative content can be a single VOD asset or playlist.

Headers

AuthorizationBearer {{yourToken}}
Example RequestAdd Alternative Content to Live Event
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/alternative-content/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Add Source to Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/source/{{IdLiveSource}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Adds source(s) for the specified live event.

Headers

AuthorizationBearer {{yourToken}}
Example RequestAdd Source to Live Event
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/source/{{IdLiveSource}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Remove Source from Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event/source/{{IdLiveSource}}/remove

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Removes a live source for the specified live event.

Headers

AuthorizationBearer {{yourToken}}
Example RequestRemove Source from Live Event
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/event/source/{{IdLiveSource}}/remove" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Change Live Encoding Profile

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/encoding?gidEncodingProfile={{string}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Adds, deletes, or modifies the live encoding profile being used for a live event. If removed, the profile used for live encoding will be that of the folder in which the live event is located. If the live event is located in the library root, the default live encoding profile set for the property will be used.

Headers

AuthorizationBearer {{yourToken}}

Params

gidEncodingProfile{{string}}

GidEncodingProfile

Example RequestChange Live Encoding Profile
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/encoding?gidEncodingProfile={{string}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Start Recording Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/record/start

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Starts the recording of the specified live event. This only works if the live event is on-air. To stop the recording, a call must be made using the “stop recording Live Event” API.

Headers

AuthorizationBearer {{yourToken}}
Example RequestStart Recording Live Event
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/record/start" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Stop Recording Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/record/stop

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Stops the recording of the specified live event. The recorded on-demand content will be created in the root of the main library.

Headers

AuthorizationBearer {{yourToken}}
Example RequestStop Recording Live Event
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/record/stop" \
  --header "Authorization: Bearer {{yourToken}}"

DELETE Remove Alternative Content from Live Event

Comments(0)
https://api.msmdn.net/v2/mam/live/event/{{contentID}}/alternative-content

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Removes alternative content from the specified live event.

Headers

AuthorizationBearer {{yourToken}}
Example RequestRemove Alternative Content from Live Event
curl --location --request DELETE "https://api.msmdn.net/v2/mam/live/event/{{contentID}}/alternative-content" \
  --header "Authorization: Bearer {{yourToken}}"

Live Source

Live events may be assigned a source. Sources are typically hardware or software encoders. Encoders typically provide transport streams in a number of different formats. MainStreaming currently supports RTMP, RTSP Push, or Icecast (push or pull) transport stream protocols. Since MainStreaming does not deliver RTMP or RTSP from the edge, content transcoding and re-packetization (transmuxing) takes place within the network.

Pre-chunked HTTP ingest is also supported.

GET List All Live Sources

Comments(0)
https://api.msmdn.net/v2/mam/live/source

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Returns a list of all sources.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList All Live Sources
curl --location --request GET "https://api.msmdn.net/v2/mam/live/source" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Live Source

Comments(0)
https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Returns the specified live source.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Live Source
curl --location --request GET "https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}" \
  --header "Authorization: Bearer {{yourToken}}"

GET Check Authentication Live Source

Comments(0)
https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}/auth?passcode={{string*}}&ipAddress={{string*}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Verify the passcode and IP of the indicated source. If valid, returns true.

Headers

AuthorizationBearer {{yourToken}}

Params

passcode{{string*}}
ipAddress{{string*}}
Example RequestCheck Authentication Live Source
curl --location --request GET "https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}/auth?passcode={{string*}}&ipAddress={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

POST Create Live Source

Comments(0)
https://api.msmdn.net/v2/mam/live/source

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Creates a live source. MainStreaming currently supports RTMP, RTSP push/pull, and Icecast (audio only) push/pull transport stream protocols.

sourceType: 1 -> RTMP, 2 -> RTSP PULL, 5 -> IceCast

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"name": "{{string*}}",
	"sourceType": {{1/2/5*}}
}
Example RequestCreate Live Source
curl --location --request POST "https://api.msmdn.net/v2/mam/live/source" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"name\": \"{{string*}}\",
	\"sourceType\": {{1/2/5*}}
}"

PUT Update Live Source Name

Comments(0)
https://api.msmdn.net/{{IdLiveSource}}/name?name={{string*}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Updates the name of the specified source.

Headers

AuthorizationBearer {{yourToken}}

Params

name{{string*}}
Example RequestUpdate Live Source Name
curl --location --request PUT "https://api.msmdn.net/{{IdLiveSource}}/name?name={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Update Live Source RTMP Passcode

Comments(0)
https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}/passcode

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Updates the passcode of the specified RTMP source. After modifying it, call the "Get Live Source" API to get the updated RTMP link.

Headers

AuthorizationBearer {{yourToken}}
Example RequestUpdate Live Source RTMP Passcode
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}/passcode" \
  --header "Authorization: Bearer {{yourToken}}"

DELETE Delete Live Source

Comments(0)
https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}

SCOPES: PROPERTY, LIVE_VIDEO, LIVE_AUDIO

Deletes the specified source permanently.

Headers

AuthorizationBearer {{yourToken}}
Example RequestDelete Live Source
curl --location --request DELETE "https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}" \
  --header "Authorization: Bearer {{yourToken}}"

Live Source Restream

The Restream service is an advanced feature that gives the possibility to add multiple output RTMP destinations.

While this service is commonly associated with Social Media Streaming, it is not limited to specific destinations. Any live destination that supports the ingest of a RTMP transport stream can be set as a destination.

GET List All Live Source Restream

Comments(0)
https://api.msmdn.net/v2/mam/live/source/{{idLiveSource}}/restream

SCOPES: PROPERTY, LIVE_VIDEO, RESTREAM

Returns a list of all restream destinations assigned to the specified source.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList All Live Source Restream
curl --location --request GET "https://api.msmdn.net/v2/mam/live/source/{{idLiveSource}}/restream" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Live Source Restream

Comments(0)
https://api.msmdn.net/v2/mam/live/source/restream/{{gidLiveSourceRestream}}

SCOPES: PROPERTY, LIVE_VIDEO, RESTREAM

Returns the specified restream destination.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Live Source Restream
curl --location --request GET "https://api.msmdn.net/v2/mam/live/source/restream/{{gidLiveSourceRestream}}" \
  --header "Authorization: Bearer {{yourToken}}"

POST Create Live Source Restream

Comments(0)
https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}/restream

SCOPES: PROPERTY, LIVE_VIDEO, RESTREAM

Creates a new RTMP destination connected to a specified source. By default the restream will be enabled

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"login": "{{string}}",
	"password": "{{string}}",
	"streamKey": "{{string}}",
	"url": "{{string*}}"
}
Example RequestCreate Live Source Restream
curl --location --request POST "https://api.msmdn.net/v2/mam/live/source/{{IdLiveSource}}/restream" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"login\": \"{{string}}\",
	\"password\": \"{{string}}\",
	\"streamKey\": \"{{string}}\",
	\"url\": \"{{string*}}\"
}"

PUT Update Live Source Restream RTMP

Comments(0)
https://api.msmdn.net/v2/mam/live/source/restream/{{gidLiveSourceRestream}}/rtmp

SCOPES: PROPERTY, LIVE_VIDEO, RESTREAM

Updates the RTMP of the specified Restream.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"login": "{{string}}",
	"password": "{{string}}",
	"streamKey": "{{string}}",
	"url": "{{string*}}"
}
Example RequestUpdate Live Source Restream RTMP
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/source/restream/{{gidLiveSourceRestream}}/rtmp" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"login\": \"{{string}}\",
	\"password\": \"{{string}}\",
	\"streamKey\": \"{{string}}\",
	\"url\": \"{{string*}}\"
}"

PUT Update Enable Live Source Restream

Comments(0)
https://api.msmdn.net/v2/mam/live/source/restream/{{gidLiveSourceRestream}}?enabled={{true/false}}

SCOPES: PROPERTY, LIVE_VIDEO, RESTREAM

Updates the enabled flag of the specified Restream. If enabled is true => the restream is enabled otherwise the restream is disabled

Headers

Content-Typeapplication/json

Params

enabled{{true/false}}
Example RequestUpdate Enable Live Source Restream
curl --location --request PUT "https://api.msmdn.net/v2/mam/live/source/restream/{{gidLiveSourceRestream}}?enabled={{true/false}}" \
  --header "Content-Type: application/json"

DELETE Delete Live Source Restream

Comments(0)
https://api.msmdn.net/v2/mam/live/source/restream/{{gidLiveSourceRestream}}

SCOPES: PROPERTY, LIVE_VIDEO, RESTREAM

Deletes the specified source permanently.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json
Example RequestDelete Live Source Restream
curl --location --request DELETE "https://api.msmdn.net/v2/mam/live/source/restream/{{gidLiveSourceRestream}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json"

Origin

GET List All Origin HTTP [Coming Soon]

Comments(0)
https://api.msmdn.net/v2/mam/origin

SCOPES: PROPERTY, CUSTOM_ORIGIN_HTTP

Returns a list of all HTTP origins configured.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList All Origin HTTP [Coming Soon]
curl --location --request GET "https://api.msmdn.net/v2/mam/origin" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Origin [Coming Soon]

Comments(0)
https://api.msmdn.net/v2/mam/origin/{{ContentID}}

SCOPES: PROPERTY, CUSTOM_ORIGIN_HTTP

Returns the requested HTTP origin.

Headers

AuthorizationBearer {{yourToken}}
Example RequestGet Origin [Coming Soon]
curl --location --request GET "https://api.msmdn.net/v2/mam/origin/{{ContentID}}" \
  --header "Authorization: Bearer {{yourToken}}"

POST Create Origin

Comments(0)
https://api.msmdn.net/v2/mam/origin

SCOPES: PROPERTY, CUSTOM_ORIGIN_HTTP

Creates an HTTP origin.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"followTTL": {{true/false}},
	"forwardHostHeader": {{number}},
	"forwardHostHeaderCustom": "{{string}}",
	"gidFolder": "{{string}}",
	"supportGzipCompression": {{true/false}},
	"timeToLiveDefault": {{number}},
	"title": "{{string*}}",
	"tags": "{{string,string,...}}",
	"shortDescription": "{{string}}",
	"longDescription": "{{string}}",
	"referenceId": "{{string}}"
}
Example RequestCreate Origin
curl --location --request POST "https://api.msmdn.net/v2/mam/origin" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"followTTL\": {{true/false}},
	\"forwardHostHeader\": {{number}},
	\"forwardHostHeaderCustom\": \"{{string}}\",
	\"gidFolder\": \"{{string}}\",
	\"supportGzipCompression\": {{true/false}},
	\"timeToLiveDefault\": {{number}},

PUT Update Origin

Comments(0)
https://api.msmdn.net/v2/mam/origin/{{contentID}}

SCOPES: PROPERTY, CUSTOM_ORIGIN_HTTP

Modifies metadata and the HTTP origin settings.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"followTTL": {{true/false}},
	"forwardHostHeader": {{number}},
	"forwardHostHeaderCustom": "{{string}}",
	"supportGzipCompression": {{true/false}},
	"timeToLiveDefault": {{number}},
    "title": "{{string*}}",
    "shortDescription": "{{string}}",
    "longDescription": "{{string}}",
    "tags": "{{string,string,...}}",
    "referenceID": "{{string}}",
    "customAttribute1": "{{string}}",
    "customAttribute2": "{{string}}",
    "customAttribute3": "{{string}}",
    "customAttribute4": "{{string}}",
    "customAttribute5": "{{string}}",
    "customAttribute6": "{{string}}",
    "customAttribute7": "{{string}}",
    "customAttribute8": "{{string}}",
    "customAttribute9": "{{string}}",
    "customAttribute10": "{{string}}"
}
Example RequestUpdate Origin
curl --location --request PUT "https://api.msmdn.net/v2/mam/origin/{{contentID}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"followTTL\": {{true/false}},
	\"forwardHostHeader\": {{number}},
	\"forwardHostHeaderCustom\": \"{{string}}\",
	\"supportGzipCompression\": {{true/false}},
	\"timeToLiveDefault\": {{number}},
    \"title\": \"{{string*}}\",

POST Add Url To Origin

Comments(0)
https://api.msmdn.net/v2/mam/origin/{{contentID}}/url/{{base64OriginHttp}}

SCOPES: PROPERTY, CUSTOM_ORIGIN_HTTP

Adds an HTTP URL to the origin.

Headers

AuthorizationBearer {{yourToken}}
Example RequestAdd Url To Origin
curl --location --request POST "https://api.msmdn.net/v2/mam/origin/{{contentID}}/url/{{base64OriginHttp}}" \
  --header "Authorization: Bearer {{yourToken}}"

DELETE Delete URL from Origin

Comments(0)
https://api.msmdn.net/v2/mam/origin/url/{{gidOriginUrl}}

SCOPES: PROPERTY, CUSTOM_ORIGIN_HTTP

Deletes the specified URL from the origin.

Headers

AuthorizationBearer {{yourToken}}
Example RequestDelete URL from Origin
curl --location --request DELETE "https://api.msmdn.net/v2/mam/origin/url/{{gidOriginUrl}}" \
  --header "Authorization: Bearer {{yourToken}}"

Encoding Profiles

Encoding profiles are used as templates to encode video and audio content uploaded with set abilities such as:

  • Set adaptive bitrate renditions (ABR)
  • Rules to modify content
  • Adjust audio parameters
  • Custom video resolution (content height and width)
  • Frames per second (fps)
  • Specify video/audio codecs
  • Repacketization of content to HTTP delivery methods such as HLS, HSS, or DASH. It can also be used to convert content file formats to progressive WEBM, MP4 or MP3.

Profiles can be applied to live events for adaptive bitrate (ABR) transcoding as well as uploaded on-demand content.

Profile

This set of APIs manages encoding profiles.

GET List Encoding Profiles

Comments(0)
https://api.msmdn.net/v2/encoding/profile

Scopes: ENCODING_PROFILE

Returns a list of all encoding profiles.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestList Encoding Profiles
curl --location --request GET "https://api.msmdn.net/v2/encoding/profile" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Encoding Profile

Comments(0)
https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}

Scopes: ENCODING_PROFILE

Returns the specified encoding profile.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestGet Encoding Profile
curl --location --request GET "https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}" \
  --header "Authorization: Bearer {{yourToken}}"

POST Create Encoding Profile

Comments(0)
https://api.msmdn.net/v2/encoding/profile

Scopes: ENCODING_PROFILE

Creates a new encoding profile.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"description": "{{string*}}",
	"fragmentDuration": {{number*}},
	"type": {{1/2}}
}
Example RequestCreate Encoding Profile
curl --location --request POST "https://api.msmdn.net/v2/encoding/profile" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"description\": \"{{string*}}\",
	\"fragmentDuration\": {{number*}},
	\"type\": {{1/2}}
}"

POST Clone Encoding Profile

Comments(0)
https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}?name={{string*}}

Scopes: ENCODING_PROFILE

Creates a new encoding profile by cloning it from any current encoding profile listed in the property.

Headers

AuthorizationBearer {{yourToken}}

Params

name{{string*}}
Example RequestClone Encoding Profile
curl --location --request POST "https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}?name={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Update Encoding Profile

Comments(0)
https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}

Scopes: ENCODING_PROFILE

Modifies the options of the specified encoding profile.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"description": "{{string*}}",
	"fragmentDuration": {{number*}},
	"outputFormats": {{1,2,4,8,16,32}},
	"renditions": [{
		"audioBitrate": {{number}},
		"audioChannels": {{number}},
		"audioCodec": {{number}},
		"audioSampleRate": {{number}},
		"encodeAudio": {{true/false}},
		"encodeVideo": {{true/false}},
		"videoBitrate": {{number}},
		"videoCodec": {{number}},
		"videoCodecProfile": {{number}},
		"videoField": {{number}},
		"videoFrameRate": {{number}},
		"videoHeight": {{number}},
		"videoPreset": {{number}},
		"videoTwoPass": {{true/false}},
		"videoWidth": {{number}}
	}, ...]
}
Example RequestUpdate Encoding Profile
curl --location --request PUT "https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"description\": \"{{string*}}\",
	\"fragmentDuration\": {{number*}},
	\"outputFormats\": {{1,2,4,8,16,32}},
	\"renditions\": [{
		\"audioBitrate\": {{number}},
		\"audioChannels\": {{number}},

PUT Update Name of Encoding Profile

Comments(0)
https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}/name?name={{string*}}

Scopes: ENCODING_PROFILE

Modifies the name of the specified encoding profile.

Headers

AuthorizationBearer {{yourToken}}

Params

name{{string*}}
Example RequestUpdate Name of Encoding Profile
curl --location --request PUT "https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}/name?name={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

GET Check Encoding Profile Delete

Comments(0)
https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}/check-delete

Scopes: ENCODING_PROFILE

To check if the encoding profile can be deleted.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestCheck Encoding Profile Delete
curl --location --request GET "https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}/check-delete" \
  --header "Authorization: Bearer {{yourToken}}"

DELETE Delete Encoding Profile

Comments(0)
https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}

Scopes: ENCODING_PROFILE

Deletes the specified encoding profile. If set in preferences, the system will revert to the default MainStreaming encoding profile.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestDelete Encoding Profile
curl --location --request DELETE "https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}" \
  --header "Authorization: Bearer {{yourToken}}"

Rendition

This set of APIs will allow for the management of the renditions contained within encoding profiles.

GET List Encoding Renditions

Comments(0)
https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfileRendition}}/rendition

Scopes: ENCODING_PROFILE

Returns a list of encoding profile renditions.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestList Encoding Renditions
curl --location --request GET "https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfileRendition}}/rendition" \
  --header "Authorization: Bearer {{yourToken}}"

GET Get Single Encoding Rendition

Comments(0)
https://api.msmdn.net/v2/encoding/profile/rendition/{{GidEncodingProfileRendition}}

Scopes: ENCODING_PROFILE

Returns the specified encoding rendition.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestGet Single Encoding Rendition
curl --location --request GET "https://api.msmdn.net/v2/encoding/profile/rendition/{{GidEncodingProfileRendition}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Update Encoding Rendition

Comments(0)
https://api.msmdn.net/v2/encoding/profile/rendition/{{GidEncodingProfileRendition}}

Scopes: ENCODING_PROFILE

Modifies the rules of the specified encoding rendition.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"audioBitrate": {{number}},
	"audioChannels": {{number}},
	"audioCodec": {{number}},
	"audioSampleRate": {{number}},
	"encodeAudio": {{true/false}},
	"encodeVideo": {{true/false}},
	"videoBitrate": {{number}},
	"videoCodec": {{number}},
	"videoCodecProfile": {{number}},
	"videoField": {{number}},
	"videoFrameRate": {{number}},
	"videoHeight": {{number}},
	"videoPreset": {{number}},
	"videoTwoPass": {{true/false}},
	"videoWidth": {{number}}
}
Example RequestUpdate Encoding Rendition
curl --location --request PUT "https://api.msmdn.net/v2/encoding/profile/rendition/{{GidEncodingProfileRendition}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"audioBitrate\": {{number}},
	\"audioChannels\": {{number}},
	\"audioCodec\": {{number}},
	\"audioSampleRate\": {{number}},
	\"encodeAudio\": {{true/false}},
	\"encodeVideo\": {{true/false}},

POST Add Encoding Rendition

Comments(0)
https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}/rendition

Scopes: ENCODING_PROFILE

Creates a rendition in the specified encoding profile.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"audioBitrate": {{number}},
	"audioChannels": {{number}},
	"audioCodec": {{number}},
	"audioSampleRate": {{number}},
	"encodeAudio": {{true/false}},
	"encodeVideo": {{true/false}},
	"videoBitrate": {{number}},
	"videoCodec": {{number}},
	"videoCodecProfile": {{number}},
	"videoField": {{number}},
	"videoFrameRate": {{number}},
	"videoHeight": {{number}},
	"videoPreset": {{number}},
	"videoTwoPass": {{true/false}},
	"videoWidth": {{number}}
}
Example RequestAdd Encoding Rendition
curl --location --request POST "https://api.msmdn.net/v2/encoding/profile/{{GidEncodingProfile}}/rendition" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"audioBitrate\": {{number}},
	\"audioChannels\": {{number}},
	\"audioCodec\": {{number}},
	\"audioSampleRate\": {{number}},
	\"encodeAudio\": {{true/false}},
	\"encodeVideo\": {{true/false}},

DELETE Delete Encoding Rendition

Comments(0)
https://api.msmdn.net/v2/encoding/profile/rendition/{{GidEncodingProfileRendition}}

Scopes: ENCODING_PROFILE

Deletes the specified rendition.

Headers

AuthorizationBearer {{yourToken}}
Example RequestDelete Encoding Rendition
curl --location --request DELETE "https://api.msmdn.net/v2/encoding/profile/rendition/{{GidEncodingProfileRendition}}" \
  --header "Authorization: Bearer {{yourToken}}"

Player

Customize the MainStreaming player with different skins and change options such as: color of buttons, loading bar and visualization of the elements. It allows for custom water marking in any corner of the displayed player.

GET List Player Skin

Comments(0)
https://api.msmdn.net/v2/player

Scopes: PLAYER_STYLE

Returns a list of player skins in the property.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestList Player Skin
curl --location --request GET "https://api.msmdn.net/v2/player" \
  --header "Authorization: Bearer {{yourToken}}"

POST Add Player Skin

Comments(0)
https://api.msmdn.net/v2/player?name={{string*}}

Scopes: PLAYER_STYLE

Adds a player skin.

Headers

AuthorizationBearer {{yourToken}}

Params

name{{string*}}
Example RequestAdd Player Skin
curl --location --request POST "https://api.msmdn.net/v2/player?name={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

PUT Update Player Skin

Comments(0)
https://api.msmdn.net/v2/player/{{gidPlayer}}

Scopes: PLAYER_STYLE

Modifies the specified player skin.

Headers

AuthorizationBearer {{yourToken}}
Content-Typeapplication/json

Body

raw (application/json)
{
	"backgroundColor": "{{string*}} ex: #444444",
	"buttonColor": "{{string*}} ex: #FFFFFF",
	"buttonHoverColor": "{{string*}} ex: #0085B2",
	"colorBarEmpty": "{{string*}} ex: #FFFFFF",
	"colorBarForwarding": "{{string*}} ex: #0085B2",
	"logoPosition": {{1/2/3/4*}},
	"opacity": {{0-100*}},
	"titleOnButton": {{true/false*}},
	"hideControls": {{true/false*}},
	"canReplay": {{true/false*}},
	"useBigPlayButton": {{true/false*}}
}
Example RequestUpdate Player Skin
curl --location --request PUT "https://api.msmdn.net/v2/player/{{gidPlayer}}" \
  --header "Authorization: Bearer {{yourToken}}" \
  --header "Content-Type: application/json" \
  --data "{
	\"backgroundColor\": \"{{string*}} ex: #444444\",
	\"buttonColor\": \"{{string*}} ex: #FFFFFF\",
	\"buttonHoverColor\": \"{{string*}} ex: #0085B2\",
	\"colorBarEmpty\": \"{{string*}} ex: #FFFFFF\",
	\"colorBarForwarding\": \"{{string*}} ex: #0085B2\",
	\"logoPosition\": {{1/2/3/4*}},

PUT Update Player Skin Title

Comments(0)
https://api.msmdn.net/v2/player/{{gidPlayer}}/title?title={{string*}}

Scopes: PLAYER_STYLE

Modifies the title of the specified encoding profile.

Headers

AuthorizationBearer {{yourToken}}

Params

title{{string*}}

Body

formdata
Example RequestUpdate Player Skin Title
curl --location --request PUT "https://api.msmdn.net/v2/player/{{gidPlayer}}/title?title={{string*}}" \
  --header "Authorization: Bearer {{yourToken}}"

POST Upload Logo

Comments(0)
https://api.msmdn.net/v2/player/{{gidPlayer}}/logo

Scopes: PLAYER_STYLE

Upload the logo to show in the player.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
file

Image to upload

Example RequestUpload Logo
curl --location --request POST "https://api.msmdn.net/v2/player/{{gidPlayer}}/logo" \
  --header "Authorization: Bearer {{yourToken}}" \
  --form "file=@"

DELETE Delete Player Skin

Comments(0)
https://api.msmdn.net/v2/player/{{gidPlayer}}

Scopes: PLAYER_STYLE

Deletes the specified player skin.

Headers

AuthorizationBearer {{yourToken}}

Body

formdata
Example RequestDelete Player Skin
curl --location --request DELETE "https://api.msmdn.net/v2/player/{{gidPlayer}}" \
  --header "Authorization: Bearer {{yourToken}}"

Activity

Activities are all actions performed on a property through API tokens. Monitor by who (and when) API’s are called and the resulting actions. All actions performed in POST, PUT and DELETE methods will be saved.

GET List Activities

Comments(0)
https://api.msmdn.net/v2/activity

Returns a complete list of activities on the property.

Headers

AuthorizationBearer {{yourToken}}
Example RequestList Activities
curl --location --request GET "https://api.msmdn.net/v2/activity" \
  --header "Authorization: Bearer {{yourToken}}"
keyboard_arrow_up