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