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