losant_rest 1.7.2 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/docs/_schemas.md +7347 -4603
  3. data/docs/application.md +47 -0
  4. data/docs/applicationApiToken.md +3 -0
  5. data/docs/applicationApiTokens.md +2 -0
  6. data/docs/applicationKey.md +3 -0
  7. data/docs/applicationKeys.md +2 -0
  8. data/docs/applications.md +2 -0
  9. data/docs/auditLog.md +1 -0
  10. data/docs/auditLogs.md +1 -0
  11. data/docs/auth.md +4 -0
  12. data/docs/dashboard.md +4 -0
  13. data/docs/dashboards.md +2 -0
  14. data/docs/data.md +2 -0
  15. data/docs/dataTable.md +5 -0
  16. data/docs/dataTableRow.md +3 -0
  17. data/docs/dataTableRows.md +9 -3
  18. data/docs/dataTables.md +2 -0
  19. data/docs/device.md +12 -0
  20. data/docs/deviceRecipe.md +4 -0
  21. data/docs/deviceRecipes.md +2 -0
  22. data/docs/devices.md +4 -0
  23. data/docs/edgeDeployments.md +4 -0
  24. data/docs/event.md +3 -0
  25. data/docs/events.md +4 -0
  26. data/docs/experience.md +52 -8
  27. data/docs/experienceDomain.md +3 -0
  28. data/docs/experienceDomains.md +2 -0
  29. data/docs/experienceEndpoint.md +4 -0
  30. data/docs/experienceEndpoints.md +9 -1
  31. data/docs/experienceGroup.md +3 -0
  32. data/docs/experienceGroups.md +2 -0
  33. data/docs/experienceSlug.md +133 -0
  34. data/docs/experienceSlugs.md +87 -0
  35. data/docs/experienceUser.md +3 -0
  36. data/docs/experienceUsers.md +2 -0
  37. data/docs/experienceVersion.md +133 -0
  38. data/docs/experienceVersions.md +93 -0
  39. data/docs/experienceView.md +4 -0
  40. data/docs/experienceViews.md +3 -0
  41. data/docs/file.md +4 -0
  42. data/docs/files.md +2 -0
  43. data/docs/flow.md +8 -0
  44. data/docs/flowVersion.md +4 -0
  45. data/docs/flowVersions.md +2 -0
  46. data/docs/flows.md +54 -1
  47. data/docs/integration.md +3 -0
  48. data/docs/integrations.md +2 -0
  49. data/docs/me.md +19 -3
  50. data/docs/org.md +10 -0
  51. data/docs/orgInvites.md +2 -0
  52. data/docs/orgs.md +2 -0
  53. data/docs/solution.md +3 -0
  54. data/docs/solutionUser.md +3 -0
  55. data/docs/solutionUsers.md +2 -0
  56. data/docs/solutions.md +2 -0
  57. data/docs/webhook.md +3 -0
  58. data/docs/webhooks.md +2 -0
  59. data/lib/losant_rest/application.rb +47 -0
  60. data/lib/losant_rest/client.rb +18 -2
  61. data/lib/losant_rest/data_table_rows.rb +3 -3
  62. data/lib/losant_rest/experience.rb +62 -11
  63. data/lib/losant_rest/experience_endpoint.rb +2 -0
  64. data/lib/losant_rest/experience_endpoints.rb +11 -1
  65. data/lib/losant_rest/experience_slug.rb +174 -0
  66. data/lib/losant_rest/experience_slugs.rb +124 -0
  67. data/lib/losant_rest/experience_version.rb +174 -0
  68. data/lib/losant_rest/experience_versions.rb +136 -0
  69. data/lib/losant_rest/experience_view.rb +2 -0
  70. data/lib/losant_rest/experience_views.rb +2 -0
  71. data/lib/losant_rest/flows.rb +66 -1
  72. data/lib/losant_rest/version.rb +1 -1
  73. data/lib/losant_rest.rb +4 -0
  74. data/schemas/apiTokens.json +128 -0
  75. data/schemas/application.json +6 -0
  76. data/schemas/applicationApiTokenPost.json +18 -0
  77. data/schemas/applications.json +6 -0
  78. data/schemas/dataTableRowInMultiple.json +20 -0
  79. data/schemas/dataTableRowInsert.json +42 -0
  80. data/schemas/dataTableRowInsertResult.json +54 -0
  81. data/schemas/edgeDeployment.json +119 -0
  82. data/schemas/emailVerificationVerify.json +20 -0
  83. data/schemas/experienceBootstrapOptions.json +25 -0
  84. data/schemas/experienceBootstrapResult.json +16 -0
  85. data/schemas/experienceDomain.json +5 -0
  86. data/schemas/experienceDomainPatch.json +12 -0
  87. data/schemas/experienceDomainPost.json +12 -0
  88. data/schemas/experienceDomains.json +5 -0
  89. data/schemas/experienceSlug.json +37 -0
  90. data/schemas/experienceSlugPatch.json +25 -0
  91. data/schemas/experienceSlugPost.json +28 -0
  92. data/schemas/experienceSlugs.json +57 -0
  93. data/schemas/experienceVersion.json +82 -0
  94. data/schemas/experienceVersionPatch.json +19 -0
  95. data/schemas/experienceVersionPost.json +35 -0
  96. data/schemas/experienceVersions.json +102 -0
  97. data/schemas/file.json +3 -0
  98. data/schemas/files.json +3 -0
  99. data/schemas/flow.json +5 -0
  100. data/schemas/flowPatch.json +1 -0
  101. data/schemas/flowPost.json +2 -0
  102. data/schemas/flowVersion.json +622 -433
  103. data/schemas/flowVersionPost.json +1 -0
  104. data/schemas/flowVersions.json +622 -433
  105. data/schemas/flows.json +6 -0
  106. data/schemas/flowsImportPost.json +3 -0
  107. data/schemas/flowsImportResult.json +628 -434
  108. data/schemas/githubLogin.json +18 -0
  109. data/schemas/me.json +12 -0
  110. data/schemas/mqttPublishBody.json +20 -0
  111. data/schemas/org.json +12 -0
  112. data/schemas/orgs.json +12 -0
  113. data/schemas/passwordResetFinish.json +31 -0
  114. data/schemas/passwordResetInput.json +19 -0
  115. data/schemas/passwordResetResponse.json +18 -0
  116. data/schemas/solutionMe.json +150 -0
  117. data/schemas/userCredentials.json +18 -0
  118. data/schemas/userPost.json +388 -0
  119. metadata +32 -2
@@ -1,481 +1,670 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-04/schema#",
3
- "type": "object",
4
- "properties": {
5
- "id": {
6
- "type": "string",
7
- "pattern": "^[A-Fa-f\\d]{24}$"
8
- },
9
- "flowVersionId": {
10
- "type": "string",
11
- "pattern": "^[A-Fa-f\\d]{24}$"
12
- },
13
- "flowId": {
14
- "type": "string",
15
- "pattern": "^[A-Fa-f\\d]{24}$"
16
- },
17
- "applicationId": {
18
- "type": "string",
19
- "pattern": "^[A-Fa-f\\d]{24}$"
20
- },
21
- "creationDate": {
22
- "type": "string",
23
- "format": "date-time"
24
- },
25
- "lastUpdated": {
26
- "type": "string",
27
- "format": "date-time"
28
- },
29
- "version": {
30
- "type": "string",
31
- "minLength": 1,
32
- "maxLength": 255
33
- },
34
- "notes": {
35
- "type": "string",
36
- "maxLength": 32767
37
- },
38
- "enabled": {
39
- "type": "boolean"
40
- },
41
- "triggers": {
42
- "type": "array",
43
- "items": {
44
- "type": "object",
45
- "properties": {
46
- "key": {
47
- "type": "string",
48
- "maxLength": 1024
49
- },
50
- "type": {
51
- "type": "string",
52
- "enum": [
53
- "dataTable",
54
- "deviceCommand",
55
- "deviceId",
56
- "deviceIdConnect",
57
- "deviceIdDisconnect",
58
- "deviceIdInactivity",
59
- "deviceTag",
60
- "deviceTagConnect",
61
- "deviceTagDisconnect",
62
- "deviceTagInactivity",
63
- "endpoint",
64
- "event",
65
- "integration",
66
- "mqttTopic",
67
- "request",
68
- "customNodeStart",
69
- "timer",
70
- "udp",
71
- "virtualButton",
72
- "webhook"
73
- ]
74
- },
75
- "config": {
76
- "type": "object"
77
- },
78
- "meta": {
79
- "type": "object"
80
- },
81
- "outputIds": {
82
- "type": "array",
83
- "items": {
84
- "type": "array",
85
- "items": {
86
- "type": "string",
87
- "maxLength": 255
88
- },
89
- "maxItems": 100
90
- },
91
- "maxItems": 100
92
- }
3
+ "oneOf": [
4
+ {
5
+ "description": "Schema for a single Cloud/Edge/Custom Node Workflow Version",
6
+ "type": "object",
7
+ "properties": {
8
+ "id": {
9
+ "type": "string",
10
+ "pattern": "^[A-Fa-f\\d]{24}$"
93
11
  },
94
- "additionalProperties": false,
95
- "required": [
96
- "type"
97
- ]
98
- }
99
- },
100
- "nodes": {
101
- "type": "array",
102
- "items": {
103
- "type": "object",
104
- "properties": {
105
- "id": {
106
- "type": "string",
107
- "maxLength": 1024
108
- },
109
- "type": {
110
- "type": "string",
111
- "minLength": 1,
112
- "maxLength": 1024
113
- },
114
- "config": {
115
- "type": "object"
116
- },
117
- "meta": {
118
- "type": "object"
119
- },
120
- "outputIds": {
121
- "type": "array",
122
- "items": {
123
- "type": "array",
124
- "items": {
125
- "type": "string",
126
- "maxLength": 255
127
- },
128
- "maxItems": 100
129
- },
130
- "maxItems": 100
131
- }
12
+ "flowVersionId": {
13
+ "type": "string",
14
+ "pattern": "^[A-Fa-f\\d]{24}$"
132
15
  },
133
- "additionalProperties": false,
134
- "required": [
135
- "type"
136
- ]
137
- }
138
- },
139
- "globals": {
140
- "type": "array",
141
- "maxItems": 100,
142
- "items": {
143
- "type": "object",
144
- "properties": {
145
- "key": {
146
- "type": "string",
147
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
148
- },
149
- "json": {
150
- "type": "string",
151
- "minLength": 1,
152
- "maxLength": 32767
153
- }
16
+ "flowId": {
17
+ "type": "string",
18
+ "pattern": "^[A-Fa-f\\d]{24}$"
154
19
  },
155
- "additionalProperties": false,
156
- "required": [
157
- "key",
158
- "json"
159
- ]
160
- }
161
- },
162
- "minimumAgentVersion": {
163
- "type": "string",
164
- "pattern": "^(0|([1-9]\\d*))\\.(0|([1-9]\\d*))\\.(0|([1-9]\\d*))$"
165
- },
166
- "customNodeConfig": {
167
- "type": "object",
168
- "properties": {
169
- "outputCount": {
170
- "type": "number",
171
- "enum": [
172
- 1,
173
- 2
174
- ]
20
+ "applicationId": {
21
+ "type": "string",
22
+ "pattern": "^[A-Fa-f\\d]{24}$"
175
23
  },
176
- "resultMode": {
24
+ "creationDate": {
177
25
  "type": "string",
178
- "enum": [
179
- "optional",
180
- "required",
181
- "none"
182
- ]
26
+ "format": "date-time"
27
+ },
28
+ "lastUpdated": {
29
+ "type": "string",
30
+ "format": "date-time"
31
+ },
32
+ "version": {
33
+ "type": "string",
34
+ "minLength": 1,
35
+ "maxLength": 255
183
36
  },
184
- "resultDescription": {
37
+ "notes": {
185
38
  "type": "string",
186
39
  "maxLength": 32767
187
40
  },
188
- "fields": {
41
+ "enabled": {
42
+ "type": "boolean"
43
+ },
44
+ "triggers": {
189
45
  "type": "array",
190
- "maxItems": 100,
191
46
  "items": {
192
- "oneOf": [
193
- {
194
- "type": "object",
195
- "properties": {
196
- "type": {
197
- "type": "string",
198
- "enum": [
199
- "checkbox"
200
- ]
201
- },
202
- "label": {
203
- "type": "string",
204
- "minLength": 1,
205
- "maxLength": 1024
206
- },
207
- "id": {
208
- "type": "string",
209
- "minLength": 1,
210
- "maxLength": 1024
211
- },
212
- "description": {
213
- "type": "string",
214
- "maxLength": 32767
215
- },
216
- "defaultValue": {
217
- "type": "boolean"
218
- }
219
- },
220
- "additionalProperties": false,
221
- "required": [
222
- "type",
223
- "label"
47
+ "type": "object",
48
+ "properties": {
49
+ "key": {
50
+ "type": "string",
51
+ "maxLength": 1024
52
+ },
53
+ "type": {
54
+ "type": "string",
55
+ "enum": [
56
+ "dataTable",
57
+ "deviceCommand",
58
+ "deviceId",
59
+ "deviceIdConnect",
60
+ "deviceIdDisconnect",
61
+ "deviceIdInactivity",
62
+ "deviceTag",
63
+ "deviceTagConnect",
64
+ "deviceTagDisconnect",
65
+ "deviceTagInactivity",
66
+ "endpoint",
67
+ "event",
68
+ "fileWatch",
69
+ "integration",
70
+ "mqttTopic",
71
+ "request",
72
+ "customNodeStart",
73
+ "timer",
74
+ "udp",
75
+ "virtualButton",
76
+ "webhook"
224
77
  ]
225
78
  },
226
- {
227
- "type": "object",
228
- "properties": {
229
- "type": {
230
- "type": "string",
231
- "enum": [
232
- "select"
233
- ]
234
- },
235
- "label": {
236
- "type": "string",
237
- "minLength": 1,
238
- "maxLength": 1024
239
- },
240
- "id": {
241
- "type": "string",
242
- "minLength": 1,
243
- "maxLength": 1024
244
- },
245
- "description": {
246
- "type": "string",
247
- "maxLength": 32767
248
- },
249
- "defaultValue": {
79
+ "config": {
80
+ "type": "object"
81
+ },
82
+ "meta": {
83
+ "type": "object"
84
+ },
85
+ "outputIds": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "array",
89
+ "items": {
250
90
  "type": "string",
251
- "minLength": 1,
252
- "maxLength": 1024
91
+ "maxLength": 255
253
92
  },
254
- "options": {
255
- "type": "array",
256
- "minItems": 1,
257
- "maxItems": 100,
258
- "items": {
259
- "type": "object",
260
- "properties": {
261
- "label": {
262
- "type": "string",
263
- "maxLength": 1024
264
- },
265
- "value": {
266
- "type": "string",
267
- "minLength": 1,
268
- "maxLength": 1024
269
- }
270
- },
271
- "additionalProperties": false,
272
- "required": [
273
- "value"
274
- ]
275
- }
276
- }
93
+ "maxItems": 100
277
94
  },
278
- "additionalProperties": false,
279
- "required": [
280
- "type",
281
- "label",
282
- "defaultValue",
283
- "options"
284
- ]
95
+ "maxItems": 100
96
+ }
97
+ },
98
+ "additionalProperties": false,
99
+ "required": [
100
+ "type"
101
+ ]
102
+ }
103
+ },
104
+ "nodes": {
105
+ "type": "array",
106
+ "items": {
107
+ "type": "object",
108
+ "properties": {
109
+ "id": {
110
+ "type": "string",
111
+ "maxLength": 1024
285
112
  },
286
- {
287
- "type": "object",
288
- "properties": {
289
- "type": {
290
- "type": "string",
291
- "enum": [
292
- "stringTemplate"
293
- ]
294
- },
295
- "label": {
296
- "type": "string",
297
- "minLength": 1,
298
- "maxLength": 1024
299
- },
300
- "id": {
301
- "type": "string",
302
- "minLength": 1,
303
- "maxLength": 1024
304
- },
305
- "description": {
306
- "type": "string",
307
- "maxLength": 32767
308
- },
309
- "defaultValue": {
113
+ "type": {
114
+ "type": "string",
115
+ "minLength": 1,
116
+ "maxLength": 1024
117
+ },
118
+ "config": {
119
+ "type": "object"
120
+ },
121
+ "meta": {
122
+ "type": "object"
123
+ },
124
+ "outputIds": {
125
+ "type": "array",
126
+ "items": {
127
+ "type": "array",
128
+ "items": {
310
129
  "type": "string",
311
- "maxLength": 1024
130
+ "maxLength": 255
312
131
  },
313
- "required": {
314
- "type": "boolean"
315
- },
316
- "validRegExp": {
317
- "type": "string",
318
- "maxLength": 1024
319
- }
132
+ "maxItems": 100
320
133
  },
321
- "additionalProperties": false,
322
- "required": [
323
- "type",
324
- "label"
325
- ]
134
+ "maxItems": 100
135
+ }
136
+ },
137
+ "additionalProperties": false,
138
+ "required": [
139
+ "type"
140
+ ]
141
+ }
142
+ },
143
+ "globals": {
144
+ "type": "array",
145
+ "maxItems": 100,
146
+ "items": {
147
+ "type": "object",
148
+ "properties": {
149
+ "key": {
150
+ "type": "string",
151
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
326
152
  },
327
- {
328
- "type": "object",
329
- "properties": {
330
- "type": {
331
- "type": "string",
332
- "enum": [
333
- "numberTemplate"
153
+ "json": {
154
+ "type": "string",
155
+ "minLength": 1,
156
+ "maxLength": 32767
157
+ }
158
+ },
159
+ "additionalProperties": false,
160
+ "required": [
161
+ "key",
162
+ "json"
163
+ ]
164
+ }
165
+ },
166
+ "minimumAgentVersion": {
167
+ "type": "string",
168
+ "pattern": "^(0|([1-9]\\d*))\\.(0|([1-9]\\d*))\\.(0|([1-9]\\d*))$"
169
+ },
170
+ "customNodeConfig": {
171
+ "type": "object",
172
+ "properties": {
173
+ "outputCount": {
174
+ "type": "number",
175
+ "enum": [
176
+ 1,
177
+ 2
178
+ ]
179
+ },
180
+ "resultMode": {
181
+ "type": "string",
182
+ "enum": [
183
+ "optional",
184
+ "required",
185
+ "none"
186
+ ]
187
+ },
188
+ "resultDescription": {
189
+ "type": "string",
190
+ "maxLength": 32767
191
+ },
192
+ "fields": {
193
+ "type": "array",
194
+ "maxItems": 100,
195
+ "items": {
196
+ "oneOf": [
197
+ {
198
+ "type": "object",
199
+ "properties": {
200
+ "type": {
201
+ "type": "string",
202
+ "enum": [
203
+ "checkbox"
204
+ ]
205
+ },
206
+ "label": {
207
+ "type": "string",
208
+ "minLength": 1,
209
+ "maxLength": 1024
210
+ },
211
+ "id": {
212
+ "type": "string",
213
+ "minLength": 1,
214
+ "maxLength": 1024
215
+ },
216
+ "description": {
217
+ "type": "string",
218
+ "maxLength": 32767
219
+ },
220
+ "defaultValue": {
221
+ "type": "boolean"
222
+ }
223
+ },
224
+ "additionalProperties": false,
225
+ "required": [
226
+ "type",
227
+ "label"
334
228
  ]
335
229
  },
336
- "label": {
337
- "type": "string",
338
- "minLength": 1,
339
- "maxLength": 1024
340
- },
341
- "id": {
342
- "type": "string",
343
- "minLength": 1,
344
- "maxLength": 1024
230
+ {
231
+ "type": "object",
232
+ "properties": {
233
+ "type": {
234
+ "type": "string",
235
+ "enum": [
236
+ "select"
237
+ ]
238
+ },
239
+ "label": {
240
+ "type": "string",
241
+ "minLength": 1,
242
+ "maxLength": 1024
243
+ },
244
+ "id": {
245
+ "type": "string",
246
+ "minLength": 1,
247
+ "maxLength": 1024
248
+ },
249
+ "description": {
250
+ "type": "string",
251
+ "maxLength": 32767
252
+ },
253
+ "defaultValue": {
254
+ "type": "string",
255
+ "minLength": 1,
256
+ "maxLength": 1024
257
+ },
258
+ "options": {
259
+ "type": "array",
260
+ "minItems": 1,
261
+ "maxItems": 100,
262
+ "items": {
263
+ "type": "object",
264
+ "properties": {
265
+ "label": {
266
+ "type": "string",
267
+ "maxLength": 1024
268
+ },
269
+ "value": {
270
+ "type": "string",
271
+ "minLength": 1,
272
+ "maxLength": 1024
273
+ }
274
+ },
275
+ "additionalProperties": false,
276
+ "required": [
277
+ "value"
278
+ ]
279
+ }
280
+ }
281
+ },
282
+ "additionalProperties": false,
283
+ "required": [
284
+ "type",
285
+ "label",
286
+ "defaultValue",
287
+ "options"
288
+ ]
345
289
  },
346
- "description": {
347
- "type": "string",
348
- "maxLength": 32767
290
+ {
291
+ "type": "object",
292
+ "properties": {
293
+ "type": {
294
+ "type": "string",
295
+ "enum": [
296
+ "stringTemplate"
297
+ ]
298
+ },
299
+ "label": {
300
+ "type": "string",
301
+ "minLength": 1,
302
+ "maxLength": 1024
303
+ },
304
+ "id": {
305
+ "type": "string",
306
+ "minLength": 1,
307
+ "maxLength": 1024
308
+ },
309
+ "description": {
310
+ "type": "string",
311
+ "maxLength": 32767
312
+ },
313
+ "defaultValue": {
314
+ "type": "string",
315
+ "maxLength": 1024
316
+ },
317
+ "required": {
318
+ "type": "boolean"
319
+ },
320
+ "validRegExp": {
321
+ "type": "string",
322
+ "maxLength": 1024
323
+ }
324
+ },
325
+ "additionalProperties": false,
326
+ "required": [
327
+ "type",
328
+ "label"
329
+ ]
349
330
  },
350
- "defaultValue": {
351
- "type": "number"
331
+ {
332
+ "type": "object",
333
+ "properties": {
334
+ "type": {
335
+ "type": "string",
336
+ "enum": [
337
+ "numberTemplate"
338
+ ]
339
+ },
340
+ "label": {
341
+ "type": "string",
342
+ "minLength": 1,
343
+ "maxLength": 1024
344
+ },
345
+ "id": {
346
+ "type": "string",
347
+ "minLength": 1,
348
+ "maxLength": 1024
349
+ },
350
+ "description": {
351
+ "type": "string",
352
+ "maxLength": 32767
353
+ },
354
+ "defaultValue": {
355
+ "type": "number"
356
+ },
357
+ "required": {
358
+ "type": "boolean"
359
+ },
360
+ "validMin": {
361
+ "type": "number"
362
+ },
363
+ "validMax": {
364
+ "type": "number"
365
+ }
366
+ },
367
+ "additionalProperties": false,
368
+ "required": [
369
+ "type",
370
+ "label"
371
+ ]
352
372
  },
353
- "required": {
354
- "type": "boolean"
373
+ {
374
+ "type": "object",
375
+ "properties": {
376
+ "type": {
377
+ "type": "string",
378
+ "enum": [
379
+ "jsonTemplate"
380
+ ]
381
+ },
382
+ "label": {
383
+ "type": "string",
384
+ "minLength": 1,
385
+ "maxLength": 1024
386
+ },
387
+ "id": {
388
+ "type": "string",
389
+ "minLength": 1,
390
+ "maxLength": 1024
391
+ },
392
+ "description": {
393
+ "type": "string",
394
+ "maxLength": 32767
395
+ },
396
+ "defaultValue": {
397
+ "type": "string",
398
+ "maxLength": 32767
399
+ },
400
+ "required": {
401
+ "type": "boolean"
402
+ }
403
+ },
404
+ "additionalProperties": false,
405
+ "required": [
406
+ "type",
407
+ "label"
408
+ ]
355
409
  },
356
- "validMin": {
357
- "type": "number"
410
+ {
411
+ "type": "object",
412
+ "properties": {
413
+ "type": {
414
+ "type": "string",
415
+ "enum": [
416
+ "payloadPath"
417
+ ]
418
+ },
419
+ "label": {
420
+ "type": "string",
421
+ "minLength": 1,
422
+ "maxLength": 1024
423
+ },
424
+ "id": {
425
+ "type": "string",
426
+ "minLength": 1,
427
+ "maxLength": 1024
428
+ },
429
+ "description": {
430
+ "type": "string",
431
+ "maxLength": 32767
432
+ },
433
+ "required": {
434
+ "type": "boolean"
435
+ }
436
+ },
437
+ "additionalProperties": false,
438
+ "required": [
439
+ "type",
440
+ "label"
441
+ ]
358
442
  },
359
- "validMax": {
360
- "type": "number"
443
+ {
444
+ "type": "object",
445
+ "properties": {
446
+ "type": {
447
+ "type": "string",
448
+ "enum": [
449
+ "section"
450
+ ]
451
+ },
452
+ "label": {
453
+ "type": "string",
454
+ "minLength": 1,
455
+ "maxLength": 1024
456
+ },
457
+ "id": {
458
+ "type": "string",
459
+ "minLength": 1,
460
+ "maxLength": 1024
461
+ },
462
+ "description": {
463
+ "type": "string",
464
+ "maxLength": 32767
465
+ }
466
+ },
467
+ "additionalProperties": false,
468
+ "required": [
469
+ "type",
470
+ "label"
471
+ ]
361
472
  }
362
- },
363
- "additionalProperties": false,
364
- "required": [
365
- "type",
366
- "label"
367
473
  ]
474
+ }
475
+ }
476
+ },
477
+ "additionalProperties": false,
478
+ "required": [
479
+ "outputCount",
480
+ "resultMode",
481
+ "fields"
482
+ ]
483
+ }
484
+ }
485
+ },
486
+ {
487
+ "description": "Schema for a single Experience Workflow Version",
488
+ "type": "object",
489
+ "properties": {
490
+ "id": {
491
+ "type": "string",
492
+ "pattern": "^[A-Fa-f\\d]{24}$"
493
+ },
494
+ "flowVersionId": {
495
+ "type": "string",
496
+ "pattern": "^[A-Fa-f\\d]{24}$"
497
+ },
498
+ "flowId": {
499
+ "type": "string",
500
+ "pattern": "^[A-Fa-f\\d]{24}$"
501
+ },
502
+ "applicationId": {
503
+ "type": "string",
504
+ "pattern": "^[A-Fa-f\\d]{24}$"
505
+ },
506
+ "creationDate": {
507
+ "type": "string",
508
+ "format": "date-time"
509
+ },
510
+ "lastUpdated": {
511
+ "type": "string",
512
+ "format": "date-time"
513
+ },
514
+ "name": {
515
+ "type": "string",
516
+ "minLength": 1,
517
+ "maxLength": 255
518
+ },
519
+ "description": {
520
+ "type": "string",
521
+ "maxLength": 32767
522
+ },
523
+ "iconData": {
524
+ "type": "string",
525
+ "maxLength": 32767,
526
+ "pattern": "^data:image/(jpg|jpeg|png|svg\\+xml);base64,[0-9a-zA-Z+/=]*$"
527
+ },
528
+ "flowClass": {
529
+ "type": "string",
530
+ "enum": [
531
+ "experience"
532
+ ]
533
+ },
534
+ "versions": {
535
+ "type": "array",
536
+ "items": {
537
+ "type": "string",
538
+ "minLength": 1,
539
+ "maxLength": 255
540
+ }
541
+ },
542
+ "enabled": {
543
+ "type": "boolean"
544
+ },
545
+ "triggers": {
546
+ "type": "array",
547
+ "items": {
548
+ "type": "object",
549
+ "properties": {
550
+ "key": {
551
+ "type": "string",
552
+ "maxLength": 1024
368
553
  },
369
- {
370
- "type": "object",
371
- "properties": {
372
- "type": {
373
- "type": "string",
374
- "enum": [
375
- "jsonTemplate"
376
- ]
377
- },
378
- "label": {
379
- "type": "string",
380
- "minLength": 1,
381
- "maxLength": 1024
382
- },
383
- "id": {
384
- "type": "string",
385
- "minLength": 1,
386
- "maxLength": 1024
387
- },
388
- "description": {
389
- "type": "string",
390
- "maxLength": 32767
391
- },
392
- "defaultValue": {
393
- "type": "string",
394
- "maxLength": 32767
395
- },
396
- "required": {
397
- "type": "boolean"
398
- }
399
- },
400
- "additionalProperties": false,
401
- "required": [
402
- "type",
403
- "label"
554
+ "type": {
555
+ "type": "string",
556
+ "enum": [
557
+ "dataTable",
558
+ "deviceCommand",
559
+ "deviceId",
560
+ "deviceIdConnect",
561
+ "deviceIdDisconnect",
562
+ "deviceIdInactivity",
563
+ "deviceTag",
564
+ "deviceTagConnect",
565
+ "deviceTagDisconnect",
566
+ "deviceTagInactivity",
567
+ "endpoint",
568
+ "event",
569
+ "fileWatch",
570
+ "integration",
571
+ "mqttTopic",
572
+ "request",
573
+ "customNodeStart",
574
+ "timer",
575
+ "udp",
576
+ "virtualButton",
577
+ "webhook"
404
578
  ]
405
579
  },
406
- {
407
- "type": "object",
408
- "properties": {
409
- "type": {
410
- "type": "string",
411
- "enum": [
412
- "payloadPath"
413
- ]
414
- },
415
- "label": {
416
- "type": "string",
417
- "minLength": 1,
418
- "maxLength": 1024
419
- },
420
- "id": {
421
- "type": "string",
422
- "minLength": 1,
423
- "maxLength": 1024
424
- },
425
- "description": {
580
+ "config": {
581
+ "type": "object"
582
+ },
583
+ "meta": {
584
+ "type": "object"
585
+ },
586
+ "outputIds": {
587
+ "type": "array",
588
+ "items": {
589
+ "type": "array",
590
+ "items": {
426
591
  "type": "string",
427
- "maxLength": 32767
592
+ "maxLength": 255
428
593
  },
429
- "required": {
430
- "type": "boolean"
431
- }
594
+ "maxItems": 100
432
595
  },
433
- "additionalProperties": false,
434
- "required": [
435
- "type",
436
- "label"
437
- ]
596
+ "maxItems": 100
597
+ }
598
+ },
599
+ "additionalProperties": false,
600
+ "required": [
601
+ "type"
602
+ ]
603
+ }
604
+ },
605
+ "nodes": {
606
+ "type": "array",
607
+ "items": {
608
+ "type": "object",
609
+ "properties": {
610
+ "id": {
611
+ "type": "string",
612
+ "maxLength": 1024
438
613
  },
439
- {
440
- "type": "object",
441
- "properties": {
442
- "type": {
443
- "type": "string",
444
- "enum": [
445
- "section"
446
- ]
447
- },
448
- "label": {
449
- "type": "string",
450
- "minLength": 1,
451
- "maxLength": 1024
452
- },
453
- "id": {
614
+ "type": {
615
+ "type": "string",
616
+ "minLength": 1,
617
+ "maxLength": 1024
618
+ },
619
+ "config": {
620
+ "type": "object"
621
+ },
622
+ "meta": {
623
+ "type": "object"
624
+ },
625
+ "outputIds": {
626
+ "type": "array",
627
+ "items": {
628
+ "type": "array",
629
+ "items": {
454
630
  "type": "string",
455
- "minLength": 1,
456
- "maxLength": 1024
631
+ "maxLength": 255
457
632
  },
458
- "description": {
459
- "type": "string",
460
- "maxLength": 32767
461
- }
633
+ "maxItems": 100
462
634
  },
463
- "additionalProperties": false,
464
- "required": [
465
- "type",
466
- "label"
467
- ]
635
+ "maxItems": 100
468
636
  }
637
+ },
638
+ "additionalProperties": false,
639
+ "required": [
640
+ "type"
641
+ ]
642
+ }
643
+ },
644
+ "globals": {
645
+ "type": "array",
646
+ "maxItems": 100,
647
+ "items": {
648
+ "type": "object",
649
+ "properties": {
650
+ "key": {
651
+ "type": "string",
652
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
653
+ },
654
+ "json": {
655
+ "type": "string",
656
+ "minLength": 1,
657
+ "maxLength": 32767
658
+ }
659
+ },
660
+ "additionalProperties": false,
661
+ "required": [
662
+ "key",
663
+ "json"
469
664
  ]
470
665
  }
471
666
  }
472
- },
473
- "additionalProperties": false,
474
- "required": [
475
- "outputCount",
476
- "resultMode",
477
- "fields"
478
- ]
667
+ }
479
668
  }
480
- }
669
+ ]
481
670
  }