{ "$schema": "http://json-schema.org/draft-04/schema#", "oneOf": [ { "description": "Schema for a single Cloud/Edge/Custom Node 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" }, "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", "fileWatch", "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 } }, "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 } }, "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" ] } }, "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" ] }, { "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" ] }, { "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" ] }, { "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" ] }, { "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": "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" ] }, { "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": [ "outputCount", "resultMode", "fields" ] }, "stats": { "type": "object", "properties": { "runCount": { "type": "number" }, "errorCount": { "type": "number" }, "byVersion": { "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "runCount": { "type": "number" }, "errorCount": { "type": "number" } } } } } } } } }, { "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": { "type": "string", "enum": [ "dataTable", "deviceCommand", "deviceId", "deviceIdConnect", "deviceIdDisconnect", "deviceIdInactivity", "deviceTag", "deviceTagConnect", "deviceTagDisconnect", "deviceTagInactivity", "endpoint", "event", "fileWatch", "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 } }, "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 } }, "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" ] } }, "stats": { "type": "object", "properties": { "runCount": { "type": "number" }, "errorCount": { "type": "number" }, "byVersion": { "type": "object", "patternProperties": { ".*": { "type": "object", "properties": { "runCount": { "type": "number" }, "errorCount": { "type": "number" } } } } } } } } } ] }