Upgrader Manager V2 API documentation version v2
http://hostname/Upgrade/v2
Upgrader Manager V2
Check the current version of software of a player against the latest available
post /v2/checkForUpgrade
Check the current version of software of a player against the latest available
Headers
- token: (string)
Token from the device
Body
Type: application/json
Field | Type | Description |
---|---|---|
name | string (Required) |
Name of the software for update request
|
version | string (Required) |
Version of the software for update request
|
Example:
{
"name": "Gravity_ION",
"version": "Beta_123"
}
HTTP status code 200
Body
Type: application/json
Field | Type | Description |
---|---|---|
name | string (Required) |
Name of the latest software from update response
|
status | string (Required) |
The result of the check
@enum: ["OK","REQUIRED","RECOMMENDED"]
|
version | string (Required) |
The version of the latest software available.If status is OK, this will be the same as the version supplied.
|
downloadUrl | string (Required) |
The URL the client can use to download a new version of the software.
|
dependencies | array |
A list of software this version depends on
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"name": "Gravity_ION",
"status": "RECOMMENDED",
"version": "Beta_124",
"downloadUrl": "http://some.site.somewhere/download",
"dependencies": [{
"softwareName": "123XYZ",
"name": "Gravity_ION_HTML5",
"versionNumber": "Beta_124"
}]
}
HTTP status code 400
Bad request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
Example:
{
"errorCode": 509,
"errorMessage": "DB error"
}
API for management of rolloutProfiles
API for creating a new Rollout Profile
Retrieve Rollout Profiles
post /v2/rolloutProfile
API for creating a new Rollout Profile
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
RolloutProfile id to uniquely identify a Rollout Profile
|
name | string |
Name of the Rollout Profile
|
description | string |
Description of the Rollout Profile
|
softwareVersions | array |
Softwares associated with this RolloutProfile
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"id": "Beta",
"name": "Beta_Upgrade",
"description": "Rollout Profile for Beta version upgrade"
}
HTTP status code 201
Created
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Public unique identifier of the resource. This field can be given by the client, otherwise it will be generated by the server.
|
Example:
{
"id": "Mongo DB Id of the newly created document"
}
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 409
Conflict
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
get /v2/rolloutProfile
Retrieve Rollout Profiles
Query Parameters
- limit: (number)
The number of records to return in a page. For pagination , example limit=10
- page: (number)
The page number
- offset: (number)
The number of records to skip. For pagination
- filter: (string)
A key/value pairing list. Where key is a fieldname,and value is the value the field should be
Example:
filter = {"<field-name-1>" : "<field-value-1>", "<field-name-2>" : "<field-value-2>"}
- sort: (string)
- fields: (string)
A list of fields names to return in the response.
Example:
fields = ["<field-name-1>","<field-name-1>"]
HTTP status code 200
Body
Type: application/json
Field | Type | Description |
---|---|---|
totalRecords | integer (Required) |
The total number of records available
|
rolloutProfileList | array |
A list of software this version depends on
|
id | string (Required) |
RolloutProfile id to uniquely identify a Rollout Profile
|
name | string |
Name of the Rollout Profile
|
description | string |
Description of the Rollout Profile
|
softwareVersions | array |
Softwares associated with this RolloutProfile
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"totalRecords": 1,
"rolloutProfileList": [{
"id": "Beta",
"name": "Beta_Upgrade",
"description": "Rollout Profile for Beta version upgrade"
}]
}
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
API for management of a rollout profile
Retrieve Rollout Profile
Update a Rollout Profile
Delete a Rollout Profile
get /v2/rolloutProfile/{rolloutProfileId}
Retrieve Rollout Profile
URI Parameters
- rolloutProfileId: required (string)
HTTP status code 200
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
RolloutProfile id to uniquely identify a Rollout Profile
|
name | string |
Name of the Rollout Profile
|
description | string |
Description of the Rollout Profile
|
softwareVersions | array |
Softwares associated with this RolloutProfile
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"id": "Beta",
"name": "Beta_Upgrade",
"description": "Rollout Profile for Beta version upgrade"
}
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
put /v2/rolloutProfile/{rolloutProfileId}
Update a Rollout Profile
URI Parameters
- rolloutProfileId: required (string)
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
RolloutProfile id to uniquely identify a Rollout Profile
|
name | string |
Name of the Rollout Profile
|
description | string |
Description of the Rollout Profile
|
softwareVersions | array |
Softwares associated with this RolloutProfile
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
HTTP status code 200
Succes Put Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
matchedCount | integer (Required) |
Count of resources that matched uri
|
modifiedCount | integer (Required) |
Count of resources that were modified
|
Example:
{
"matchedCount": 1,
"modifiedCount": 1
}
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
delete /v2/rolloutProfile/{rolloutProfileId}
Delete a Rollout Profile
URI Parameters
- rolloutProfileId: required (string)
HTTP status code 200
Delete Succcess
Body
Type: application/json
Field | Type | Description |
---|---|---|
deletedCount | integer (Required) |
Count of resources deleted
|
Example:
{
"deletedCount": 1
}
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
API for retriving all accounts for the rolloutprofile
Get all accounts associated with rollout profile
get /v2/rolloutProfile/{rolloutProfileId}/accounts
Get all accounts associated with rollout profile
URI Parameters
- rolloutProfileId: required (string)
Query Parameters
- limit: (number)
The number of records to return in a page. For pagination , example limit=10
- page: (number)
The page number
- offset: (number)
The number of records to skip. For pagination
HTTP status code 200
Success response
Body
Type: application/json
Field | Type | Description |
---|---|---|
totalRecords | integer (Required) |
The total number of records available
|
accountList | array |
A list of account for a rollout profile
|
id | string (Required) |
Account id to uniquely identify an Account - as used by ADM
|
rolloutProfileId | string |
Rollout Profile id associated to this account
|
devices | array |
List of devices linked to this account
|
id | string (Required) |
Device id to uniquely identify a Device - as used by ADM
|
type | string (Required) |
Device type to identify the type of the device
|
Example:
{
"totalRecords": 1,
"accountList": [{
"id": "accountId",
"rolloutProfileId": "Profile1",
"devices": [
{
"id": "deviceId1",
"type": "STB"
},
{
"id": "deviceId2",
"type": "STB"
}
]
}]
}
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
API for associating accounts with rollout profiles
Get Accout and rollout profiles assocation of a given account
Add or update account on this rollout profile
Delete account from this rollout profile
get /v2/rolloutProfile/{rolloutProfileId}/accounts/{accountId}
Get Accout and rollout profiles assocation of a given account
URI Parameters
- rolloutProfileId: required (string)
- accountId: required (string)
HTTP status code 200
Success response
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Account id to uniquely identify an Account - as used by ADM
|
rolloutProfileId | string |
Rollout Profile id associated to this account
|
devices | array |
List of devices linked to this account
|
id | string (Required) |
Device id to uniquely identify a Device - as used by ADM
|
type | string (Required) |
Device type to identify the type of the device
|
Example:
{
"id": "accountNumber",
"rolloutProfileId": "Beta",
"devices": [{
"id": "deviceId1",
"type": "STB"
},
{
"id": "deviceId2",
"type": "STB"
}]
}
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
put /v2/rolloutProfile/{rolloutProfileId}/accounts/{accountId}
Add or update account on this rollout profile
URI Parameters
- rolloutProfileId: required (string)
- accountId: required (string)
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Account id to uniquely identify an Account - as used by ADM
|
rolloutProfileId | string |
Rollout Profile id associated to this account
|
devices | array |
List of devices linked to this account
|
id | string (Required) |
Device id to uniquely identify a Device - as used by ADM
|
type | string (Required) |
Device type to identify the type of the device
|
HTTP status code 200
Success Put Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
matchedCount | integer (Required) |
Count of resources that matched uri
|
modifiedCount | integer (Required) |
Count of resources that were modified
|
HTTP status code 201
Created
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Public unique identifier of the resource. This field can be given by the client, otherwise it will be generated by the server.
|
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
delete /v2/rolloutProfile/{rolloutProfileId}/accounts/{accountId}
Delete account from this rollout profile
URI Parameters
- rolloutProfileId: required (string)
- accountId: required (string)
HTTP status code 200
Success Delete Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
deletedCount | integer (Required) |
Count of resources deleted
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
API for associating bulk of devices to an account
Add device to an account
put /v2/rolloutProfile/{rolloutProfileId}/accounts/{accountId}/devices/add
Add device to an account
URI Parameters
- rolloutProfileId: required (string)
- accountId: required (string)
Body
Type: application/json
Field | Type | Description |
---|---|---|
deviceList | array (Required) |
list of device
|
id | string (Required) |
Device id to uniquely identify a Device - as used by ADM
|
type | string (Required) |
Device type to identify the type of the device
|
Example:
{
"deviceList" : [
{
"id": "deviceId",
"type": "STB"
},
{
"id": "deviceId_2",
"type": "STB"
}
]
}
HTTP status code 200
Success Put Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
matchedCount | integer (Required) |
Count of resources that matched uri
|
modifiedCount | integer (Required) |
Count of resources that were modified
|
_id | string (Required) |
_id is Created when no match is found
|
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
API for deleting bulk of devices from an account
Remove devices From an account
put /v2/rolloutProfile/{rolloutProfileId}/accounts/{accountId}/devices/remove
Remove devices From an account
URI Parameters
- rolloutProfileId: required (string)
- accountId: required (string)
Body
Type: application/json
Field | Type | Description |
---|---|---|
deviceIdList | array (Required) |
list of device id
|
string |
Example:
{
"deviceIdList" : ["dev01","dev02"]
}
HTTP status code 200
Success Put Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
matchedCount | integer (Required) |
Count of resources that matched uri
|
modifiedCount | integer (Required) |
Count of resources that were modified
|
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
API for associating a device to an account
Add device to an account
put /v2/rolloutProfile/{rolloutProfileId}/accounts/{accountId}/devices/{deviceId}/add
Add device to an account
URI Parameters
- rolloutProfileId: required (string)
- accountId: required (string)
- deviceId: required (string)
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Device id to uniquely identify a Device - as used by ADM
|
type | string (Required) |
Device type to identify the type of the device
|
Example:
{
"id": "deviceId",
"type": "STB"
}
HTTP status code 200
Success Put Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
matchedCount | integer (Required) |
Count of resources that matched uri
|
modifiedCount | integer (Required) |
Count of resources that were modified
|
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
API for removing a device from an account
Remove device from an account
put /v2/rolloutProfile/{rolloutProfileId}/accounts/{accountId}/devices/{deviceId}/remove
Remove device from an account
URI Parameters
- rolloutProfileId: required (string)
- accountId: required (string)
- deviceId: required (string)
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Device id to uniquely identify a Device - as used by ADM
|
type | string (Required) |
Device type to identify the type of the device
|
Example:
{
"id": "deviceId",
"type": "STB"
}
HTTP status code 200
Success Put Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
matchedCount | integer (Required) |
Count of resources that matched uri
|
modifiedCount | integer (Required) |
Count of resources that were modified
|
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
API for management of software
Retrieve Software list
Create a new Software
get /v2/software
Retrieve Software list
Query Parameters
- limit: (number)
The number of records to return in a page. For pagination , example limit=10
- page: (number)
The page number
- offset: (number)
The number of records to skip. For pagination
- filter: (string)
A key/value pairing list. Where key is a fieldname,and value is the value the field should be
Example:
filter = {"<field-name-1>" : "<field-value-1>", "<field-name-2>" : "<field-value-2>"}
- sort: (string)
- fields: (string)
A list of fields names to return in the response.
Example:
fields = ["<field-name-1>","<field-name-1>"]
HTTP status code 200
Success Software query response
Body
Type: application/json
Field | Type | Description |
---|---|---|
totalRecords | integer (Required) |
The total number of records available
|
softwareList | array |
A list of software
|
id | string (Required) |
Software id to uniquely identify a Software binary
|
name | string (Required) |
Name of the Software
|
description | string |
Description of the Software
|
deviceTypes | array |
List of devices types supported for this software
|
string |
upgradeType | string |
Description of the Software
@enum: ["FULLSTACK","SYSTEMAPP"]
|
versions | array |
List of versions applicable to this software
|
versionNumber | string (Required) |
Software version number
|
releaseDate | string (Required) |
Release date of the version - used by the system to figure out the latest version
@format: ISO 8061 date-time
|
status | string (Required) |
The result of the check
@enum: ["OK","REQUIRED","RECOMMENDED"]
|
priority | string |
A priority to define how urgently the software must be installed
@enum: ["UPGRADE_TYPE_FORCED","UPGRADE_TYPE_STANDBY","UPGRADE_TYPE_MANUAL"]
|
releaseNote | string |
Release note of the software version release
|
eULA | string |
A license agreement of the software
|
downloadUrl | string (Required) |
The URL the client can use to download a new version of the software.
|
rolloutProfiles | array |
A list of rollout profile ids
|
string |
dependencies | array |
A list of software this version depends on
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"totalRecords": 1,
"softwareList": [{
"id": "Mongo DB Id of the software",
"name": "Gravity_ION",
"description": "Description of the Gravity_ION",
"deviceTypes": ["STB"],
"versions": [{
"versionNumber": "Beta_124",
"releaseDate": "2016-04-06T13:47:59.228Z",
"status": "RECOMMENDED",
"priority": "High",
"releaseNote": "Release note of the software version release",
"eULA": "A license agreement of the software",
"downloadUrl": "download url",
"rolloutProfiles": ["Beta", "Beta_BLR"],
"dependencies": [{
"softwareName": "Mongo DB Id",
"name": "Gravity_ION_HTML5",
"versionNumber": "Beta_123"
}]
}]
}]
}
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
post /v2/software
Create a new Software
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Software id to uniquely identify a Software binary
|
name | string (Required) |
Name of the Software
|
description | string |
Description of the Software
|
deviceTypes | array |
List of devices types supported for this software
|
string |
upgradeType | string |
Description of the Software
@enum: ["FULLSTACK","SYSTEMAPP"]
|
versions | array |
List of versions applicable to this software
|
versionNumber | string (Required) |
Software version number
|
releaseDate | string (Required) |
Release date of the version - used by the system to figure out the latest version
@format: ISO 8061 date-time
|
status | string (Required) |
The result of the check
@enum: ["OK","REQUIRED","RECOMMENDED"]
|
priority | string |
A priority to define how urgently the software must be installed
@enum: ["UPGRADE_TYPE_FORCED","UPGRADE_TYPE_STANDBY","UPGRADE_TYPE_MANUAL"]
|
releaseNote | string |
Release note of the software version release
|
eULA | string |
A license agreement of the software
|
downloadUrl | string (Required) |
The URL the client can use to download a new version of the software.
|
rolloutProfiles | array |
A list of rollout profile ids
|
string |
dependencies | array |
A list of software this version depends on
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"id": "Mongo DB Id of the software",
"name": "Gravity_ION",
"description": "Description of the Gravity_ION",
"deviceTypes": ["STB"],
"versions": [{
"versionNumber": "Beta_124",
"releaseDate": "ISO 8061 date-time",
"status": "RECOMMENDED",
"priority": "High",
"releaseNote": "Release note of the software version release",
"eULA": "A license agreement of the software",
"downloadUrl": "download url",
"rolloutProfiles": ["Beta", "Beta_BLR"],
"dependencies": [{
"softwareName": "Mongo DB Id",
"name": "Gravity_ION_HTML5",
"versionNumber": "Beta_123"
}]
}]
}
HTTP status code 201
Created
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Public unique identifier of the resource. This field can be given by the client, otherwise it will be generated by the server.
|
HTTP status code 400
BadRequest
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 409
Conflict
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
Retrieve a Software
Update a Software
Delete a Software
get /v2/software/{softwareName}
Retrieve a Software
URI Parameters
- softwareName: required (string)
HTTP status code 200
Success Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Software id to uniquely identify a Software binary
|
name | string (Required) |
Name of the Software
|
description | string |
Description of the Software
|
deviceTypes | array |
List of devices types supported for this software
|
string |
upgradeType | string |
Description of the Software
@enum: ["FULLSTACK","SYSTEMAPP"]
|
versions | array |
List of versions applicable to this software
|
versionNumber | string (Required) |
Software version number
|
releaseDate | string (Required) |
Release date of the version - used by the system to figure out the latest version
@format: ISO 8061 date-time
|
status | string (Required) |
The result of the check
@enum: ["OK","REQUIRED","RECOMMENDED"]
|
priority | string |
A priority to define how urgently the software must be installed
@enum: ["UPGRADE_TYPE_FORCED","UPGRADE_TYPE_STANDBY","UPGRADE_TYPE_MANUAL"]
|
releaseNote | string |
Release note of the software version release
|
eULA | string |
A license agreement of the software
|
downloadUrl | string (Required) |
The URL the client can use to download a new version of the software.
|
rolloutProfiles | array |
A list of rollout profile ids
|
string |
dependencies | array |
A list of software this version depends on
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
put /v2/software/{softwareName}
Update a Software
URI Parameters
- softwareName: required (string)
Body
Type: application/json
Field | Type | Description |
---|---|---|
id | string (Required) |
Software id to uniquely identify a Software binary
|
name | string (Required) |
Name of the Software
|
description | string |
Description of the Software
|
deviceTypes | array |
List of devices types supported for this software
|
string |
upgradeType | string |
Description of the Software
@enum: ["FULLSTACK","SYSTEMAPP"]
|
versions | array |
List of versions applicable to this software
|
versionNumber | string (Required) |
Software version number
|
releaseDate | string (Required) |
Release date of the version - used by the system to figure out the latest version
@format: ISO 8061 date-time
|
status | string (Required) |
The result of the check
@enum: ["OK","REQUIRED","RECOMMENDED"]
|
priority | string |
A priority to define how urgently the software must be installed
@enum: ["UPGRADE_TYPE_FORCED","UPGRADE_TYPE_STANDBY","UPGRADE_TYPE_MANUAL"]
|
releaseNote | string |
Release note of the software version release
|
eULA | string |
A license agreement of the software
|
downloadUrl | string (Required) |
The URL the client can use to download a new version of the software.
|
rolloutProfiles | array |
A list of rollout profile ids
|
string |
dependencies | array |
A list of software this version depends on
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
HTTP status code 200
Success Put Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
matchedCount | integer (Required) |
Count of resources that matched uri
|
modifiedCount | integer (Required) |
Count of resources that were modified
|
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
delete /v2/software/{softwareName}
Delete a Software
URI Parameters
- softwareName: required (string)
HTTP status code 200
Success Delete Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
deletedCount | integer (Required) |
Count of resources deleted
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
Retrieve a Software with versionNumber
Update a Software with versionNumber
Delete a Software with versionNumber
get /v2/software/{softwareName}/versions/{versionNumber}
Retrieve a Software with versionNumber
URI Parameters
- softwareName: required (string)
- versionNumber: required (string)
HTTP status code 200
Success Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
versionNumber | string (Required) |
Software version number
|
releaseDate | string (Required) |
Release date of the version - used by the system to figure out the latest version
@format: ISO 8061 date-time
|
status | string (Required) |
The result of the check
@enum: ["OK","REQUIRED","RECOMMENDED"]
|
priority | string |
A priority to define how urgently the software must be installed
@enum: ["UPGRADE_TYPE_FORCED","UPGRADE_TYPE_STANDBY","UPGRADE_TYPE_MANUAL"]
|
releaseNote | string |
Release note of the software version release
|
eULA | string |
A license agreement of the software
|
downloadUrl | string (Required) |
The URL the client can use to download a new version of the software.
|
rolloutProfiles | array |
A list of rollout profile ids
|
string |
dependencies | array |
A list of software this version depends on
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"versionNumber": "Beta_124",
"releaseDate": "2016-04-06T13:47:59.228Z",
"status": "RECOMMENDED",
"priority": "High",
"releaseNote": "Release note of the software version release",
"eULA": "A license agreement of the software",
"downloadUrl": "download url",
"rolloutProfiles": ["Beta", "Beta_BLR"],
"dependencies": [{
"softwareName": "Mongo DB Id",
"name": "Gravity_ION",
"versionNumber": "Beta_123"
},
{
"softwareName": "Mongo DB Id",
"name": "Gravity_ION_HTML5",
"versionNumber": "Beta_123"
}]
}
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
put /v2/software/{softwareName}/versions/{versionNumber}
Update a Software with versionNumber
URI Parameters
- softwareName: required (string)
- versionNumber: required (string)
Body
Type: application/json
Field | Type | Description |
---|---|---|
versionNumber | string (Required) |
Software version number
|
releaseDate | string (Required) |
Release date of the version - used by the system to figure out the latest version
@format: ISO 8061 date-time
|
status | string (Required) |
The result of the check
@enum: ["OK","REQUIRED","RECOMMENDED"]
|
priority | string |
A priority to define how urgently the software must be installed
@enum: ["UPGRADE_TYPE_FORCED","UPGRADE_TYPE_STANDBY","UPGRADE_TYPE_MANUAL"]
|
releaseNote | string |
Release note of the software version release
|
eULA | string |
A license agreement of the software
|
downloadUrl | string (Required) |
The URL the client can use to download a new version of the software.
|
rolloutProfiles | array |
A list of rollout profile ids
|
string |
dependencies | array |
A list of software this version depends on
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"versionNumber": "Beta_124",
"releaseDate": "2016-04-06T13:47:59.228Z",
"status": "RECOMMENDED",
"priority": "High",
"releaseNote": "Release note of the software version release",
"eULA": "A license agreement of the software",
"downloadUrl": "download url",
"rolloutProfiles": ["Beta", "Beta_BLR"],
"dependencies": [{
"softwareName": "Mongo DB Id",
"name": "Gravity_ION",
"versionNumber": "Beta_123"
},
{
"softwareName": "Mongo DB Id",
"name": "Gravity_ION_HTML5",
"versionNumber": "Beta_123"
}]
}
HTTP status code 200
Success Put Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
matchedCount | integer (Required) |
Count of resources that matched uri
|
modifiedCount | integer (Required) |
Count of resources that were modified
|
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
delete /v2/software/{softwareName}/versions/{versionNumber}
Delete a Software with versionNumber
URI Parameters
- softwareName: required (string)
- versionNumber: required (string)
HTTP status code 200
Success Delete Response
Body
Type: application/json
Field | Type | Description |
---|---|---|
deletedCount | integer (Required) |
Count of resources deleted
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
Notify devices that the latest version of this software is available
post /v2/software/{softwareName}/versions/{versionNumber}/notify
Notify devices that the latest version of this software is available
URI Parameters
- softwareName: required (string)
- versionNumber: required (string)
HTTP status code 202
Accepted notification request
Body
Type: application/json
Field | Type | Description |
---|---|---|
message | string (Required) |
Human readable message
|
HTTP status code 400
Bad request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
Get software version dependencies
Retrieve Dependencies
get /v2/software/{softwareName}/versions/{versionNumber}/dependency
Retrieve Dependencies
URI Parameters
- softwareName: required (string)
- versionNumber: required (string)
HTTP status code 200
Body
Type: application/json
Field | Type | Description |
---|---|---|
totalRecords | integer (Required) |
The total number of records available
|
dependencyList | array |
A list of software this version depends on
|
softwareName | string (Required) |
Reference to the id of a Software
|
name | string |
Name of the Software
|
versionNumber | string (Required) |
The version number of the Software
|
Example:
{
"totalRecords": 2,
"dependencyList": [{
"softwareName": "Mongo DB Id",
"name": "Gravity_ION",
"versionNumber": "Beta_123"
},
{
"softwareName": "Mongo DB Id",
"name": "Gravity_ION_HTML5",
"versionNumber": "Beta_123"
}]
}
HTTP status code 404
Not Found
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
Updates the currentVersionNumbers on the device
Updates the currentVersionNumbers on the device.
put /v2/devices/{deviceId}/currentVersionNumbers
Updates the currentVersionNumbers on the device.
URI Parameters
- deviceId: required (string)
Headers
- Token: (string)
Token in clear after decrypted by nginx
- Client-Token: (string)
Client-Token in clear after decrypted by nginx
Body
Type: application/json
Field | Type | Description |
---|---|---|
currentVersionNumbers | array |
List of currentVersionNumber
|
softwareName | string |
Name of software it is used to identify software uniquely
|
currentVersionNumber | string |
current Version Number of software
|
Example:
{
"currentVersionNumbers" : [{
"softwareName" : "Gravity_ION",
"currentVersionNumber" : "1.0.0"
},
{
"softwareName" : "Gravity_ION_HTML5",
"currentVersionNumber" : "1.0.0"
}]
}
HTTP status code 202
Accepted
Body
Type: application/json
Field | Type | Description |
---|---|---|
message | string (Required) |
Human readable message
|
Example:
{
"message": "Accepted"
}
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
Update software upgrade result - in case of failure
Report current software version upgrade failure
put /v2/devices/{deviceId}/currentVersionNumbers/upgradeResult
Report current software version upgrade failure
URI Parameters
- deviceId: required (string)
Headers
- Token: (string)
Token in clear after decrypted by nginx
- Client-Token: (string)
Client-Token in clear after decrypted by nginx
Body
Type: application/json
Field | Type | Description |
---|---|---|
currentVersionsUpgradeResult | array |
List of software current version upgrade result
|
softwareName | string (Required) |
Name of software it is used to identify software uniquely
|
versionNumber | string (Required) |
current Version Number of software
|
status | string (Required) |
Status of software upgrade such as failed, partial success, healthy
@enum: ["SUCCESS","FAILED","DOWNLOADED","INITIATED","ABORTED"]
|
errorCode | string |
errorCode of upgrade failure
|
message | string |
Software upgrade details - such as error message
|
Example:
{
"currentVersionsUpgradeResult" : [
{
"softwareName": "OpenTvOs",
"versionNumber": "5.2",
"status": "SUCCESS",
"errorCode" : "Installed",
"message": "OpenTvOs Installed Successfully"
},
{
"softwareName": "ION_BETA",
"versionNumber": "3.9",
"status": "FAILED",
"errorCode" : "insufficient memory in db",
"message": "[error-code] insufficient memory or disk space"
},
{
"softwareName": "HTML_5",
"versionNumber": "5.1-2",
"status": "FAILED",
"errorCode" : "sdp error",
"message": "[error-code] Cannot complete the install because one or more required items could not be found"
}]
}
HTTP status code 202
Accepted
Body
Type: application/json
Field | Type | Description |
---|---|---|
message | string (Required) |
Human readable message
|
Example:
{
"message": "Accepted"
}
HTTP status code 400
Bad Request
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|
Updates the currentVersionNumbers on the device
Reporting the currentVersionNumbers on the device.
post /v2/devices/software/pendingUpdate/notify
Reporting the currentVersionNumbers on the device.
HTTP status code 202
Accepted
HTTP status code 500
Internal Error
Body
Type: application/json
Field | Type | Description |
---|---|---|
status | string |
Status for the HTTP response
|
errorCode | integer (Required) |
Matches the HTTP response code
|
errorMessage | string |
Human readable message
|