Stream Provisioning
Create Stream Provision
Description
Create a new stream provision for a given Stream and Scope; returns the newly created provision data.
REQUEST
URI : http : //{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>
Method : POST
DATA :
Copy
{
"meta" : {
"authentication" : {
"username" : "<username>" ,
"password" : "<password>"
},
"stream" : [
{
"name" : "<variant_name>" ,
"bandwidth" : "<variant_bitrate>" ,
"level" : "<variant_level>" ,
"properties" : {}
}
],
"georules" : {
"regions" : [
"<location_name>"
],
"restricted" : "<restriction_status>"
},
"qos" : "<QOS-Constant-Index>"
}
}
RESPONSE
Success : HTTP CODE 200
DATA :
Copy
{
"name" : "<streamName>" ,
"scope" : "<scopeName>" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "<username>" ,
"password" : "<password>"
},
"stream" : [
{
"name" : "<variant_name>" ,
"bandwidth" : < variant_bitrate >,
"level" : < variant_level >,
"properties" : {}
}
],
"georules" : {
"regions" : [
"<location_name>"
],
"restricted" : "<restriction_status>"
},
"qos" : < QOS - Constant - Index >
}
},
"updated" : < updated - timestamp >
}
Failure : HTTP CODE 400 or 404
Data :
Copy
{
"errorMessage" : "<error-message-string>" ,
"timestamp" : < error - timestamp >
}
Example
REQUEST URI : https : //streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
Copy
{
"meta" : {
"authentication" : {
"username" : "acme" ,
"password" : "acme!newpass"
},
"stream" : [{
"name" : "stream1_3" ,
"bandwidth" : 200000 ,
"level" : 3 ,
"properties" : {
"videoWidth" : 320 ,
"videoHeight" : 240 ,
"videoFPS" : 15 ,
}
},
{
"name" : "stream1_2" ,
"bandwidth" : 500000 ,
"level" : 2 ,
"properties" : {
"videoWidth" : 640 ,
"videoHeight" : 480 ,
"videoFPS" : 30 ,
}
},
{
"name" : "stream1_1" ,
"bandwidth" : 750000 ,
"level" : 1 ,
"properties" : {
"videoWidth" : 800 ,
"videoHeight" : 600 ,
"videoFPS" : 30 ,
}
}
],
"georules" : {
"regions" : [
"US" ,
"UK"
],
"restricted" : "false"
},
"qos" : 3
}
}
RESPONSE
Success : HTTP CODE 201
Data :
Copy
{
"name" : "stream1" ,
"scope" : "live" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "acme" ,
"password" : "acme!newpass"
},
"stream" : [
{
"name" : "stream1_3" ,
"bandwidth" : 200000 ,
"level" : 3 ,
"properties" : {
"videoWidth" : 320 ,
"videoHeight" : 240 ,
"videoFPS" : 15 ,
}
},
{
"name" : "stream1_2" ,
"bandwidth" : 500000 ,
"level" : 2 ,
"properties" : {
"videoWidth" : 640 ,
"videoHeight" : 480 ,
"videoFPS" : 30 ,
}
},
{
"name" : "stream1_1" ,
"bandwidth" : 750000 ,
"level" : 1 ,
"properties" : {
"videoWidth" : 800 ,
"videoHeight" : 600 ,
"videoFPS" : 30 ,
}
],
"georules" : {
"regions" : [
"US" ,
"UK"
],
"restricted" : "false"
},
"qos" : 3
}
},
"updated" : 1520946314644
}
List Stream Provisions
DESCRIPTION :
Lists the streams that are provisioned through the Stream Manager.
URI : http : //{host}:{port}/streammanager/api/3.1/admin/event/meta/?accessToken=<accessToken>
METHOD : GET
RESPONSE
Failure : HTTP CODE 400 or 404
Data :
Copy
{
"errorMessage" : "<error-message-string>" ,
"timestamp" : < error - timestamp >
}
SUCCESS
CODE : 200
DATA :
{
"name" : "<streamName>" ,
"scope" : "<scopeName>" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "<username>" ,
"password" : "<password>"
},
"stream" : [
{
"name" : "<variant_name>" ,
"level" : < variant_level >,
"bandwidth" : < variant_bitrate >,
"properties" : {}
}
],
"georules" : {
"regions" : [
"<location_name>"
],
"restricted" : "<restriction_status>"
},
"qos" : < QOS - Constant - Index >
}
},
"updated" : < updated - timestamp >
}
Example : Lists the provisioned streams
REQUEST URI : https : //streammanager.url.com/streammanager/api/3.1/admin/event/meta?accessToken=xyz123
Method : GET
RESPONSE
Success : HTTP CODE 201
Data :
Copy
{
"name" : "stream1" ,
"scope" : "live" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "acme" ,
"password" : "acme!newpass"
},
"stream" : [
{
"name" : "stream1_1" ,
"bandwidth" : 25000 ,
"level" : 3 ,
"properties" : {}
},
{
"name" : "stream1_2" ,
"bandwidth" : 37500 ,
"level" : 2 ,
"properties" : {}
},
{
"name" : "stream1_3" ,
"bandwidth" : 62500 ,
"level" : 1 ,
"properties" : {}
}
],
"georules" : {
"regions" : [
"US" ,
"UK"
],
"restricted" : "false"
},
"qos" : 3
}
},
"updated" : 1520946314644
}
Read Stream Provision
DESCRIPTION :
Reads and returns a stream provision from Stream Manager data store for a given Stream and Scope.
URI : http : //{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>
METHOD : GET
RESPONSE
Failure : HTTP CODE 400 or 404
Data :
Copy
{
"errorMessage" : "<error-message-string>" ,
"timestamp" : < error - timestamp >
}
SUCCESS
CODE : 200
DATA :
{
"name" : "<streamName>" ,
"scope" : "<scopeName>" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "<username>" ,
"password" : "<password>"
},
"stream" : [
{
"name" : "<variant_name>" ,
"bandwidth" : < variant_bitrate >,
"level" : < variant_level >,
"properties" : {}
}
],
"georules" : {
"regions" : [
"<location_name>"
],
"restricted" : "<restriction_status>"
},
"qos" : < QOS - Constant - Index >
}
},
"updated" : < updated - timestamp >
}
Example : Reads a stream provision data from store
REQUEST URI : https : //streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
Method : GET
RESPONSE
Success : HTTP CODE 201
Data :
Copy
{
"name" : "stream1" ,
"scope" : "live" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "acme" ,
"password" : "acme!newpass"
},
"stream" : [
{
"name" : "stream1_1" ,
"bandwidth" : 25000 ,
"level" : 3 ,
"properties" : {}
},
{
"name" : "stream1_2" ,
"bandwidth" : 37500 ,
"level" : 2 ,
"properties" : {}
},
{
"name" : "stream1_3" ,
"bandwidth" : 62500 ,
"level" : 1 ,
"properties" : {}
}
],
"georules" : {
"regions" : [
"US" ,
"UK"
],
"restricted" : "false"
},
"qos" : 3
}
},
"updated" : 1520946314644
}
Read Stream Provision Fragment
Description
Reads and returns a part of the stream provision from Stream Manager data store for a given Stream and Scope by a specified meta ‘key’.
NOTE : The property targeted by the key
parameter must exist at the root level, ie: under the meta
object.
URI : http : //{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>&key=<metaKey>
Parameter
Description
Value
key
Name of a property to be read. This property should exist under the root object meta
A property name string
RESPONSE
Failure : HTTP CODE 400 or 404
Data :
Copy
{
"errorMessage" : "<error-message-string>" ,
"timestamp" : < error - timestamp >
}
SUCCESS
Copy
{
"name" : "<streamName>" ,
"scope" : "<scopeName>" ,
"data" : {
"<key>" : {
< data >
},
"updated" : < updated - timestamp >
}
Example : Reading global authentication information
URI : https : //streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123&key=authentication
Method : GET
RESPONSE
Success : HTTP CODE 201
Data :
Copy
{
"name" : "stream1" ,
"scope" : "live" ,
"data" : {
"authentication" : {
"username" : "acme" ,
"password" : "acme!newpass"
}
},
"updated" : 1520946314644
}
Update Stream Provision
DESCRIPTION
Updates a provision in the Stream Manager data store for a given Stream and Scope with new data and returns the updated provision.
URI : http : //{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>
METHOD : PUT
DATA :
Copy
{
"meta" : {
"authentication" : {
"username" : "<username>" ,
"password" : "<password>"
},
"stream" : [
{
"name" : "<variant_name>" ,
"bandwidth" : < variant_bitrate >,
"level" : < variant_level >,
"properties" : {}
}
],
"georules" : {
"regions" : [
"<location_name>"
],
"restricted" : "<restriction_status>"
},
"qos" : < QOS - Constant - Index >
}
}
RESPONSE
Failure : HTTP CODE 400 or 404
Data :
Copy
{
"errorMessage" : "<error-message-string>" ,
"timestamp" : < error - timestamp >
}
SUCCESS
Copy
{
"name" : "<streamName>" ,
"scope" : "<scopeName>" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "<username" ,
"password" : "<password>"
},
"stream" : [
{
"name" : "<variant_name>" ,
"bandwidth" : < variant_bitrate >,
"level" : < variant_level >,
"properties" : {}
}
],
"georules" : {
"regions" : [
"<location_name>"
],
"restricted" : "<restriction_status>"
},
"qos" : < QOS - Constant - Index >
}
},
"updated" : < updated - timestamp >
}
Example : Updating authentication password and inverting georule restriction status
URI : https : //streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
Method : PUT
Data : JSON
Copy
{
"meta" : {
"authentication" : {
"username" : "acme" ,
"password" : "acme!diffpass"
},
"stream" : [{
"name" : "stream1_1" ,
"bandwidth" : 25000 ,
"level" : 3 ,
"properties" : {
}
},
{
"name" : "stream1_2" ,
"bandwidth" : 37500 ,
"level" : 2 ,
"properties" : {
}
},
{
"name" : "stream1_3" ,
"bandwidth" : 62500 ,
"level" : 1 ,
"properties" : {
}
}
],
"georules" : {
"regions" : [
"US" ,
"UK"
],
"restricted" : "true"
},
"qos" : 3
}
}
RESPONSE
Success : HTTP CODE 201
Data :
Copy
{
"name" : "stream1" ,
"scope" : "live" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "acme" ,
"password" : "acme!diffpass"
},
"stream" : [
{
"name" : "stream1_1" ,
"bandwidth" : 25000 ,
"level" : 3 ,
"properties" : {}
},
{
"name" : "stream1_2" ,
"bandwidth" : 37500 ,
"level" : 2 ,
"properties" : {}
},
{
"name" : "stream1_3" ,
"bandwidth" : 62500 ,
"level" : 1 ,
"properties" : {}
}
],
"georules" : {
"regions" : [
"US" ,
"UK"
],
"restricted" : "true"
},
"qos" : 3
}
},
"updated" : 1520947709222
}
Delete Stream Provision
DESCRIPTION
Deletes a stream provision from Stream Manager data store by a given Stream and Scope and returns the deleted provision data.
URI : http : //{host}:{port}/streammanager/api/3.1/admin/event/meta/{scopeName}/{streamName}?accessToken=<accessToken>
METHOD : DELETE
RESPONSE
Failure : HTTP CODE 400 or 404
Data :
Copy
{
"errorMessage" : "<error-message-string>" ,
"timestamp" : < error - timestamp >
}
SUCCESS
Copy
{
"name" : "<streamName>" ,
"scope" : "<scopeName>" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "<username" ,
"password" : "<password>"
},
"stream" : [
{
"name" : "<variant_name>" ,
"bandwidth" : < variant_bitrate >,
"level" : < variant_level >,
"properties" : {}
}
],
"georules" : {
"regions" : [
"<location_name>"
],
"restricted" : "<restriction_status>"
},
"qos" : < QOS - Constant - Index >
}
},
"updated" : < updated - timestamp >
}
Example : Deletes the stream provision created earlier
URI : https : //streammanager.url.com/streammanager/api/3.1/admin/event/meta/live/stream1?accessToken=xyz123
Method : DELETE
RESPONSE
Success : HTTP CODE 201
Data :
Copy
{
"name" : "stream1" ,
"scope" : "live" ,
"data" : {
"meta" : {
"authentication" : {
"username" : "acme" ,
"password" : "acme!newpass"
},
"stream" : [
{
"name" : "stream1_1" ,
"bandwidth" : 25000 ,
"level" : 3 ,
"properties" : {}
},
{
"name" : "stream1_2" ,
"bandwidth" : 37500 ,
"level" : 2 ,
"properties" : {}
},
{
"name" : "stream1_3" ,
"bandwidth" : 62500 ,
"level" : 1 ,
"properties" : {}
}
],
"georules" : {
"regions" : [
"US" ,
"UK"
],
"restricted" : "false"
},
"qos" : 3
}
},
"updated" : 1520947709222
}