losant_rest 1.15.1 → 1.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/docs/_schemas.md +12170 -4718
  4. data/docs/application.md +3 -4
  5. data/docs/applicationDashboard.md +43 -0
  6. data/docs/applications.md +3 -2
  7. data/docs/devices.md +40 -0
  8. data/docs/flows.md +38 -0
  9. data/docs/instanceCustomNode.md +222 -0
  10. data/docs/instanceCustomNodes.md +91 -0
  11. data/lib/losant_rest/application.rb +1 -1
  12. data/lib/losant_rest/application_api_token.rb +1 -1
  13. data/lib/losant_rest/application_api_tokens.rb +1 -1
  14. data/lib/losant_rest/application_certificate.rb +1 -1
  15. data/lib/losant_rest/application_certificate_authorities.rb +1 -1
  16. data/lib/losant_rest/application_certificate_authority.rb +1 -1
  17. data/lib/losant_rest/application_certificates.rb +1 -1
  18. data/lib/losant_rest/application_dashboard.rb +50 -1
  19. data/lib/losant_rest/application_dashboards.rb +1 -1
  20. data/lib/losant_rest/application_key.rb +1 -1
  21. data/lib/losant_rest/application_keys.rb +1 -1
  22. data/lib/losant_rest/application_template.rb +1 -1
  23. data/lib/losant_rest/application_templates.rb +1 -1
  24. data/lib/losant_rest/applications.rb +1 -1
  25. data/lib/losant_rest/audit_log.rb +1 -1
  26. data/lib/losant_rest/audit_logs.rb +1 -1
  27. data/lib/losant_rest/auth.rb +1 -1
  28. data/lib/losant_rest/client.rb +11 -3
  29. data/lib/losant_rest/dashboard.rb +1 -1
  30. data/lib/losant_rest/dashboards.rb +1 -1
  31. data/lib/losant_rest/data.rb +1 -1
  32. data/lib/losant_rest/data_table.rb +1 -1
  33. data/lib/losant_rest/data_table_row.rb +1 -1
  34. data/lib/losant_rest/data_table_rows.rb +1 -1
  35. data/lib/losant_rest/data_tables.rb +1 -1
  36. data/lib/losant_rest/device.rb +1 -1
  37. data/lib/losant_rest/device_recipe.rb +1 -1
  38. data/lib/losant_rest/device_recipes.rb +1 -1
  39. data/lib/losant_rest/devices.rb +50 -1
  40. data/lib/losant_rest/edge_deployment.rb +1 -1
  41. data/lib/losant_rest/edge_deployments.rb +1 -1
  42. data/lib/losant_rest/embedded_deployment.rb +1 -1
  43. data/lib/losant_rest/embedded_deployments.rb +1 -1
  44. data/lib/losant_rest/error.rb +1 -1
  45. data/lib/losant_rest/event.rb +1 -1
  46. data/lib/losant_rest/events.rb +1 -1
  47. data/lib/losant_rest/experience.rb +1 -1
  48. data/lib/losant_rest/experience_domain.rb +1 -1
  49. data/lib/losant_rest/experience_domains.rb +1 -1
  50. data/lib/losant_rest/experience_endpoint.rb +1 -1
  51. data/lib/losant_rest/experience_endpoints.rb +1 -1
  52. data/lib/losant_rest/experience_group.rb +1 -1
  53. data/lib/losant_rest/experience_groups.rb +1 -1
  54. data/lib/losant_rest/experience_slug.rb +1 -1
  55. data/lib/losant_rest/experience_slugs.rb +1 -1
  56. data/lib/losant_rest/experience_user.rb +1 -1
  57. data/lib/losant_rest/experience_users.rb +1 -1
  58. data/lib/losant_rest/experience_version.rb +1 -1
  59. data/lib/losant_rest/experience_versions.rb +1 -1
  60. data/lib/losant_rest/experience_view.rb +1 -1
  61. data/lib/losant_rest/experience_views.rb +1 -1
  62. data/lib/losant_rest/file.rb +1 -1
  63. data/lib/losant_rest/files.rb +1 -1
  64. data/lib/losant_rest/flow.rb +1 -1
  65. data/lib/losant_rest/flow_version.rb +1 -1
  66. data/lib/losant_rest/flow_versions.rb +1 -1
  67. data/lib/losant_rest/flows.rb +45 -1
  68. data/lib/losant_rest/instance.rb +1 -1
  69. data/lib/losant_rest/instance_api_token.rb +1 -1
  70. data/lib/losant_rest/instance_api_tokens.rb +1 -1
  71. data/lib/losant_rest/instance_custom_node.rb +282 -0
  72. data/lib/losant_rest/instance_custom_nodes.rb +136 -0
  73. data/lib/losant_rest/instance_member.rb +1 -1
  74. data/lib/losant_rest/instance_members.rb +1 -1
  75. data/lib/losant_rest/instance_org.rb +1 -1
  76. data/lib/losant_rest/instance_org_invite.rb +1 -1
  77. data/lib/losant_rest/instance_org_invites.rb +1 -1
  78. data/lib/losant_rest/instance_org_member.rb +1 -1
  79. data/lib/losant_rest/instance_org_members.rb +1 -1
  80. data/lib/losant_rest/instance_orgs.rb +1 -1
  81. data/lib/losant_rest/instances.rb +1 -1
  82. data/lib/losant_rest/integration.rb +1 -1
  83. data/lib/losant_rest/integrations.rb +1 -1
  84. data/lib/losant_rest/me.rb +1 -1
  85. data/lib/losant_rest/notebook.rb +1 -1
  86. data/lib/losant_rest/notebooks.rb +1 -1
  87. data/lib/losant_rest/org.rb +1 -1
  88. data/lib/losant_rest/org_invites.rb +1 -1
  89. data/lib/losant_rest/orgs.rb +1 -1
  90. data/lib/losant_rest/user_api_token.rb +1 -1
  91. data/lib/losant_rest/user_api_tokens.rb +1 -1
  92. data/lib/losant_rest/utils.rb +1 -1
  93. data/lib/losant_rest/version.rb +2 -2
  94. data/lib/losant_rest/webhook.rb +1 -1
  95. data/lib/losant_rest/webhooks.rb +1 -1
  96. data/lib/losant_rest.rb +3 -1
  97. data/schemas/apiTokenPost.json +13 -1
  98. data/schemas/application.json +1 -1
  99. data/schemas/applicationApplyTemplatePatch.json +5 -0
  100. data/schemas/applicationClonePost.json +5 -0
  101. data/schemas/applicationCreationByTemplateResult.json +1 -1
  102. data/schemas/applicationDashboardPost.json +162 -3
  103. data/schemas/applicationExportPost.json +4 -0
  104. data/schemas/applicationImportOptions.json +43 -0
  105. data/schemas/applicationPatch.json +1 -1
  106. data/schemas/applicationPost.json +1 -1
  107. data/schemas/applications.json +1 -1
  108. data/schemas/dashboard.json +162 -3
  109. data/schemas/dashboardPatch.json +162 -3
  110. data/schemas/dashboardPost.json +162 -3
  111. data/schemas/dashboardSendReport.json +20 -3
  112. data/schemas/dashboards.json +162 -3
  113. data/schemas/deviceNamesResponse.json +36 -0
  114. data/schemas/experienceBootstrapOptions.json +1 -1
  115. data/schemas/experienceLinkedResources.json +485 -5
  116. data/schemas/experienceSlug.json +1 -1
  117. data/schemas/experienceSlugPatch.json +1 -1
  118. data/schemas/experienceSlugPost.json +1 -1
  119. data/schemas/experienceSlugs.json +1 -1
  120. data/schemas/experienceUser.json +2 -1
  121. data/schemas/experienceUsers.json +2 -1
  122. data/schemas/flow.json +173 -0
  123. data/schemas/flowPatch.json +174 -0
  124. data/schemas/flowPost.json +174 -0
  125. data/schemas/flowVersion.json +312 -5
  126. data/schemas/flowVersionPost.json +156 -0
  127. data/schemas/flowVersions.json +312 -5
  128. data/schemas/flows.json +173 -0
  129. data/schemas/flowsImportPost.json +339 -2
  130. data/schemas/flowsImportResult.json +485 -5
  131. data/schemas/githubLogin.json +13 -1
  132. data/schemas/instanceCustomNode.json +589 -0
  133. data/schemas/instanceCustomNodePatch.json +674 -0
  134. data/schemas/instanceCustomNodePost.json +679 -0
  135. data/schemas/instanceCustomNodes.json +634 -0
  136. data/schemas/instanceMember.json +2 -2
  137. data/schemas/instanceMembers.json +2 -2
  138. data/schemas/instanceOrg.json +8 -0
  139. data/schemas/instanceOrgMember.json +2 -2
  140. data/schemas/instanceOrgs.json +8 -0
  141. data/schemas/integration.json +30 -2
  142. data/schemas/integrationPatch.json +30 -2
  143. data/schemas/integrationPost.json +30 -2
  144. data/schemas/integrations.json +30 -2
  145. data/schemas/me.json +2 -2
  146. data/schemas/mePatch.json +0 -1
  147. data/schemas/org.json +2 -2
  148. data/schemas/orgs.json +2 -2
  149. data/schemas/paletteResponse.json +785 -0
  150. data/schemas/userCredentials.json +13 -1
  151. data/schemas/userPost.json +13 -2
  152. metadata +13 -2
@@ -966,6 +966,147 @@
966
966
  ],
967
967
  "additionalProperties": false
968
968
  },
969
+ {
970
+ "type": "object",
971
+ "properties": {
972
+ "id": {
973
+ "type": "string",
974
+ "maxLength": 48
975
+ },
976
+ "title": {
977
+ "type": "string",
978
+ "maxLength": 255
979
+ },
980
+ "description": {
981
+ "type": "string",
982
+ "maxLength": 32767
983
+ },
984
+ "applicationId": {
985
+ "type": "string",
986
+ "pattern": "^[A-Fa-f\\d]{24}$"
987
+ },
988
+ "startX": {
989
+ "type": "number"
990
+ },
991
+ "startY": {
992
+ "type": "number"
993
+ },
994
+ "width": {
995
+ "type": "number"
996
+ },
997
+ "height": {
998
+ "type": "number"
999
+ },
1000
+ "blockType": {
1001
+ "type": "string",
1002
+ "enum": [
1003
+ "device-count"
1004
+ ]
1005
+ },
1006
+ "config": {
1007
+ "type": "object",
1008
+ "properties": {
1009
+ "segments": {
1010
+ "type": "array",
1011
+ "minItems": 1,
1012
+ "maxItems": 100,
1013
+ "items": {
1014
+ "type": "object",
1015
+ "properties": {
1016
+ "id": {
1017
+ "type": "string",
1018
+ "maxLength": 48
1019
+ },
1020
+ "query": {
1021
+ "type": "string",
1022
+ "maxLength": 32767
1023
+ }
1024
+ },
1025
+ "required": [
1026
+ "id",
1027
+ "query"
1028
+ ],
1029
+ "additionalProperties": false
1030
+ }
1031
+ },
1032
+ "conditions": {
1033
+ "type": "array",
1034
+ "maxItems": 100,
1035
+ "items": {
1036
+ "type": "object",
1037
+ "properties": {
1038
+ "color": {
1039
+ "type": "string",
1040
+ "maxLength": 64
1041
+ },
1042
+ "id": {
1043
+ "type": "string",
1044
+ "maxLength": 48
1045
+ },
1046
+ "label": {
1047
+ "type": "string",
1048
+ "maxLength": 32767
1049
+ },
1050
+ "condition": {
1051
+ "type": "string",
1052
+ "maxLength": 2048
1053
+ },
1054
+ "imageUrl": {
1055
+ "type": "string",
1056
+ "maxLength": 32767
1057
+ },
1058
+ "shape": {
1059
+ "type": "string",
1060
+ "enum": [
1061
+ "circle",
1062
+ "square",
1063
+ "triangle-down",
1064
+ "triangle-up",
1065
+ "octagon"
1066
+ ]
1067
+ }
1068
+ },
1069
+ "additionalProperties": false
1070
+ }
1071
+ },
1072
+ "defaultCondition": {
1073
+ "type": "object",
1074
+ "properties": {
1075
+ "color": {
1076
+ "type": "string",
1077
+ "maxLength": 64
1078
+ },
1079
+ "label": {
1080
+ "type": "string",
1081
+ "maxLength": 32767
1082
+ },
1083
+ "value": {
1084
+ "type": "string",
1085
+ "maxLength": 32767
1086
+ }
1087
+ },
1088
+ "required": [
1089
+ "color"
1090
+ ],
1091
+ "additionalProperties": false
1092
+ }
1093
+ },
1094
+ "required": [
1095
+ "segments",
1096
+ "defaultCondition"
1097
+ ],
1098
+ "additionalProperties": false
1099
+ }
1100
+ },
1101
+ "required": [
1102
+ "blockType",
1103
+ "startX",
1104
+ "startY",
1105
+ "width",
1106
+ "height"
1107
+ ],
1108
+ "additionalProperties": false
1109
+ },
969
1110
  {
970
1111
  "type": "object",
971
1112
  "properties": {
@@ -5302,6 +5443,11 @@
5302
5443
  "maxLength": 1024
5303
5444
  }
5304
5445
  },
5446
+ "callbackUrl": {
5447
+ "type": "string",
5448
+ "format": "uri",
5449
+ "maxLength": 1024
5450
+ },
5305
5451
  "subject": {
5306
5452
  "type": "string",
5307
5453
  "maxLength": 255
@@ -5324,12 +5470,25 @@
5324
5470
  "locale": {
5325
5471
  "type": "string",
5326
5472
  "maxLength": 5
5473
+ },
5474
+ "ctx": {
5475
+ "ref": "#/definitions/dashboardContextInstance"
5327
5476
  }
5328
5477
  },
5329
5478
  "additionalProperties": false,
5330
- "required": [
5331
- "cron",
5332
- "toEmail"
5479
+ "anyOf": [
5480
+ {
5481
+ "required": [
5482
+ "cron",
5483
+ "toEmail"
5484
+ ]
5485
+ },
5486
+ {
5487
+ "required": [
5488
+ "cron",
5489
+ "callbackUrl"
5490
+ ]
5491
+ }
5333
5492
  ]
5334
5493
  }
5335
5494
  },
@@ -974,6 +974,147 @@
974
974
  ],
975
975
  "additionalProperties": false
976
976
  },
977
+ {
978
+ "type": "object",
979
+ "properties": {
980
+ "id": {
981
+ "type": "string",
982
+ "maxLength": 48
983
+ },
984
+ "title": {
985
+ "type": "string",
986
+ "maxLength": 255
987
+ },
988
+ "description": {
989
+ "type": "string",
990
+ "maxLength": 32767
991
+ },
992
+ "applicationId": {
993
+ "type": "string",
994
+ "pattern": "^[A-Fa-f\\d]{24}$"
995
+ },
996
+ "startX": {
997
+ "type": "number"
998
+ },
999
+ "startY": {
1000
+ "type": "number"
1001
+ },
1002
+ "width": {
1003
+ "type": "number"
1004
+ },
1005
+ "height": {
1006
+ "type": "number"
1007
+ },
1008
+ "blockType": {
1009
+ "type": "string",
1010
+ "enum": [
1011
+ "device-count"
1012
+ ]
1013
+ },
1014
+ "config": {
1015
+ "type": "object",
1016
+ "properties": {
1017
+ "segments": {
1018
+ "type": "array",
1019
+ "minItems": 1,
1020
+ "maxItems": 100,
1021
+ "items": {
1022
+ "type": "object",
1023
+ "properties": {
1024
+ "id": {
1025
+ "type": "string",
1026
+ "maxLength": 48
1027
+ },
1028
+ "query": {
1029
+ "type": "string",
1030
+ "maxLength": 32767
1031
+ }
1032
+ },
1033
+ "required": [
1034
+ "id",
1035
+ "query"
1036
+ ],
1037
+ "additionalProperties": false
1038
+ }
1039
+ },
1040
+ "conditions": {
1041
+ "type": "array",
1042
+ "maxItems": 100,
1043
+ "items": {
1044
+ "type": "object",
1045
+ "properties": {
1046
+ "color": {
1047
+ "type": "string",
1048
+ "maxLength": 64
1049
+ },
1050
+ "id": {
1051
+ "type": "string",
1052
+ "maxLength": 48
1053
+ },
1054
+ "label": {
1055
+ "type": "string",
1056
+ "maxLength": 32767
1057
+ },
1058
+ "condition": {
1059
+ "type": "string",
1060
+ "maxLength": 2048
1061
+ },
1062
+ "imageUrl": {
1063
+ "type": "string",
1064
+ "maxLength": 32767
1065
+ },
1066
+ "shape": {
1067
+ "type": "string",
1068
+ "enum": [
1069
+ "circle",
1070
+ "square",
1071
+ "triangle-down",
1072
+ "triangle-up",
1073
+ "octagon"
1074
+ ]
1075
+ }
1076
+ },
1077
+ "additionalProperties": false
1078
+ }
1079
+ },
1080
+ "defaultCondition": {
1081
+ "type": "object",
1082
+ "properties": {
1083
+ "color": {
1084
+ "type": "string",
1085
+ "maxLength": 64
1086
+ },
1087
+ "label": {
1088
+ "type": "string",
1089
+ "maxLength": 32767
1090
+ },
1091
+ "value": {
1092
+ "type": "string",
1093
+ "maxLength": 32767
1094
+ }
1095
+ },
1096
+ "required": [
1097
+ "color"
1098
+ ],
1099
+ "additionalProperties": false
1100
+ }
1101
+ },
1102
+ "required": [
1103
+ "segments",
1104
+ "defaultCondition"
1105
+ ],
1106
+ "additionalProperties": false
1107
+ }
1108
+ },
1109
+ "required": [
1110
+ "blockType",
1111
+ "startX",
1112
+ "startY",
1113
+ "width",
1114
+ "height"
1115
+ ],
1116
+ "additionalProperties": false
1117
+ },
977
1118
  {
978
1119
  "type": "object",
979
1120
  "properties": {
@@ -5326,6 +5467,11 @@
5326
5467
  "maxLength": 1024
5327
5468
  }
5328
5469
  },
5470
+ "callbackUrl": {
5471
+ "type": "string",
5472
+ "format": "uri",
5473
+ "maxLength": 1024
5474
+ },
5329
5475
  "subject": {
5330
5476
  "type": "string",
5331
5477
  "maxLength": 255
@@ -5348,12 +5494,25 @@
5348
5494
  "locale": {
5349
5495
  "type": "string",
5350
5496
  "maxLength": 5
5497
+ },
5498
+ "ctx": {
5499
+ "ref": "#/definitions/dashboardContextInstance"
5351
5500
  }
5352
5501
  },
5353
5502
  "additionalProperties": false,
5354
- "required": [
5355
- "cron",
5356
- "toEmail"
5503
+ "anyOf": [
5504
+ {
5505
+ "required": [
5506
+ "cron",
5507
+ "toEmail"
5508
+ ]
5509
+ },
5510
+ {
5511
+ "required": [
5512
+ "cron",
5513
+ "callbackUrl"
5514
+ ]
5515
+ }
5357
5516
  ]
5358
5517
  }
5359
5518
  },
@@ -1,9 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-04/schema#",
3
3
  "type": "object",
4
- "required": [
5
- "toEmail"
6
- ],
7
4
  "properties": {
8
5
  "toEmail": {
9
6
  "type": "array",
@@ -15,6 +12,11 @@
15
12
  "maxLength": 1024
16
13
  }
17
14
  },
15
+ "callbackUrl": {
16
+ "type": "string",
17
+ "format": "uri",
18
+ "maxLength": 1024
19
+ },
18
20
  "subject": {
19
21
  "type": "string",
20
22
  "maxLength": 255
@@ -40,7 +42,22 @@
40
42
  "locale": {
41
43
  "type": "string",
42
44
  "maxLength": 5
45
+ },
46
+ "ctx": {
47
+ "ref": "#/definitions/dashboardContextInstance"
43
48
  }
44
49
  },
50
+ "anyOf": [
51
+ {
52
+ "required": [
53
+ "toEmail"
54
+ ]
55
+ },
56
+ {
57
+ "required": [
58
+ "callbackUrl"
59
+ ]
60
+ }
61
+ ],
45
62
  "additionalProperties": false
46
63
  }
@@ -105,6 +105,11 @@
105
105
  "maxLength": 1024
106
106
  }
107
107
  },
108
+ "callbackUrl": {
109
+ "type": "string",
110
+ "format": "uri",
111
+ "maxLength": 1024
112
+ },
108
113
  "subject": {
109
114
  "type": "string",
110
115
  "maxLength": 255
@@ -127,12 +132,25 @@
127
132
  "locale": {
128
133
  "type": "string",
129
134
  "maxLength": 5
135
+ },
136
+ "ctx": {
137
+ "ref": "#/definitions/dashboardContextInstance"
130
138
  }
131
139
  },
132
140
  "additionalProperties": false,
133
- "required": [
134
- "cron",
135
- "toEmail"
141
+ "anyOf": [
142
+ {
143
+ "required": [
144
+ "cron",
145
+ "toEmail"
146
+ ]
147
+ },
148
+ {
149
+ "required": [
150
+ "cron",
151
+ "callbackUrl"
152
+ ]
153
+ }
136
154
  ]
137
155
  }
138
156
  },
@@ -1095,6 +1113,147 @@
1095
1113
  ],
1096
1114
  "additionalProperties": false
1097
1115
  },
1116
+ {
1117
+ "type": "object",
1118
+ "properties": {
1119
+ "id": {
1120
+ "type": "string",
1121
+ "maxLength": 48
1122
+ },
1123
+ "title": {
1124
+ "type": "string",
1125
+ "maxLength": 255
1126
+ },
1127
+ "description": {
1128
+ "type": "string",
1129
+ "maxLength": 32767
1130
+ },
1131
+ "applicationId": {
1132
+ "type": "string",
1133
+ "pattern": "^[A-Fa-f\\d]{24}$"
1134
+ },
1135
+ "startX": {
1136
+ "type": "number"
1137
+ },
1138
+ "startY": {
1139
+ "type": "number"
1140
+ },
1141
+ "width": {
1142
+ "type": "number"
1143
+ },
1144
+ "height": {
1145
+ "type": "number"
1146
+ },
1147
+ "blockType": {
1148
+ "type": "string",
1149
+ "enum": [
1150
+ "device-count"
1151
+ ]
1152
+ },
1153
+ "config": {
1154
+ "type": "object",
1155
+ "properties": {
1156
+ "segments": {
1157
+ "type": "array",
1158
+ "minItems": 1,
1159
+ "maxItems": 100,
1160
+ "items": {
1161
+ "type": "object",
1162
+ "properties": {
1163
+ "id": {
1164
+ "type": "string",
1165
+ "maxLength": 48
1166
+ },
1167
+ "query": {
1168
+ "type": "string",
1169
+ "maxLength": 32767
1170
+ }
1171
+ },
1172
+ "required": [
1173
+ "id",
1174
+ "query"
1175
+ ],
1176
+ "additionalProperties": false
1177
+ }
1178
+ },
1179
+ "conditions": {
1180
+ "type": "array",
1181
+ "maxItems": 100,
1182
+ "items": {
1183
+ "type": "object",
1184
+ "properties": {
1185
+ "color": {
1186
+ "type": "string",
1187
+ "maxLength": 64
1188
+ },
1189
+ "id": {
1190
+ "type": "string",
1191
+ "maxLength": 48
1192
+ },
1193
+ "label": {
1194
+ "type": "string",
1195
+ "maxLength": 32767
1196
+ },
1197
+ "condition": {
1198
+ "type": "string",
1199
+ "maxLength": 2048
1200
+ },
1201
+ "imageUrl": {
1202
+ "type": "string",
1203
+ "maxLength": 32767
1204
+ },
1205
+ "shape": {
1206
+ "type": "string",
1207
+ "enum": [
1208
+ "circle",
1209
+ "square",
1210
+ "triangle-down",
1211
+ "triangle-up",
1212
+ "octagon"
1213
+ ]
1214
+ }
1215
+ },
1216
+ "additionalProperties": false
1217
+ }
1218
+ },
1219
+ "defaultCondition": {
1220
+ "type": "object",
1221
+ "properties": {
1222
+ "color": {
1223
+ "type": "string",
1224
+ "maxLength": 64
1225
+ },
1226
+ "label": {
1227
+ "type": "string",
1228
+ "maxLength": 32767
1229
+ },
1230
+ "value": {
1231
+ "type": "string",
1232
+ "maxLength": 32767
1233
+ }
1234
+ },
1235
+ "required": [
1236
+ "color"
1237
+ ],
1238
+ "additionalProperties": false
1239
+ }
1240
+ },
1241
+ "required": [
1242
+ "segments",
1243
+ "defaultCondition"
1244
+ ],
1245
+ "additionalProperties": false
1246
+ }
1247
+ },
1248
+ "required": [
1249
+ "blockType",
1250
+ "startX",
1251
+ "startY",
1252
+ "width",
1253
+ "height"
1254
+ ],
1255
+ "additionalProperties": false
1256
+ },
1098
1257
  {
1099
1258
  "type": "object",
1100
1259
  "properties": {
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "deviceSummary": {
6
+ "type": "array",
7
+ "items": {
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "type": "string",
12
+ "pattern": "^[A-Fa-f\\d]{24}$"
13
+ },
14
+ "deviceClass": {
15
+ "type": "string",
16
+ "enum": [
17
+ "standalone",
18
+ "gateway",
19
+ "peripheral",
20
+ "floating",
21
+ "edgeCompute",
22
+ "system",
23
+ "embedded"
24
+ ]
25
+ },
26
+ "name": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "maxLength": 255
30
+ }
31
+ }
32
+ },
33
+ "maxItems": 1000
34
+ }
35
+ }
36
+ }
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "slug": {
18
18
  "type": "string",
19
- "minLength": 4,
19
+ "minLength": 3,
20
20
  "maxLength": 63,
21
21
  "pattern": "^[0-9a-z-]*$"
22
22
  }