Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagephp
themeConfluence
{

  "ipAddressGroup": {

    "id": "2c184325-f9eb-4edc-85c3-5b6466fc3c5c",

    "name": "test",

    "ipAddresses": [

      "192.11.11.11"

    ]

  },

  "environments": [

     

  ],

  "models": [

     

  ],

  "ipv6FirmwareLocation": "2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d",

  "httpLocation": "http://localhost:8080",

  "forceHttp": true,

  "id": "2ce1279b-bb25-4fda-9a34-fe8466bc2702",

  "name": "name",

  "boundConfigId": "95e75859-ae8f-4d6a-b758-11fefbe647e1",

  "ipv4FirmwareLocation": "10.10.10.10"

}

Delete location filter by name

DELETE http://<host>:<port>/delete/filters/locations/{locationFilterName}?applicationType={type}

...

Code Block
languagephp
themeConfluence
<EnvModelRuleBean>
 <id>12b620bd-2e74-4467-91e5-c29657022c05</id>
 <name>testName</name>
 <firmwareConfig>
  <id>f0b7b35b-4b8e-4a15-9d66-91c4b3d575d1</id>
  <description>prav_Firm</description>
  <supportedModelIds>
   <supportedModelIds>PX013ANM</supportedModelIds>
   <supportedModelIds>PX013ANC</supportedModelIds>
  </supportedModelIds>
  <firmwareFilename>PX013AN_2.1s11_VBN_HYBse-signed.bin</firmwareFilename>
  <firmwareVersion>PX013AN_2.1s11_VBN_HYBse-signed</firmwareVersion>
 </firmwareConfig>
 <environmentId>TEST</environmentId>
 <modelId>PX013ANC</modelId>
</EnvModelRuleBean>

Create/update an environment model rule

If EnvModelRule is missing it will be being created, otherwise updated. For update operation id field is not needed.

...

Request: http://<host>:<port>/delete/rules/envModels/testName.json

IP filter

IP Filter

Retrieve an IP filter list

...

Code Block
languagephp
themeConfluence
<ArrayList>
 <item>
  <id>8bdb3493-a18b-4230-9b25-fd44df38863b</id>
  <name>name</name>
  <ipAddressGroup>
   <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</id>
   <name>test</name>
   <ipAddresses>
    <ipAddresses>192.11.11.11</ipAddresses>
   </ipAddresses>
  </ipAddressGroup>
  <warehouse>false</warehouse>
 </item>
 <item>
  <id>f9c5a6e8-d34f-4dc6-ae41-9016b70552ae</id>
  <name>namef</name>
  <ipAddressGroup>
   <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</id>
   <name>test</name>
   <ipAddresses>
    <ipAddresses>192.11.11.11</ipAddresses>
   </ipAddresses>
  </ipAddressGroup>
  <warehouse>false</warehouse>
 </item>
</ArrayList>

Retrieve an ip filter by name

GET http://<host>:<port>/queries/filters/ips/{ipFilterName}?applicationType={type}

...

Code Block
languagephp
themeConfluence
<IpFilter>
 <id>8bdb3493-a18b-4230-9b25-fd44df38863b</id>
 <name>name</name>
 <ipAddressGroup>
  <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</id>
  <name>test</name>
  <ipAddresses>
   <ipAddresses>192.11.11.11</ipAddresses>
  </ipAddresses>
 </ipAddressGroup>
 <warehouse>false</warehouse>
</IpFilter>

Create/update an IP filter

If IpFilter is missing it will be being created, otherwise updated. For update operation id field is not needed.

...

Request: http://<host>:<port>/delete/filters/ips/namef

Percent filter

Retrieve percent filter

GET http://<host>:<port>/queries/filters/percent?applicationType={type}

...

Code Block
languagephp
themeConfluence
<PercentFilterWrapper type="com.comcast.xconf.queries.beans.PercentFilterWrapper">
 <id>PERCENT_FILTER_VALUE</id>
 <percentage>99.0</percentage>
 <EnvModelPercentages>
  <percentage>100.0</percentage>
  <active>false</active>
  <firmwareCheckRequired>false</firmwareCheckRequired>
  <rebootImmediately>false</rebootImmediately>
  <lastKnownGood/>
  <intermediateVersion/>
  <firmwareVersions/>
  <name>123</name>
 </EnvModelPercentages>
 <EnvModelPercentages>
  <percentage>50.0</percentage>
  <active>true</active>
  <firmwareCheckRequired>true</firmwareCheckRequired>
  <rebootImmediately>true</rebootImmediately>
  <lastKnownGood>PR150BN_2.4p6s3_VBN_HYBsd</lastKnownGood>
  <intermediateVersion>PR150BN_2.3p7s1_PROD_HYBse</intermediateVersion>
  <firmwareVersions>
   <firmwareVersions>PR150BN_2.4p6s3_VBN_HYBsd</firmwareVersions>
   <firmwareVersions>PR150BN_2.4p8s3_VBN_HYBsd-signed</firmwareVersions>
   <firmwareVersions>PR150BN_2.3p7s1_PROD_HYBse</firmwareVersions>
  </firmwareVersions>
  <name>IV_6a</name>
 </EnvModelPercentages>
</PercentFilterWrapper>

Retrieve percent filter field values

GET http://<host>:<port>/queries/filters/percent?field=fieldName&applicationType={type}

...

Code Block
languagephp
themeConfluence
<ArrayList>
 <item>
  <id>4c2cea9e-c1be-4219-8f2a-70084f1cb648</id>
  <name>Percent Test 2</name>
  <active>false</active>
  <firmwareCheckRequired>false</firmwareCheckRequired>
  <rebootImmediately>false</rebootImmediately>
  <firmwareVersions/>
  <environment>envId</environment>
  <model>modelId</model>
  <distributions>
   <distributions>
    <configId>29ab0494-0ee9-406a-9189-a81598988a54</configId>
    <percentage>100.0</percentage>
   </distributions>
  </distributions>
 </item>
</ArrayList>

Retrive EnvModelPercentage by id

GET http://<host>:<port>/queries/percentageBean/id

...

Code Block
languagephp
themeConfluence
<PercentageBean>
 <id>4c2cea9e-c1be-4219-8f2a-70084f1cb648</id>
 <ttlMap/>
 <name>Percent Test 2</name>
 <active>false</active>
 <firmwareCheckRequired>false</firmwareCheckRequired>
 <rebootImmediately>false</rebootImmediately>
 <firmwareVersions/>
 <environment>envId</environment>
 <model>modelId</model>
 <distributions>
  <distributions>
   <configId>0c176c01-b4cf-4706-9e41-5118e30f68cb</configId>
   <percentage>100.0</percentage>
  </distributions>
 </distributions>
</PercentageBean>

Delete envModelPercentage

DELETE http://<host>:<port>/delete/percentageBean/id

...

Code Block
languagephp
themeConfluence
<TimeFilterWrapper>

    <id>cef2b340-2109-467e-a5d2-a70f0cddb432</id>

    <name>abc</name>

    <ipWhitelist>

        <id>0e277b6a-7d95-4421-b390-415b03de04b4</id>

        <name>60.70.80.90</name>

        <ipAddresses>

            <ipAddresses>60.70.80.90</ipAddresses>

        </ipAddresses>

    </ipWhitelist>

    <envModelWhitelist>

        <id>0f8110a3-4b60-489b-854e-c69e25b18abc</id>

        <environmentId>QA</environmentId>

        <modelId>SR150BNC</modelId>

    </envModelWhitelist>

    <neverBlockRebootDecoupled>true</neverBlockRebootDecoupled>

    <neverBlockHttpDownload>true</neverBlockHttpDownload>

    <startTime>01:00</startTime>

    <endTime>02:00</endTime>

    <localTime>true</localTime>

</TimeFilterWrapper>

Create/update time filter

If time filter is missing it will be being created, otherwise updated. For update operation id field is not needed.

...

Code Block
languagephp
themeConfluence
<TimeFilterWrapper>
    <id>cef2b340-2109-467e-a5d2-a70f0cddb432</id>
    <name>abc</name>
    <ipWhitelist>
        <id>0e277b6a-7d95-4421-b390-415b03de04b4</id>
        <name>60.70.80.90</name>
        <ipAddresses>
            <ipAddresses>60.70.80.90</ipAddresses>
        </ipAddresses>
    </ipWhitelist>
    <envModelWhitelist>
        <id>0f8110a3-4b60-489b-854e-c69e25b18abc</id>
        <environmentId>QA</environmentId>
        <modelId>SR150BNC</modelId>
    </envModelWhitelist>
    <neverBlockRebootDecoupled>true</neverBlockRebootDecoupled>
    <neverBlockHttpDownload>true</neverBlockHttpDownload>
    <startTime>01:00</startTime>
    <endTime>02:00</endTime>
    <localTime>true</localTime>
</TimeFilterWrapper>

Delete time filter by name

DELETE http://<host>:<port>/delete/filters/time/{timeFilterName}?applicationType={type}

...

Code Block
languagephp
themeConfluence
[{"id":"DEV","description":"ff"},{"id":"TEST","description":"do not delete"}]

Retrieve environment by id

GET http://<host>:<port>/queries/environments/<environmentId>

...

Code Block
languagephp
themeConfluence
<Environment>
 <id>DEV</id>
 <description>ff</description>
</Environment>

Create an environment

POST http://<host>:<port>/updates/environments

...

Code Block
languagephp
themeConfluence
{"id":"testName","description":"some description"}

Delete environment by id

DELETE http://<host>:<port>/delete/environments/<environmentId>

...

Code Block
languagephp
themeConfluence
<ArrayList>
 <item>
  <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</id>
  <name>test</name>
  <ipAddresses>
   <ipAddresses>192.11.11.11</ipAddresses>
  </ipAddresses>
 </item>
</ArrayList>

Retrieve an IP address group by IP

GET http://<host>:<port>/queries/ipAddressGroups/byIp/<ipAddressGroupIp>/

...

Code Block
languagephp
themeConfluence
<ArrayList>
 <item>
  <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</id>
  <name>test</name>
  <ipAddresses>
   <ipAddresses>192.11.11.11</ipAddresses>
  </ipAddresses>
 </item>
</ArrayList>

Create an IP address group

POST http://<host>:<port>/updates/ipAddressGroups

...

Code Block
languagephp
themeConfluence
{"id":"2c184325-f9eb-4edc-85c3-5b6466fc3c5c","name":"test","ipAddresses":["192.11.11.11"]}

Add data to IP Address Group(dev in progress)

POST http://<host>:<port>/updates/ipAddressGroups/<ipAddressGroup_name>/addData

...

Code Block
languagephp
themeConfluence
<StringListWrapper>
 <list>
  <list>1.1.1.1</list>
 </list>
</StringListWrapper>

Delete an IP address group by id

DELETE http://<host>:<port>/delete/ipAddressGroups/<ipAddressGroupId>

...

Code Block
languagephp
themeConfluence
<ArrayList>
 <item>
  <name>test</name>
  <macListRef>macs</macListRef>
  <targetedModelIds>
   <targetedModelIds>YETST</targetedModelIds>
  </targetedModelIds>
  <firmwareConfig>
   <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</id>
   <description>_-</description>
   <supportedModelIds>
    <supportedModelIds>YETST</supportedModelIds>
   </supportedModelIds>
   <firmwareFilename>_-</firmwareFilename>
   <firmwareVersion>_-</firmwareVersion>
  </firmwareConfig>
 </item>
</ArrayList>

Retrieve a mac rule list (v2)

GET http://<host>:<port>/queries/rules/macs?version=2&applicationType={type}

...

Code Block
languagephp
themeConfluence
<ArrayList>
 <item>
  <id>18542fe1-94f2-487c-8f41-9f20965648f5</id>
  <name>test</name>
  <macListRef>macs</macListRef>
  <targetedModelIds>
   <targetedModelIds>YETST</targetedModelIds>
  </targetedModelIds>
  <firmwareConfig>
   <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</id>
   <description>_-</description>
   <supportedModelIds>
    <supportedModelIds>YETST</supportedModelIds>
   </supportedModelIds>
   <firmwareFilename>_-</firmwareFilename>
   <firmwareVersion>_-</firmwareVersion>
  </firmwareConfig>
  <macList>
   <macList>AA:AA:AA:AA:AA:AA</macList>
  </macList>
 </item>
</ArrayList>

Retrieve mac rule by name (legacy)

GET http://<host>:<port>/queries/rules/macs/{macRuleName}?applicationType={type}

...

Code Block
languagephp
themeConfluence
<MacRuleBeanWrapper>
 <id>18542fe1-94f2-487c-8f41-9f20965648f5</id>
 <name>test</name>
 <macListRef>macs</macListRef>
 <targetedModelIds>
  <targetedModelIds>YETST</targetedModelIds>
 </targetedModelIds>
 <firmwareConfig>
  <id>b65962b5-1481-4eed-a010-2abfa8c3bbfd</id>
  <description>_-</description>
  <supportedModelIds>
   <supportedModelIds>YETST</supportedModelIds>
  </supportedModelIds>
  <firmwareFilename>_-</firmwareFilename>
  <firmwareVersion>_-</firmwareVersion>
 </firmwareConfig>
 <macList>
  <macList>AA:AA:AA:AA:AA:AA</macList>
 </macList>
</MacRuleBeanWrapper>

Delete mac rule by name

DELETE http://<host>:<port>/delete/rules/macs/{macRuleName}?applicationType={type}

...

Code Block
languagephp
themeConfluence
<Model>
 <id>YETST</id>
 <description></description>
</Model>

Create model 

POST http://<host>:<port>/updates/models

...

Code Block
languagephp
themeConfluence
<Model>
 <id>YETST</id>
 <description></description>
</Model>

Update Model Description

PUT http://<host>:<port>/updates/models

Headers: Content-Type = application/json OR application/xml Accept = application/json OR application/xml

Response: 200 OK; 400 BAD REQUEST; 404 NOT FOUND, 500 INTERNAL SERVER ERROR

Request: http://localhost:9091/updates/models.json OR http://localhost:9091/updates/models

JSON Request

Code Block
languagephp
themeConfluence
{
  "id": "test",
  "description": "description update"
}


XML Request

Code Block
languagephp
themeConfluence
<Model><id>test</id><description>description update</description></Model>


Delete model by id

DELETE http://<host>:<port>/delete/models/<modelId>

...

Code Block
languagephp
themeConfluence
<ArrayList>
 <item>
  <id>macs</id>
  <data>
   <data>AA:AA:AA:AA:AA:AA</data>
  </data>
 </item>
</ArrayList>

Retrieve an NS list by id:

GET http://<host>:<port>/queries/nsLists/byId/<nsListId>

...

Code Block
languagephp
themeConfluence
<NamespacedList>
 <id>macs</id>
 <data>
  <data>AA:AA:AA:AA:AA:AA</data>
</data></NamespacedList>

Create a NS list

POST http://<host>:<port>/updates/nsLists

...

Code Block
languagephp
themeConfluence
<NamespacedList>
 <id>macs</id>
 <data>
  <data>AA:AA:AA:AA:AA:AA</data>
 </data>
</NamespacedList>

Add data to NS list

POST http://<host>:<port>/updates/nsLists/<nsListId>/addData

...

Code Block
languagephp
themeConfluence
<StringListWrapper>
 <list>
  <list>11:22:33:44:55:66</list>
 </list>
</StringListWrapper>

Delete data from NS list

DELETE http://<host>:<port>/updates/nsLists/<nsListId>/removeData

...

Code Block
languagephp
themeConfluence
<StringListWrapper>
 <list>
  <list>11:22:33:44:55:66</list>
 </list>
</StringListWrapper>

Delete an NS list by id

DELETE http://<host>:<port>/delete/nsLists/<nsListId>

...

{"firmwareVersions":["PR150BN_2.1p5s2_VBN_HYBse","PXD01ANI_2.1p10s1_PROD_sdy"]}


FirmwareRuleTemplate


Retrieve filtered templates


GET http://<host>:<port>/firmwareruletemplate/filtered?name=MAC_RULE&key=someKey

Headers: Accept = application/json, Content-Type = application/json

Request params:

  1. Without params:
    Retrieve all firmware rule templates.
  2. 'name': 
    To filter templates by name.
  3. 'key':
    To filter by rule key
  4. 'value':
    to filter by rule value

Parameters could be combined: 

'?name=someName&value=testValue'


Import firmware rule templates


POST http://<host>:<port>/firmwareruletemplate/importAll

Headers: Accept = application/json

Content-Type = application/json


Request body is list of firmware rule templates:


Code Block
languagephp
themeConfluence
[
    {
        "id": "a1",
        "rule": {
            "negated": false,
            "condition": {
                "freeArg": {
                    "type": "STRING",
                    "name": "ipAddress"
                },
                "operation": "IS",
                "fixedArg": {
                    "bean": {
                        "value": {
                            "java.lang.String": ""
                        }
                    }
                }
            },
            "compoundParts": []
        },
        "applicableAction": {
            "type": ".RuleAction",
            "ttlMap": {},
            "actionType": "RULE_TEMPLATE",
            "active": true,
            "firmwareCheckRequired": false,
            "rebootImmediately": false
        },
        "priority": 15,
        "requiredFields": [],
        "byPassFilters": [],
        "editable": true
    }
]


Return list of firmware rule templates' ids which were imported or not:

Response body:

Code Block
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": []
}

Response codes: 200, 400, 404, 409


FirmwareRule


Retrieve all firmware rules


GET http://<host>:<port>/firmwarerule Headers: Accept = application/json

Response body

Code Block
languagephp
themeConfluence
[
  {
    "id": "7bc69543-c33a-42c5-97dc-7c21ecf06cdb",
    "name": "testName",
    "rule": {
      "negated": false,
      "condition": {
        "freeArg": {
          "type": "STRING",
          "name": "eStbMac"
        },
        "operation": "IN_LIST",
        "fixedArg": {
          "bean": {
            "value": {
              "java.lang.String": "mac list"
            }
          }
        }
      }
    },
    "applicableAction": {
      "type": ".DefinePropertiesAction",
      "ttlMap": {},
      "actionType": "DEFINE_PROPERTIES",
      "properties": {
        "rebootImmediately": "true"
      },
      "byPassFilters": [],
      "activationFirmwareVersions": {}
    },
    "type": "RI_MACLIST",
    "active": true,
    "applicationType": "stb"
  }
]


Retrieve filtered firmware rules

GET http://<host>:<port>/firmwarerule/filtered?tepmlateId=TEST_ID&key=firmwareVersion

Headers: Accept = application/json, Content-Type = application/json

Request params:

'applicationType' param is required.

  1. 'name: 
     'name=someName'
    To filter templates by name.
  2. 'key':
    'key=someKey'
    To filter by rule key
  3. 'value':
    'value=someValue'
    to filter by rule value
  4. 'firmwareVersion':
    'firmwareVersion=testFirmwareVersion'
    to filter by firmware version
  5. 'templateId':
    'templateId=testTemplate'
    to filter by template
  6. 'applicationType':
    'applicationType=stb'
    to filter by application type

Parameters could be combined: 

'?applicationType=stb&value=someValue'


Import firmware rule

POST http://<host>:<port>/firmwarerule/importAll

Headers: Accept = application/json Content-Type = application/json

Request body is list of firmware rules:

Code Block
languagephp
themeConfluence
[
  {
    "id": "7bc69543-c33a-42c5-97dc-7c21ecf06cdb",
    "name": "testName",
    "rule": {
      "negated": false,
      "condition": {
        "freeArg": {
          "type": "STRING",
          "name": "eStbMac"
        },
        "operation": "IN_LIST",
        "fixedArg": {
          "bean": {
            "value": {
              "java.lang.String": "mac list"
            }
          }
        }
      }
    },
    "applicableAction": {
      "type": ".DefinePropertiesAction",
      "ttlMap": {},
      "actionType": "DEFINE_PROPERTIES",
      "properties": {
        "rebootImmediately": "true"
      },
      "byPassFilters": [],
      "activationFirmwareVersions": {}
    },
    "type": "RI_MACLIST",
    "active": true,
    "applicationType": "stb"
  }
]


Return list of imported and not imported firmware rules' names:

Response body:


Code Block
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": ["testName"]
}


Response codes: 200, 400, 404, 409


Feature

Retrieve all features

GET http://<host>:<port>/feature

Headers: Accept = application/json

Response body

Code Block
languagephp
themeConfluence
[
  {
        "id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
        "name": "name",
        "featureName": "featureName",
        "effectiveImmediate": false,
        "enable": false,
        "whitelisted": false,
        "configData": {
            "key1": "value1"
        },
        "whitelistProperty": {},
        "applicationType": "stb"
    }
]


Retrieve filtered features

GET http://<host>:<port>/feature/filtered?

Headers: Accept = application/json, Content-Type = application/json


Request params:

'APPLICATION_TYPE' param is required.

  1. NAME: 
    'NAME=someName'
    To filter features by name
  2. FEATURE_INSTANCE
    'FEATURE_INSTANCE=someInstance'
    To filter features by instance
  3. FREE_ARG:
    'FREE_ARG=someKey'
    To filter by property key
  4. FIXED_ARG:
    'FIXED_ARG=someValue'
    to filter by property value
  5. APPLICATION_TYPE:
    'APPLICATION_TYPE=stb'
    to filter by application type

Parameters could be combined: 

'?APPLICATION_TYPE=stb&FIXED_ARG=someValue'


Import feature


POST http://<host>:<port>/feature/importAll

Headers: Accept = application/json Content-Type = application/json

Request body is list of features:

Code Block
languagephp
themeConfluence
[
  {
        "id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
        "name": "name",
        "featureInstance": "featureInstance",
        "effectiveImmediate": false,
        "enable": false,
        "whitelisted": false,
        "configData": {
            "key1": "value1"
        },
        "whitelistProperty": {},
        "applicationType": "stb"
    }
]

Return list of imported and not imported feature ID's:

Response body:

Code Block
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": ["featureID"]
}

Response codes: 200, 400, 409


Create feature


POST http://<host>:<port>/feature

Headers: Accept = application/json Content-Type = application/json

Request body is feature json object

Code Block
languagephp
themeConfluence
{
	"id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
    "name": "name",
    "featureInstance": "featureInstance",
    "effectiveImmediate": false,
    "enable": false,
    "whitelisted": false,
    "configData": {
        "key1": "value1"
    },
    "whitelistProperty": {},
    "applicationType": "stb"
}

Response codes: 201, 400, 409.

Response body: created feature.

Update feature


PUT http://<host>:<port>/feature

Headers: Accept = application/json Content-Type = application/json

Request body is feature json object


Code Block
languagephp
themeConfluence
{
	"id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
    "name": "name",
    "featureInstance": "featureInstance",
    "effectiveImmediate": false,
    "enable": false,
    "whitelisted": false,
    "configData": {
        "key1": "value1"
    },
    "whitelistProperty": {},
    "applicationType": "stb"
}

Response codes: 201, 400, 404, 409.

Response body: created feature.

Delete feature

DELETE http://<host>:<port>/feature/{id}

Response codes: 204, 404, 409.


Feature Rule

Retrieve all feature rules

GET http://<host>:<port>/featurerule

Headers: Accept = application/json

Response body

Code Block
languagephp
themeConfluence
[
    {
        "id": "963b2b7c-d198-4c23-820a-b56ac809c333",
        "name": "instance_test",
        "rule": {
            "negated": false,
            "condition": {
                "freeArg": {
                    "type": "STRING",
                    "name": "testKey"
                },
                "operation": "IS",
                "fixedArg": {
                    "bean": {
                        "value": {
                            "java.lang.String": "testValue"
                        }
                    }
                }
            },
            "compoundParts": []
        },
        "priority": 1,
        "featureIds": [
            "27a9d55e-0f0c-4809-b171-8357613f0efa"
        ],
        "applicationType": "stb"
    }
]

Response codes: 200.

Retrieve filtered feature rules

GET http://<host>:<port>/featurerule/filtered?

Headers: Accept = application/json, Content-Type = application/json

Request params:

'APPLICATION_TYPE' param is required.

  1. NAME: 
    'NAME=ruleName'
    to filter feature rule by name
  2. FREE_ARG:
    'FREE_ARG=someKey'
    to filter by feature rule key
  3. FIXED_ARG:
    'FIXED_ARG=someValue'
    to filter by feature rule value
  4. FEATURE:
    'FEATURE=featureInstance'
    to filter by feature instance.
  5. APPLICATION_TYPE:
    'APPLICATION_TYPE=stb'
    to filter by application type

Parameters could be combined: 

'?APPLICATION_TYPE=stb&FIXED_ARG=someValue'

Import feature rule

If feature rule with provided id does not exist it is imported otherwise updated.

POST http://<host>:<port>/featurerule/importAll

Headers: Accept = application/json Content-Type = application/json

Request body is list of feature rules:

Code Block
languagephp
themeConfluence
[
	{
        "id": "963b2b7c-d198-4c23-820a-b56ac809c333",
        "name": "instance_test",
        "rule": {
            "negated": false,
            "condition": {
                "freeArg": {
                    "type": "STRING",
                    "name": "testKey"
                },
                "operation": "IS",
                "fixedArg": {
                    "bean": {
                        "value": {
                            "java.lang.String": "testValue"
                        }
                    }
                }
            },
            "compoundParts": []
        },
        "priority": 1,
        "featureIds": [
            "27a9d55e-0f0c-4809-b171-8357613f0efa"
        ],
        "applicationType": "stb"
	}
]

Return list of imported and not imported feature rule IDs:

Response body:


Code Block
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": ["featureRuleId"]
}

Response codes: 200, 400, 404, 409


Create feature rule


POST http://<host>:<port>/featurerule

Headers: Accept = application/json Content-Type = application/json

Request body is feature rule json object

Code Block
languagephp
themeConfluence
{
    "id": "963b2b7c-d198-4c23-820a-b56ac809c333",
    "name": "instance_test",
    "rule": {
        "negated": false,
        "condition": {
            "freeArg": {
                "type": "STRING",
                "name": "testKey"
            },
            "operation": "IS",
            "fixedArg": {
                "bean": {
                    "value": {
                        "java.lang.String": "testValue"
                    }
                }
            }
        },
        "compoundParts": []
    },
    "priority": 1,
    "featureIds": [
        "27a9d55e-0f0c-4809-b171-8357613f0efa"
    ],
    "applicationType": "stb"
}

Response codes: 201, 400, 404, 409.

Response body: created feature rule.


Update feature rule


PUT http://<host>:<port>/featurerule

Headers: Accept = application/json Content-Type = application/json

Request body is feature rule json object

Code Block
languagephp
themeConfluence
{
    "id": "963b2b7c-d198-4c23-820a-b56ac809c333",
    "name": "instance_test",
    "rule": {
        "negated": false,
        "condition": {
            "freeArg": {
                "type": "STRING",
                "name": "testKey"
            },
            "operation": "IS",
            "fixedArg": {
                "bean": {
                    "value": {
                        "java.lang.String": "testValue"
                    }
                }
            }
        },
        "compoundParts": []
    },
    "priority": 1,
    "featureIds": [
        "27a9d55e-0f0c-4809-b171-8357613f0efa"
    ],
    "applicationType": "stb"
}

Response codes: 201, 400, 404, 409.

Response body: created feature rule.


Delete feature rule


DELETE http://<host>:<port>/featurerule/{id}

Response codes: 204, 404, 409.

Activation Minimum Version

Retrieve all activation minimum versions

GET http://<host>:<port>/amv

Headers: Accept = application/json

Response body

Code Block
languagephp
themeConfluence
[
	{
        "id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
        "applicationType": "stb",
        "description": "Activation Version",
        "regularExpressions": [],
        "model": "MX011AN",
        "firmwareVersions": [
            "FIRMWARE_VERSION"
        ]
    }
]

Response codes: 200.


Retrieve filtered activation minimum versions


GET http://<host>:<port>/amv/filtered?

Headers: Accept = application/json, Content-Type = application/json


Request params:

'applicationType' param is required.

  1. DESCRIPTION: 
    'DESCRIPTION=description'
    to filter feature rule by description.
  2. MODEL:
    'MODEL=model'
    to filter by feature rule key
  3. PARTNER_ID:
    'PARTNER_ID=partnerId'
    to filter by feature rule value
  4. FIRMWARE_VERSION:
    'FIRMWARE_VERSION=firmwareVersion'
    to filter by feature name.
  5. REGULAR_EXPRESSION:
    'REGULAR_EXPRESSION=regularExpression'
  6. APPLICATION_TYPE:
    'APPLICATION_TYPE=stb'
    to filter by application type

Parameters could be combined: 

'?APPLICATION_TYPE=stb&MODEL=modelId'


Import activation version:

If activation minimum version with provided id does not exist it is imported otherwise updated.

POST http://<host>:<port>/amv/importAll

Headers: Accept = application/json Content-Type = application/json

Request body is list of activation minimum version:

Code Block
languagephp
themeConfluence
[
	{
        "id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
        "applicationType": "stb",
        "description": "Activation Version",
        "regularExpressions": [],
        "model": "MX011AN",
        "firmwareVersions": [
            "FIRMWARE_VERSION"
        ]
    }
]

Return list of imported and not imported activation minimum version IDs:

Response body:


Code Block
languagephp
themeConfluence
{
    "NOT_IMPORTED": [],
    "IMPORTED": ["42670af7-6ea2-485f-9aee-1fa5895d655b"]
}

Response codes: 200, 400, 404, 409

Create activation minimum version

POST http://<host>:<port>/amv

Headers: Accept = application/json Content-Type = application/json

Request body is activation minimum version json object

Code Block
languagephp
themeConfluence
{
	"id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
    "applicationType": "stb",
    "description": "Activation Version",
    "regularExpressions": [],
    "model": "MX011AN",
    "firmwareVersions": [
        "FIRMWARE_VERSION"
    ]
}

Response codes : 201, 400, 404, 409.

Response body: created activation minimum version.


Update activation minimum version


PUT http://<host>:<port>/amv Headers: Accept = application/json Content-Type = application/json

Request body is activation minimum version json object

Code Block
languagephp
themeConfluence
{
	"id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
    "applicationType": "stb",
    "description": "Activation Version",
    "regularExpressions": [],
    "model": "MX011AN",
    "firmwareVersions": [
        "FIRMWARE_VERSION"
    ]
}

Response codes: 201, 400, 404, 409.

Response body: created activation minimum version.


Delete activation minimum version

DELETE http://<host>:<port>/amv/{id}

Response codes: 204, 404, 409.