RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
Table of Contents |
---|
Info | ||
---|---|---|
| ||
A reference setup of the xconf dataservice is available at https://xconf.rdkcentral.com:9092/ for the community members to get acquainted with xconf. You can replace the <host> , <port> and protocol as xconf.rdkcentral.com, 9092 and https respectively in the placeholders mentioned below in the request samples. Or if you have deployed your own server instance then replace the host and port accordinngly. |
...
Code Block | ||||
---|---|---|---|---|
| ||||
Accept = application/json OR application/xml applicationType parameter is not required, default value is stb Response: 200 OK OR 400 BAD REQUEST |
Request: http://localhost<host>:9091<port>/queries/firmwares.json OR http://localhost<host>:9091<port>/queries/firmwares
JSON response:
...
Response: 200 OK
Request:
http://localhost<host>:9091<port>/queries/firmwares/b65962b5-1481-4eed-a010-2abfa8c3bbfd
OR
http://localhost<host>:9091<port>/queries/firmwares/b65962b5-1481-4eed-a010-2abfa8c3bbfd.json
...
Response: 200 OK OR 400 BAD REQUEST (if application type has a wrong value)
Request:
http://localhost<host>:9091<port>/queries/firmwares/model/YETST.json
OR
http://localhost<host>:9091<port>/queries/firmwares/model/YETST
...
Responce: 200 OK and saved object (see get request for example); 400 BAD REQUEST (by validation error); 500 INTERNAL SERVER ERROR
Request:
http://localhost<host>:9091<port>/updates/firmwares.json
OR
http://localhost<host>:9091<port>/updates/firmwares
Restrictions:
...
Response: 204 NO CONTENT and text message: Firmware config successfully deleted OR Config doesn't exist.
Request:
http://localhost<host>:9091<port>/delete/firmwares/b65962b5-1481-4eed-a010-2abfa8c3bbfd
...
Response: 200 OK OR 400 BAD REQUEST (if application type has a wrong value)
Request:
http://localhost<host>:9091<port>/queries/rules/ips.json
OR
http://localhost<host>:9091<port>/queries/rules/ips
JSON response
...
Response: 200 OK OR 400 BAD REQUEST (if application type has a wrong value)
Request:
http://localhost<host>:9091<port>/queries/rules/ips/fsd.json
OR
http://localhost<host>:9091<port>/queries/rules/ips/fsd
JSON response
...
Name, environmentId, modelId should be not empty, IP address group should be specified
Request:
http://localhost<host>:9091<port>/updates/rules/ips.json
OR
http://localhost<host>:9091<port>/updates/rules/ips
JSON request
...
Response: 204 NO CONTENT and message: IpRule successfully deleted OR Rule doesn't exists, 400 BAD REQUEST if applicationType is not valid;
Request: http://localhost<host>:9091<port>/delete/rules/ips/ruleName
...
Response: 200 OK OR 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/filters/locations.json
OR
http://localhost<host>:9091<port>/queries/filters/locations
...
Response: 200 OK
Request:
http://localhost<host>:9091<port>/queries/filters/locations/name.json
OR
http://localhost<host>:9091<port>/queries/filters/locations/name
...
Condition, models, environments, IPv4, location, any location (HTTP or firmware), IPv4/IPv6 should be valid
Request:
http://localhost<host>:9091<port>/updates/filters/locations.json
OR
http://localhost<host>:9091<port>/updates/filters/locations
...
Code Block | ||||
---|---|---|---|---|
| ||||
{ "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 http://<host>:<port>/delete/filters/locations/{locationFilterName}?applicationType={type}
...
Response: 204 NO CONTENT and message: Location filter successfully deleted OR Filter doesn't exist with name: <filterName>, 400 BAD REQUEST if applicationType is not valid
Request: http://localhost<host>:9091<port>/delete/filters/location/name
...
Response: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/filters/downloadlocation.json
OR
http://localhost<host>:9091<port>/queries/filters/downloadlocation
...
Location URL, IPv4/IPv6 should be valid, percentage should be positive and within [0, 100], locations should be not duplicated
Request:
http://localhost<host>:9091<port>/updates/filters/downloadlocation.json
OR
http://localhost<host>:9091<port>/updates/filters/downloadlocation.json
...
Response: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/rules/envModels.json
OR
http://localhost<host>:9091<port>/queries/rules/envModels
JSON response
...
Response: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/rules/envModels/testName.json
OR
http://localhost<host>:9091<port>/queries/rules/envModels/testName.json
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
If EnvModelRule is missing it will be being created, otherwise updated. For update operation id field is not needed.
...
Name, environment, model should be not empty, name is used only once, env/model should not overlap each other
Request:
http://localhost<host>:9091<port>/updates/rules/envModels.json
OR
http://localhost<host>:9091<port>/updates/rules/envModels
JSON request
...
Response: 204 NO CONTENT and message: Rule successfully deleted OR Rule doesn't exist with name: <ruleName>, 400 if applicationType is not valid
Request: http://localhost<host>:9091<port>/delete/rules/envModels/testName.json
IP filter
...
Responce: 200 OK, 400 BAD REQUEST
Request:
http://localhost<host>:9091<port>/queries/filters/ips.json
OR
http://localhost<host>:9091<port>/queries/filters/ips
JSON response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
GET http://<host>:<port>/queries/filters/ips/{ipFilterName}?applicationType={type}
...
Responce: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/filters/ips/namef.json
OR
http://localhost<host>:9091<port>/queries/filters/ips/namef.json
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
If IpFilter is missing it will be being created, otherwise updated. For update operation id field is not needed.
...
Name, IP address group should be not empty
Request:
http://localhost<host>:9091<port>/updates/filters/ips.json
OR
http://localhost<host>:9091<port>/updates/filters/ips
JSON request
...
Response: 204 NO CONTENT and message: IpFilter successfully deleted OR Filter doesn't exist with name: <filterName>, 400 BAD REQUEST if applicationType is not valid
Request: http://localhost<host>:9091<port>/delete/filters/ips/namef
GET http://<host>:<port>/queries/filters/percent?applicationType={type}
...
Responce: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request:
http://localhost<host>:9091<port>/queries/filters/percent.json
OR
http://localhost<host>:9091<port>/queries/filters/percent
Note
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
GET http://<host>:<port>/queries/filters/percent?field=fieldName&applicationType={type}
...
Responce: 200 OK, 400 BAD REQUEST if applicationType is not valid
Request: http://localhost<host>:9091<port>/queries/filters/percent?field=fieldName
...
Percentage should be positive and within [0, 100],
Request:
http://localhost<host>:9091<port>/updates/filters/percent.json
OR
http://localhost<host>:9091<port>/updates/filters/percent
JSON request
...
Responce: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/percentageBean
JSON response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
GET http://<host>:<port>/queries/percentageBean/id
...
Responce: 200 OK OR 404 if envModelPercentage is not found
Request: http://localhost<host>:9091<port>/queries/percentageBean/4c2cea9e-c1be-4219-8f2a-70084f1cb648
...
Responce: 200 OK, 404 NOT FOUND, 409 CONFLICT, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/percentageBean
Restrictions:
...
Responce: 200 OK, 404 NOT FOUND, 409 CONFLICT, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/percentageBean
Restrictions:
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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 http://<host>:<port>/delete/percentageBean/id
...
Response: 204 NO CONTENT OR 404 NOT FOUND
Request example: http://localhost<host>:9091<port>/delete/percentageBean/testId
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/filters/time.json OR http://localhost<host>:9091<port>/queries/filters/time
JSON response
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/filters/time/xcc.td.json OR http://localhost<host>:9091<port>/queries/filters/time/xcc.td
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
If time filter is missing it will be being created, otherwise updated. For update operation id field is not needed.
...
Name should be unique
Request: http://localhost<host>:9091<port>/updates/filters/time.json OR http://localhost<host>:9091<port>/updates/filters/time
JSON request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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 http://<host>:<port>/delete/filters/time/{timeFilterName}?applicationType={type}
...
Response: 204 NO CONTENT and message: Time Filter successfully deleted OR Filter doesn't exist with name: <filterName>
Request example: http://localhost<host>:9091<port>/delete/filters/time/name
...
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/environments OR http://localhost<host>:9091<port>/queries/environments.json
...
Code Block | ||||
---|---|---|---|---|
| ||||
[{"id":"DEV","description":"ff"},{"id":"TEST","description":"do not delete"}] |
GET http://<host>:<port>/queries/environments/<environmentId>
...
Response: 200 OK; 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/environments/DEV OR http://localhost<host>:9091<port>/queries/environments/DEV.json
...
Code Block | ||||
---|---|---|---|---|
| ||||
<Environment> <id>DEV</id> <description>ff</description> </Environment> |
POST http://<host>:<port>/updates/environments
...
Environment name should be valid by pattern: ^[a-zA-Z0-9]+$, name should be unique
Request: http://localhost<host>:9091<port>/updates/environments OR http://localhost<host>:9091<port>/updates/environments.json
...
Code Block | ||||
---|---|---|---|---|
| ||||
{"id":"testName","description":"some description"} |
DELETE http://<host>:<port>/delete/environments/<environmentId>
...
Environment should be not used
Request: http://localhost<host>:9091<port>/delete/environments/DEV
...
Request: Request: http://localhost<host>:9091<port>/queries/ipAddressGroups OR http://localhost<host>:9091<port>/queries/ipAddressGroups.json
...
Response: 200 OK; 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/ipAddressGroups/byName/test/.json OR http://localhost<host>:9091<port>/queries/ipAddressGroups/byName/test/
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ipAddresses> </ipAddresses> </item> </ArrayList> |
GET http://<host>:<port>/queries/ipAddressGroups/byIp/<ipAddressGroupIp>/
...
Response: 200 OK; 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/ipAddressGroups/byIp/192.11.11.121/.json OR http://localhost<host>:9091<port>/queries/ipAddressGroups/byIp/192.11.11.121/
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>2c184325-f9eb-4edc-85c3-5b6466fc3c5c</id> <name>test</name> <ipAddresses> <ipAddresses>192.11.11.11</ipAddresses> </ipAddresses> </item> </ArrayList> |
POST http://<host>:<port>/updates/ipAddressGroups
...
Name should be not empty and unique
Request: http://localhost<host>:9091<port>/updates/ipAddressGroups.json OR http://localhost<host>:9091<port>/updates/ipAddressGroups
XML request
...
Code Block | ||||
---|---|---|---|---|
| ||||
{"id":"2c184325-f9eb-4edc-85c3-5b6466fc3c5c","name":"test","ipAddresses":["192.11.11.11"]} |
POST http://<host>:<port>/updates/ipAddressGroups/<ipAddressGroup_name>/addData
...
ipAddressGroup with current id should be exist, see restrictions for create operation
Request: http://localhost<host>:9091<port>/updates/ipAddressGroups/ipAddressGroup_name/addData.json OR http://localhost<host>:9091<port>/updates/ipAddressGroups/ipAddressGroup_name/addData
...
List contains IPs, which should be present in current Namespaced list, namespaced list should contain at least one IP address, and restrictions for create operation
Request: http://localhost<host>:9091<port>/updates/ipAddressGroups/ipAddressGroup_name/removeData.json OR http://localhost<host>:9091<port>/updates/ipAddressGroups/ipAddressGroup_name/removeData
...
Code Block | ||||
---|---|---|---|---|
| ||||
<StringListWrapper> <list> <list>1.1.1.1</list> </list> </StringListWrapper> |
DELETE http://<host>:<port>/delete/ipAddressGroups/<ipAddressGroupId>
...
IP address group should be not used
Request: http://localhost<host>:9091<port>/delete/ipAddressGroups/607b315b-c744-4c43-87fa-51b17aa92b09
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/rules/macs.json OR http://localhost<host>:9091<port>/queries/rules/macs
JSON response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
GET http://<host>:<port>/queries/rules/macs?version=2&applicationType={type}
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/rules/macs.json?version=2 OR http://localhost<host>:9091<port>/queries/rules/macs?version=2
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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> |
GET http://<host>:<port>/queries/rules/macs/{macRuleName}?applicationType={type}
...
Response: 200 OK;
Request: http://localhost<host>:9091<port>/queries/rules/macs/test.json OR http://localhost<host>:9091<port>/queries/rules/macs/test
JSON response
...
Response: 200 OK;
Request: http://localhost<host>:9091<port>/queries/rules/macs/test.json?version=2 OR http://localhost<host>:9091<port>/queries/rules/macs/test?version=2
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/rules/macs/address/AA:AA:AA:AA:AA:AA.json OR http://localhost<host>:9091<port>/queries/rules/macs/address/AA:AA:AA:AA:AA:AA
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/rules/macs/address/AA:AA:AA:AA:AA:AA.json?version=2 OR http://localhost<host>:9091<port>/queries/rules/macs/address/AA:AA:AA:AA:AA:AA?version=2
...
Name, mac address list, model list, mac list, firmware configuration should be not empty, mac address list is never used in another rule, model list contain only existed model, firmware config should support given models
Request: http://localhost<host>:9091<port>/updates/rules/macs.json OR http://localhost<host>:9091<port>/updates/rules/macs
JSON request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<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 http://<host>:<port>/delete/rules/macs/{macRuleName}?applicationType={type}
...
Response: 204 NO CONTENT and message: MacRule does'n exist OR MacRule deleted successfully, 400 BAD REQUEST
Request example: http://localhost<host>:9091<port>/delete/rules/macs/macRuleName
...
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/models.json OR http://localhost<host>:9091<port>/queries/models
JSON response
...
Response: 200 OK; 204 NO CONTENT
Request: http://localhost<host>:9091<port>/queries/models/YETST.json OR http://localhost<host>:9091<port>/queries/models/YETST
JSON response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<Model> <id>YETST</id> <description></description> </Model> |
POST http://<host>:<port>/updates/models
...
Model name should be unique and valid by pattern: ^[a-zA-Z0-9]+$
Request: http://localhost<host>:9091<port>/updates/models.json OR http://localhost<host>:9091<port>/updates/models
JSON request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<Model> <id>YETST</id> <description></description> </Model> |
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 | ||||
---|---|---|---|---|
| ||||
{
"id": "test",
"description": "description update"
} |
XML Request
Code Block | ||||
---|---|---|---|---|
| ||||
<Model><id>test</id><description>description update</description></Model> |
DELETE http://<host>:<port>/delete/models/<modelId>
...
Model should be not used in another places
Request: http://localhost<host>:9091<port>/delete/models/YETST
...
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/nsLists.json OR http://localhost<host>:9091<port>/queries/nsLists
JSON response
...
Code Block | ||||
---|---|---|---|---|
| ||||
<ArrayList> <item> <id>macs</id> <data> <data>AA:AA:AA:AA:AA:AA</data> </data> </item> </ArrayList> |
GET http://<host>:<port>/queries/nsLists/byId/<nsListId>
...
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/nsLists/byId/macs.json OR http://localhost<host>:9091<port>/queries/nsLists/byId/macs
...
Response: 200 OK
Request: http://localhost<host>:9091<port>/queries/nsLists/byMacPart/AA:AA.json OR http://localhost<host>:9091<port>/queries/nsLists/byMacPart/AA:AA
...
Code Block | ||||
---|---|---|---|---|
| ||||
<NamespacedList> <id>macs</id> <data> <data>AA:AA:AA:AA:AA:AA</data> </data></NamespacedList> |
POST http://<host>:<port>/updates/nsLists
...
Name should be valid by pattern: ^[a-zA-Z0-9]+$, list data should be not empty and contain valid mac addresses, mac address should be used only in one NS list
Request: http://localhost<host>:9091<port>/updates/nsLists.json OR http://localhost<host>:9091<port>/updates/nsLists
JSON request
...
Code Block | ||||
---|---|---|---|---|
| ||||
<NamespacedList> <id>macs</id> <data> <data>AA:AA:AA:AA:AA:AA</data> </data> </NamespacedList> |
POST http://<host>:<port>/updates/nsLists/<nsListId>/addData
...
NS list with current id should be exist, see restrictions for create operation
Request: http://localhost<host>:9091<port>/updates/nsLists/listName/addData.json OR http://localhost<host>:9091<port>/updates/nsLists/listName/addData
...
Code Block | ||||
---|---|---|---|---|
| ||||
<StringListWrapper> <list> <list>11:22:33:44:55:66</list> </list> </StringListWrapper> |
DELETE http://<host>:<port>/updates/nsLists/<nsListId>/removeData
...
List contains MACs, which should be present in current Namespaced list, namespaced list should contain at least one MAC address, and restrictions for create operation
Request: http://localhost<host>:9091<port>/updates/nsLists/listName/removeData.json OR http://localhost<host>:9091<port>/updates/nsLists/listName/removeData
...
Code Block | ||||
---|---|---|---|---|
| ||||
<StringListWrapper> <list> <list>11:22:33:44:55:66</list> </list> </StringListWrapper> |
DELETE http://<host>:<port>/delete/nsLists/<nsListId>
...
NS list should be not used in another places
Request: http://localhost<host>:9091<port>/delete/nsLists/listName.json OR http://localhost<host>:9091<port>/delete/nsLists/listName
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/filters/ri.json OR http://localhost<host>:9091<port>/queries/filters/ri
JSON response
...
Response: 200 OK, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/queries/filters/ri/testName.json OR http://localhost<host>:9091<port>/queries/filters/ri/testName
...
Name should be not empty, at least one of filter criteria should be specified, mac addresses should be valid
Request: http://localhost<host>:9091<port>/updates/filters/ri.json OR http://localhost<host>:9091<port>/updates/filters/ri
JSON request
...
Response: 204 NO CONTENT and message: Filter does't exist OR Successfully deleted, 400 BAD REQUEST
Request: http://localhost<host>:9091<port>/delete/filters/ri/testName
...
{"firmwareVersions":["PR150BN_2.1p5s2_VBN_HYBse","PXD01ANI_2.1p10s1_PROD_sdy"]}
GET http://<host>:<port>/firmwareruletemplate/filtered?name=MAC_RULE&key=someKey
Headers: Accept = application/json, Content-Type = application/json
Request params:
Parameters could be combined:
'?name=someName&value=testValue'
POST http://<host>:<port>/firmwareruletemplate/importAll
Headers: Accept = application/json
Content-Type = application/json
Request body is list of firmware rule templates:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"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 | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": []
} |
Response codes: 200, 400, 404, 409
GET http://<host>:<port>/firmwarerule Headers: Accept = application/json
Response body
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"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"
}
] |
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.
Parameters could be combined:
'?applicationType=stb&value=someValue'
POST http://<host>:<port>/firmwarerule/importAll
Headers: Accept = application/json Content-Type = application/json
Request body is list of firmware rules:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"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 | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": ["testName"]
} |
Response codes: 200, 400, 404, 409
GET http://<host>:<port>/feature
Headers: Accept = application/json
Response body
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "27a9d55e-0f0c-4809-b171-8357613f0efa",
"name": "name",
"featureName": "featureName",
"effectiveImmediate": false,
"enable": false,
"whitelisted": false,
"configData": {
"key1": "value1"
},
"whitelistProperty": {},
"applicationType": "stb"
}
] |
GET http://<host>:<port>/feature/filtered?
Headers: Accept = application/json, Content-Type = application/json
Request params:
'APPLICATION_TYPE' param is required.
Parameters could be combined:
'?APPLICATION_TYPE=stb&FIXED_ARG=someValue'
POST http://<host>:<port>/feature/importAll
Headers: Accept = application/json Content-Type = application/json
Request body is list of features:
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"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 | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": ["featureID"]
} |
Response codes: 200, 400, 409
POST http://<host>:<port>/feature
Headers: Accept = application/json Content-Type = application/json
Request body is feature json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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.
PUT http://<host>:<port>/feature
Headers: Accept = application/json Content-Type = application/json
Request body is feature json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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 http://<host>:<port>/feature/{id}
Response codes: 204, 404, 409.
GET http://<host>:<port>/featurerule
Headers: Accept = application/json
Response body
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"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.
GET http://<host>:<port>/featurerule/filtered?
Headers: Accept = application/json, Content-Type = application/json
Request params:
'APPLICATION_TYPE' param is required.
Parameters could be combined:
'?APPLICATION_TYPE=stb&FIXED_ARG=someValue'
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 | ||||
---|---|---|---|---|
| ||||
[
{
"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 | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": ["featureRuleId"]
} |
Response codes: 200, 400, 404, 409
POST http://<host>:<port>/featurerule
Headers: Accept = application/json Content-Type = application/json
Request body is feature rule json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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.
PUT http://<host>:<port>/featurerule
Headers: Accept = application/json Content-Type = application/json
Request body is feature rule json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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 http://<host>:<port>/featurerule/{id}
Response codes: 204, 404, 409.
GET http://<host>:<port>/amv
Headers: Accept = application/json
Response body
Code Block | ||||
---|---|---|---|---|
| ||||
[
{
"id": "42670af7-6ea2-485f-9aee-1fa5895d655b",
"applicationType": "stb",
"description": "Activation Version",
"regularExpressions": [],
"model": "MX011AN",
"firmwareVersions": [
"FIRMWARE_VERSION"
]
}
] |
Response codes: 200.
GET http://<host>:<port>/amv/filtered?
Headers: Accept = application/json, Content-Type = application/json
Request params:
'applicationType' param is required.
Parameters could be combined:
'?APPLICATION_TYPE=stb&MODEL=modelId'
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 | ||||
---|---|---|---|---|
| ||||
[
{
"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 | ||||
---|---|---|---|---|
| ||||
{
"NOT_IMPORTED": [],
"IMPORTED": ["42670af7-6ea2-485f-9aee-1fa5895d655b"]
}
|
Response codes: 200, 400, 404, 409
POST http://<host>:<port>/amv
Headers: Accept = application/json Content-Type = application/json
Request body is activation minimum version json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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.
PUT http://<host>:<port>/amv Headers: Accept = application/json Content-Type = application/json
Request body is activation minimum version json object
Code Block | ||||
---|---|---|---|---|
| ||||
{
"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 http://<host>:<port>/amv/{id}
Response codes: 204, 404, 409.