schemas/flowVersion.json in losant_rest-1.7.2 vs schemas/flowVersion.json in losant_rest-1.8.0
- old
+ new
@@ -1,481 +1,670 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "pattern": "^[A-Fa-f\\d]{24}$"
- },
- "flowVersionId": {
- "type": "string",
- "pattern": "^[A-Fa-f\\d]{24}$"
- },
- "flowId": {
- "type": "string",
- "pattern": "^[A-Fa-f\\d]{24}$"
- },
- "applicationId": {
- "type": "string",
- "pattern": "^[A-Fa-f\\d]{24}$"
- },
- "creationDate": {
- "type": "string",
- "format": "date-time"
- },
- "lastUpdated": {
- "type": "string",
- "format": "date-time"
- },
- "version": {
- "type": "string",
- "minLength": 1,
- "maxLength": 255
- },
- "notes": {
- "type": "string",
- "maxLength": 32767
- },
- "enabled": {
- "type": "boolean"
- },
- "triggers": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "key": {
- "type": "string",
- "maxLength": 1024
- },
- "type": {
- "type": "string",
- "enum": [
- "dataTable",
- "deviceCommand",
- "deviceId",
- "deviceIdConnect",
- "deviceIdDisconnect",
- "deviceIdInactivity",
- "deviceTag",
- "deviceTagConnect",
- "deviceTagDisconnect",
- "deviceTagInactivity",
- "endpoint",
- "event",
- "integration",
- "mqttTopic",
- "request",
- "customNodeStart",
- "timer",
- "udp",
- "virtualButton",
- "webhook"
- ]
- },
- "config": {
- "type": "object"
- },
- "meta": {
- "type": "object"
- },
- "outputIds": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "string",
- "maxLength": 255
- },
- "maxItems": 100
- },
- "maxItems": 100
- }
+ "oneOf": [
+ {
+ "description": "Schema for a single Cloud/Edge/Custom Node Workflow Version",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
},
- "additionalProperties": false,
- "required": [
- "type"
- ]
- }
- },
- "nodes": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "maxLength": 1024
- },
- "type": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "config": {
- "type": "object"
- },
- "meta": {
- "type": "object"
- },
- "outputIds": {
- "type": "array",
- "items": {
- "type": "array",
- "items": {
- "type": "string",
- "maxLength": 255
- },
- "maxItems": 100
- },
- "maxItems": 100
- }
+ "flowVersionId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
},
- "additionalProperties": false,
- "required": [
- "type"
- ]
- }
- },
- "globals": {
- "type": "array",
- "maxItems": 100,
- "items": {
- "type": "object",
- "properties": {
- "key": {
- "type": "string",
- "pattern": "^[0-9a-zA-Z_-]{1,255}$"
- },
- "json": {
- "type": "string",
- "minLength": 1,
- "maxLength": 32767
- }
+ "flowId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
},
- "additionalProperties": false,
- "required": [
- "key",
- "json"
- ]
- }
- },
- "minimumAgentVersion": {
- "type": "string",
- "pattern": "^(0|([1-9]\\d*))\\.(0|([1-9]\\d*))\\.(0|([1-9]\\d*))$"
- },
- "customNodeConfig": {
- "type": "object",
- "properties": {
- "outputCount": {
- "type": "number",
- "enum": [
- 1,
- 2
- ]
+ "applicationId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
},
- "resultMode": {
+ "creationDate": {
"type": "string",
- "enum": [
- "optional",
- "required",
- "none"
- ]
+ "format": "date-time"
},
- "resultDescription": {
+ "lastUpdated": {
"type": "string",
+ "format": "date-time"
+ },
+ "version": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ },
+ "notes": {
+ "type": "string",
"maxLength": 32767
},
- "fields": {
+ "enabled": {
+ "type": "boolean"
+ },
+ "triggers": {
"type": "array",
- "maxItems": 100,
"items": {
- "oneOf": [
- {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": [
- "checkbox"
- ]
- },
- "label": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "id": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "description": {
- "type": "string",
- "maxLength": 32767
- },
- "defaultValue": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "type",
- "label"
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "dataTable",
+ "deviceCommand",
+ "deviceId",
+ "deviceIdConnect",
+ "deviceIdDisconnect",
+ "deviceIdInactivity",
+ "deviceTag",
+ "deviceTagConnect",
+ "deviceTagDisconnect",
+ "deviceTagInactivity",
+ "endpoint",
+ "event",
+ "fileWatch",
+ "integration",
+ "mqttTopic",
+ "request",
+ "customNodeStart",
+ "timer",
+ "udp",
+ "virtualButton",
+ "webhook"
]
},
- {
- "type": "object",
- "properties": {
- "type": {
+ "config": {
+ "type": "object"
+ },
+ "meta": {
+ "type": "object"
+ },
+ "outputIds": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
"type": "string",
- "enum": [
- "select"
- ]
+ "maxLength": 255
},
- "label": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "id": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "description": {
- "type": "string",
- "maxLength": 32767
- },
- "defaultValue": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "options": {
- "type": "array",
- "minItems": 1,
- "maxItems": 100,
- "items": {
- "type": "object",
- "properties": {
- "label": {
- "type": "string",
- "maxLength": 1024
- },
- "value": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- }
- },
- "additionalProperties": false,
- "required": [
- "value"
- ]
- }
- }
+ "maxItems": 100
},
- "additionalProperties": false,
- "required": [
- "type",
- "label",
- "defaultValue",
- "options"
- ]
+ "maxItems": 100
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type"
+ ]
+ }
+ },
+ "nodes": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "maxLength": 1024
},
- {
- "type": "object",
- "properties": {
- "type": {
+ "type": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "config": {
+ "type": "object"
+ },
+ "meta": {
+ "type": "object"
+ },
+ "outputIds": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
"type": "string",
- "enum": [
- "stringTemplate"
- ]
+ "maxLength": 255
},
- "label": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "id": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "description": {
- "type": "string",
- "maxLength": 32767
- },
- "defaultValue": {
- "type": "string",
- "maxLength": 1024
- },
- "required": {
- "type": "boolean"
- },
- "validRegExp": {
- "type": "string",
- "maxLength": 1024
- }
+ "maxItems": 100
},
- "additionalProperties": false,
- "required": [
- "type",
- "label"
- ]
+ "maxItems": 100
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type"
+ ]
+ }
+ },
+ "globals": {
+ "type": "array",
+ "maxItems": 100,
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
},
- {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": [
- "numberTemplate"
+ "json": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32767
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "key",
+ "json"
+ ]
+ }
+ },
+ "minimumAgentVersion": {
+ "type": "string",
+ "pattern": "^(0|([1-9]\\d*))\\.(0|([1-9]\\d*))\\.(0|([1-9]\\d*))$"
+ },
+ "customNodeConfig": {
+ "type": "object",
+ "properties": {
+ "outputCount": {
+ "type": "number",
+ "enum": [
+ 1,
+ 2
+ ]
+ },
+ "resultMode": {
+ "type": "string",
+ "enum": [
+ "optional",
+ "required",
+ "none"
+ ]
+ },
+ "resultDescription": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "fields": {
+ "type": "array",
+ "maxItems": 100,
+ "items": {
+ "oneOf": [
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "checkbox"
+ ]
+ },
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "defaultValue": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "label"
]
},
- "label": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "select"
+ ]
+ },
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "defaultValue": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "options": {
+ "type": "array",
+ "minItems": 1,
+ "maxItems": 100,
+ "items": {
+ "type": "object",
+ "properties": {
+ "label": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "value": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "value"
+ ]
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "label",
+ "defaultValue",
+ "options"
+ ]
},
- "id": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "stringTemplate"
+ ]
+ },
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "defaultValue": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "validRegExp": {
+ "type": "string",
+ "maxLength": 1024
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "label"
+ ]
},
- "description": {
- "type": "string",
- "maxLength": 32767
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "numberTemplate"
+ ]
+ },
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "defaultValue": {
+ "type": "number"
+ },
+ "required": {
+ "type": "boolean"
+ },
+ "validMin": {
+ "type": "number"
+ },
+ "validMax": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "label"
+ ]
},
- "defaultValue": {
- "type": "number"
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "jsonTemplate"
+ ]
+ },
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "defaultValue": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "required": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "label"
+ ]
},
- "required": {
- "type": "boolean"
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "payloadPath"
+ ]
+ },
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "required": {
+ "type": "boolean"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "label"
+ ]
},
- "validMin": {
- "type": "number"
- },
- "validMax": {
- "type": "number"
+ {
+ "type": "object",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "section"
+ ]
+ },
+ "label": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "id": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type",
+ "label"
+ ]
}
- },
- "additionalProperties": false,
- "required": [
- "type",
- "label"
]
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "outputCount",
+ "resultMode",
+ "fields"
+ ]
+ }
+ }
+ },
+ {
+ "description": "Schema for a single Experience Workflow Version",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "flowVersionId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "flowId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "applicationId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "creationDate": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastUpdated": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "iconData": {
+ "type": "string",
+ "maxLength": 32767,
+ "pattern": "^data:image/(jpg|jpeg|png|svg\\+xml);base64,[0-9a-zA-Z+/=]*$"
+ },
+ "flowClass": {
+ "type": "string",
+ "enum": [
+ "experience"
+ ]
+ },
+ "versions": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ }
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "triggers": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "maxLength": 1024
},
- {
- "type": "object",
- "properties": {
- "type": {
- "type": "string",
- "enum": [
- "jsonTemplate"
- ]
- },
- "label": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "id": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "description": {
- "type": "string",
- "maxLength": 32767
- },
- "defaultValue": {
- "type": "string",
- "maxLength": 32767
- },
- "required": {
- "type": "boolean"
- }
- },
- "additionalProperties": false,
- "required": [
- "type",
- "label"
+ "type": {
+ "type": "string",
+ "enum": [
+ "dataTable",
+ "deviceCommand",
+ "deviceId",
+ "deviceIdConnect",
+ "deviceIdDisconnect",
+ "deviceIdInactivity",
+ "deviceTag",
+ "deviceTagConnect",
+ "deviceTagDisconnect",
+ "deviceTagInactivity",
+ "endpoint",
+ "event",
+ "fileWatch",
+ "integration",
+ "mqttTopic",
+ "request",
+ "customNodeStart",
+ "timer",
+ "udp",
+ "virtualButton",
+ "webhook"
]
},
- {
- "type": "object",
- "properties": {
- "type": {
+ "config": {
+ "type": "object"
+ },
+ "meta": {
+ "type": "object"
+ },
+ "outputIds": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
"type": "string",
- "enum": [
- "payloadPath"
- ]
+ "maxLength": 255
},
- "label": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "id": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "description": {
- "type": "string",
- "maxLength": 32767
- },
- "required": {
- "type": "boolean"
- }
+ "maxItems": 100
},
- "additionalProperties": false,
- "required": [
- "type",
- "label"
- ]
+ "maxItems": 100
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "type"
+ ]
+ }
+ },
+ "nodes": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "maxLength": 1024
},
- {
- "type": "object",
- "properties": {
- "type": {
+ "type": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "config": {
+ "type": "object"
+ },
+ "meta": {
+ "type": "object"
+ },
+ "outputIds": {
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {
"type": "string",
- "enum": [
- "section"
- ]
+ "maxLength": 255
},
- "label": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "id": {
- "type": "string",
- "minLength": 1,
- "maxLength": 1024
- },
- "description": {
- "type": "string",
- "maxLength": 32767
- }
+ "maxItems": 100
},
- "additionalProperties": false,
- "required": [
- "type",
- "label"
- ]
+ "maxItems": 100
}
+ },
+ "additionalProperties": false,
+ "required": [
+ "type"
]
}
+ },
+ "globals": {
+ "type": "array",
+ "maxItems": 100,
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "pattern": "^[0-9a-zA-Z_-]{1,255}$"
+ },
+ "json": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 32767
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "key",
+ "json"
+ ]
+ }
}
- },
- "additionalProperties": false,
- "required": [
- "outputCount",
- "resultMode",
- "fields"
- ]
+ }
}
- }
+ ]
}
\ No newline at end of file