docs/_schemas.md in losant_rest-1.1.2 vs docs/_schemas.md in losant_rest-1.2.0
- old
+ new
@@ -45,16 +45,30 @@
* [Error](#error)
* [Event](#event)
* [Event Patch](#event-patch)
* [Event Post](#event-post)
* [Events](#events)
+* [Experience Endpoint](#experience-endpoint)
+* [Experience Endpoint Patch](#experience-endpoint-patch)
+* [Experience Endpoint Post](#experience-endpoint-post)
+* [Experience Endpoint Stats](#experience-endpoint-stats)
+* [Experience Endpoints](#experience-endpoints)
+* [Experience Group](#experience-group)
+* [Experience Group Patch](#experience-group-patch)
+* [Experience Group Post](#experience-group-post)
+* [Experience Groups](#experience-groups)
+* [Experience User](#experience-user)
+* [Experience User Patch](#experience-user-patch)
+* [Experience User Post](#experience-user-post)
+* [Experience Users](#experience-users)
* [Workflow](#workflow)
* [Workflow Log](#workflow-log)
* [Workflow Patch](#workflow-patch)
* [Workflow Post](#workflow-post)
* [Workflow Storage Entries](#workflow-storage-entries)
* [Workflow Storage Entry](#workflow-storage-entry)
+* [Workflow Trigger Filter](#workflow-trigger-filter)
* [Workflows](#workflows)
* [Github Login](#github-login)
* [Last Value Data](#last-value-data)
* [Last Value Query](#last-value-query)
* [Me](#me)
@@ -76,11 +90,11 @@
* [Resource Transfer](#resource-transfer)
* [Solution](#solution)
* [Solution Patch](#solution-patch)
* [Solution Post](#solution-post)
* [Solution User](#solution-user)
-* [User Credentials](#user-credentials)
+* [Solution User Credentials](#solution-user-credentials)
* [Solution User Patch](#solution-user-patch)
* [Solution User Post](#solution-user-post)
* [Solution Users](#solution-users)
* [Solutions](#solutions)
* [Success](#success)
@@ -292,30 +306,55 @@
},
"description": {
"type": "string",
"maxLength": 32767
},
+ "endpointSlug": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 255,
+ "pattern": "^[0-9a-z_-]*$"
+ },
+ "expUserTokenCutoff": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "endpointDefaultCors": {
+ "type": "boolean"
+ },
"summary": {
"type": "object",
"properties": {
- "deviceCount": {
+ "apiTokenCount": {
"type": "number"
},
- "flowCount": {
+ "keyCount": {
"type": "number"
},
- "webhookCount": {
+ "deviceCount": {
"type": "number"
},
+ "deviceRecipeCount": {
+ "type": "number"
+ },
"eventCount": {
"type": "number"
},
- "keyCount": {
+ "experienceEndpointCount": {
"type": "number"
},
- "deviceRecipeCount": {
+ "experienceGroupCount": {
"type": "number"
+ },
+ "experienceUserCount": {
+ "type": "number"
+ },
+ "flowCount": {
+ "type": "number"
+ },
+ "webhookCount": {
+ "type": "number"
}
}
}
}
}
@@ -388,10 +427,16 @@
"deviceRecipe.*",
"deviceRecipes.*",
"devices.*",
"event.*",
"events.*",
+ "experienceEndpoint.*",
+ "experienceEndpoints.*",
+ "experienceGroup.*",
+ "experienceGroups.*",
+ "experienceUser.*",
+ "experienceUsers.*",
"flow.*",
"flows.*",
"webhook.*",
"webhooks.*",
"application.delete",
@@ -436,10 +481,26 @@
"event.patch",
"events.get",
"events.mostRecentBySeverity",
"events.patch",
"events.post",
+ "experienceEndpoint.delete",
+ "experienceEndpoint.get",
+ "experienceEndpoint.patch",
+ "experienceEndpoints.get",
+ "experienceEndpoints.post",
+ "experienceEndpoints.stats",
+ "experienceGroup.delete",
+ "experienceGroup.get",
+ "experienceGroup.patch",
+ "experienceGroups.get",
+ "experienceGroups.post",
+ "experienceUser.delete",
+ "experienceUser.get",
+ "experienceUser.patch",
+ "experienceUsers.get",
+ "experienceUsers.post",
"flow.delete",
"flow.get",
"flow.getStorageEntries",
"flow.log",
"flow.patch",
@@ -531,11 +592,12 @@
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"deviceTags": {
"type": "array",
"items": {
"type": "object",
@@ -549,11 +611,12 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"description": {
"type": "string",
"maxLength": 32767
}
@@ -628,11 +691,12 @@
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"deviceTags": {
"type": "array",
"items": {
"type": "object",
@@ -646,11 +710,12 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"description": {
"type": "string",
"maxLength": 32767
}
@@ -722,11 +787,12 @@
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"deviceTags": {
"type": "array",
"items": {
"type": "object",
@@ -740,11 +806,12 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"description": {
"type": "string",
"maxLength": 32767
}
@@ -831,10 +898,23 @@
"maxLength": 255
},
"description": {
"type": "string",
"maxLength": 32767
+ },
+ "endpointSlug": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 255,
+ "pattern": "^[0-9a-z_-]*$"
+ },
+ "expUserTokenCutoff": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "endpointDefaultCors": {
+ "type": "boolean"
}
},
"additionalProperties": false
}
```
@@ -870,10 +950,23 @@
"maxLength": 255
},
"description": {
"type": "string",
"maxLength": 32767
+ },
+ "endpointSlug": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 255,
+ "pattern": "^[0-9a-z_-]*$"
+ },
+ "expUserTokenCutoff": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "endpointDefaultCors": {
+ "type": "boolean"
}
},
"additionalProperties": false,
"required": [
"name"
@@ -943,30 +1036,55 @@
},
"description": {
"type": "string",
"maxLength": 32767
},
+ "endpointSlug": {
+ "type": "string",
+ "minLength": 4,
+ "maxLength": 255,
+ "pattern": "^[0-9a-z_-]*$"
+ },
+ "expUserTokenCutoff": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "endpointDefaultCors": {
+ "type": "boolean"
+ },
"summary": {
"type": "object",
"properties": {
- "deviceCount": {
+ "apiTokenCount": {
"type": "number"
},
- "flowCount": {
+ "keyCount": {
"type": "number"
},
- "webhookCount": {
+ "deviceCount": {
"type": "number"
},
+ "deviceRecipeCount": {
+ "type": "number"
+ },
"eventCount": {
"type": "number"
},
- "keyCount": {
+ "experienceEndpointCount": {
"type": "number"
},
- "deviceRecipeCount": {
+ "experienceGroupCount": {
"type": "number"
+ },
+ "experienceUserCount": {
+ "type": "number"
+ },
+ "flowCount": {
+ "type": "number"
+ },
+ "webhookCount": {
+ "type": "number"
}
}
}
}
}
@@ -1091,10 +1209,13 @@
"ApiToken",
"ApplicationKey",
"Device",
"DeviceRecipe",
"Event",
+ "ExperienceEndpoint",
+ "ExperienceGroup",
+ "ExperienceUser",
"Flow",
"SolutionUser",
"Webhook"
]
},
@@ -1231,10 +1352,13 @@
"ApiToken",
"ApplicationKey",
"Device",
"DeviceRecipe",
"Event",
+ "ExperienceEndpoint",
+ "ExperienceGroup",
+ "ExperienceUser",
"Flow",
"SolutionUser",
"Webhook"
]
},
@@ -1388,10 +1512,13 @@
"ApiToken",
"ApplicationKey",
"Device",
"DeviceRecipe",
"Event",
+ "ExperienceEndpoint",
+ "ExperienceGroup",
+ "ExperienceUser",
"Flow",
"SolutionUser",
"Webhook"
]
},
@@ -1539,12 +1666,11 @@
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"token": {
"type": "string",
"minLength": 1
@@ -1871,11 +1997,12 @@
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"deviceTags": {
"type": "array",
"items": {
"type": "object",
@@ -1889,11 +2016,12 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
}
},
"additionalProperties": false
}
},
@@ -2093,11 +2221,12 @@
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"deviceTags": {
"type": "array",
"items": {
"type": "object",
@@ -2111,11 +2240,12 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
}
},
"additionalProperties": false
}
},
@@ -2281,11 +2411,12 @@
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"deviceTags": {
"type": "array",
"items": {
"type": "object",
@@ -2299,11 +2430,12 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
}
},
"additionalProperties": false
}
},
@@ -2497,11 +2629,12 @@
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"deviceTags": {
"type": "array",
"items": {
"type": "object",
@@ -2515,11 +2648,12 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
}
},
"additionalProperties": false
}
},
@@ -2653,11 +2787,12 @@
"required": [
"key",
"value"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"attributes": {
"type": "array",
"items": {
"type": "object",
@@ -2679,20 +2814,20 @@
"required": [
"name",
"dataType"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceClass": {
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"gatewayId": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
@@ -3050,11 +3185,12 @@
"required": [
"key",
"value"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"attributes": {
"type": "array",
"items": {
"type": "object",
@@ -3076,20 +3212,20 @@
"required": [
"name",
"dataType"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceClass": {
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"gatewayId": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
@@ -3160,11 +3296,12 @@
"required": [
"key",
"value"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"attributes": {
"type": "array",
"items": {
"type": "object",
@@ -3186,20 +3323,20 @@
"required": [
"name",
"dataType"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceClass": {
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"gatewayId": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
@@ -3302,11 +3439,12 @@
"required": [
"key",
"value"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"attributes": {
"type": "array",
"items": {
"type": "object",
@@ -3328,20 +3466,20 @@
"required": [
"name",
"dataType"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceClass": {
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"gatewayId": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
@@ -3501,11 +3639,12 @@
"required": [
"key",
"value"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"attributes": {
"type": "array",
"items": {
"type": "object",
@@ -3527,20 +3666,20 @@
"required": [
"name",
"dataType"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceClass": {
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"gatewayId": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
@@ -3622,11 +3761,12 @@
"required": [
"key",
"value"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"attributes": {
"type": "array",
"items": {
"type": "object",
@@ -3648,20 +3788,20 @@
"required": [
"name",
"dataType"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceClass": {
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"gatewayId": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
@@ -3773,11 +3913,12 @@
"required": [
"key",
"value"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"attributes": {
"type": "array",
"items": {
"type": "object",
@@ -3799,20 +3940,20 @@
"required": [
"name",
"dataType"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceClass": {
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"gatewayId": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
@@ -4133,11 +4274,12 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
}
```
### <a name="device-tag-filter-example"></a> Example
```json
@@ -4219,11 +4361,12 @@
"required": [
"key",
"value"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"attributes": {
"type": "array",
"items": {
"type": "object",
@@ -4245,20 +4388,20 @@
"required": [
"name",
"dataType"
],
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceClass": {
"type": "string",
"enum": [
"standalone",
"gateway",
"peripheral",
- "floating",
- "virtual"
+ "floating"
]
},
"gatewayId": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
@@ -4926,10 +5069,1165 @@
}
```
<br/>
+## Experience Endpoint
+
+Schema for a single Experience Endpoint
+
+### <a name="experience-endpoint-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "experienceEndpointId": {
+ "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"
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "route": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "delete",
+ "get",
+ "options",
+ "patch",
+ "post",
+ "put"
+ ]
+ },
+ "access": {
+ "type": "string",
+ "enum": [
+ "public",
+ "authenticated",
+ "group"
+ ]
+ },
+ "experienceGroups": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ },
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ }
+ }
+ }
+ }
+ }
+}
+```
+### <a name="experience-endpoint-example"></a> Example
+
+```json
+{
+ "id": "58c1de6c8f812590d8e82980",
+ "experienceEndpointId": "58c1de6c8f812590d8e82980",
+ "applicationId": "575ec8687ae143cd83dc4a97",
+ "creationDate": "2016-06-13T04:00:00.000Z",
+ "lastUpdated": "2016-06-13T04:00:00.000Z",
+ "route": "/my/route/{id}",
+ "enabled": true,
+ "method": "get",
+ "access": "group",
+ "experienceGroups": [
+ {
+ "name": "myGroup",
+ "id": "58b9d794cbfafe1be675744f"
+ }
+ ]
+}
+```
+
+<br/>
+
+## Experience Endpoint Patch
+
+Schema for the body of an Experience Endpoint modification request
+
+### <a name="experience-endpoint-patch-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "route": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "delete",
+ "get",
+ "options",
+ "patch",
+ "post",
+ "put"
+ ]
+ },
+ "access": {
+ "type": "string",
+ "enum": [
+ "public",
+ "authenticated",
+ "group"
+ ]
+ },
+ "experienceGroupIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ }
+ },
+ "additionalProperties": false
+}
+```
+### <a name="experience-endpoint-patch-example"></a> Example
+
+```json
+{
+ "access": "group",
+ "experienceGroupIds": [
+ "58c1de6f8f812590d8e82983"
+ ]
+}
+```
+
+<br/>
+
+## Experience Endpoint Post
+
+Schema for the body of an Experience Endpoint creation request
+
+### <a name="experience-endpoint-post-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "route": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
+ },
+ "enabled": {
+ "type": "boolean"
+ },
+ "method": {
+ "type": "string",
+ "enum": [
+ "delete",
+ "get",
+ "options",
+ "patch",
+ "post",
+ "put"
+ ]
+ },
+ "access": {
+ "type": "string",
+ "enum": [
+ "public",
+ "authenticated",
+ "group"
+ ]
+ },
+ "experienceGroupIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "route",
+ "method"
+ ]
+}
+```
+### <a name="experience-endpoint-post-example"></a> Example
+
+```json
+{
+ "route": "/my/route/{id}",
+ "method": "get",
+ "access": "public"
+}
+```
+
+<br/>
+
+## Experience Endpoint Stats
+
+Schema for stats for an experience's endpoints
+
+### <a name="experience-endpoint-stats-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "time": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "count": {
+ "type": "number"
+ }
+ }
+ }
+ }
+ }
+}
+```
+### <a name="experience-endpoint-stats-example"></a> Example
+
+```json
+{
+ "58cae95a0f5fcd000138ed0d": [
+ {
+ "time": "2017-03-21T20:00:00.000Z",
+ "count": 10
+ },
+ {
+ "time": "2017-03-21T21:00:00.000Z",
+ "count": 1
+ }
+ ],
+ "NotFound": [
+ {
+ "time": "2017-03-21T20:00:00.000Z",
+ "count": 1
+ },
+ {
+ "time": "2017-03-21T21:00:00.000Z",
+ "count": 4
+ }
+ ]
+}
+```
+
+<br/>
+
+## Experience Endpoints
+
+Schema for a collection of Experience Endpoints
+
+### <a name="experience-endpoints-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/experienceEndpoints"
+ }
+ },
+ "count": {
+ "type": "integer"
+ },
+ "totalCount": {
+ "type": "integer"
+ },
+ "filter": {
+ "type": "string"
+ },
+ "filterField": {
+ "type": "string"
+ },
+ "sortField": {
+ "type": "string"
+ },
+ "sortDirection": {
+ "type": "string",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ },
+ "applicationId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "experienceGroupId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "notFoundRequestCount": {
+ "type": "number"
+ }
+ }
+}
+```
+### <a name="experience-endpoints-example"></a> Example
+
+```json
+{
+ "items": [
+ {
+ "id": "58c1de6c8f812590d8e82980",
+ "experienceEndpointId": "58c1de6c8f812590d8e82980",
+ "applicationId": "575ec8687ae143cd83dc4a97",
+ "creationDate": "2016-06-13T04:00:00.000Z",
+ "lastUpdated": "2016-06-13T04:00:00.000Z",
+ "route": "/my/route/{id}",
+ "enabled": true,
+ "method": "get",
+ "access": "group",
+ "experienceGroups": [
+ {
+ "name": "myGroup",
+ "id": "58b9d794cbfafe1be675744f"
+ }
+ ]
+ }
+ ],
+ "count": 1,
+ "totalCount": 4,
+ "perPage": 1,
+ "page": 0,
+ "sortField": "name",
+ "sortDirection": "asc",
+ "applicationId": "575ec8687ae143cd83dc4a97"
+}
+```
+
+<br/>
+
+## Experience Group
+
+Schema for a single Experience Group
+
+### <a name="experience-group-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "experienceGroupId": {
+ "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
+ },
+ "experienceUserIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ },
+ "experienceEndpointIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ }
+ }
+}
+```
+### <a name="experience-group-example"></a> Example
+
+```json
+{
+ "id": "58b9d794cbfafe1be675744f",
+ "experienceGroupId": "58b9d794cbfafe1be675744f",
+ "applicationId": "575ec8687ae143cd83dc4a97",
+ "creationDate": "2016-06-13T04:00:00.000Z",
+ "lastUpdated": "2016-06-13T04:00:00.000Z",
+ "name": "My Group",
+ "experienceUserIds": [
+ "58b9d782cbfafe1be675744d",
+ "58b9d787cbfafe1be675744e"
+ ],
+ "experienceEndpointIds": [
+ "58b9d743cbfafe1be675744b",
+ "58b9d743cbfafe1be675744c"
+ ]
+}
+```
+
+<br/>
+
+## Experience Group Patch
+
+Schema for the body of an Experience Group modification request
+
+### <a name="experience-group-patch-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "experienceUserIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ },
+ "experienceEndpointIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ }
+ },
+ "additionalProperties": false
+}
+```
+### <a name="experience-group-patch-example"></a> Example
+
+```json
+{
+ "name": "My New Group Name",
+ "experienceUserIds": [
+ "575ed70c7ae143cd83dc4aa9",
+ "675ed70c7ae143cd83dc4aa9"
+ ],
+ "experienceEndpointIds": [
+ "58b9d743cbfafe1be675744b",
+ "58b9d743cbfafe1be675744c"
+ ]
+}
+```
+
+<br/>
+
+## Experience Group Post
+
+Schema for the body of an Experience Group creation request
+
+### <a name="experience-group-post-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ },
+ "description": {
+ "type": "string",
+ "maxLength": 32767
+ },
+ "experienceUserIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ },
+ "experienceEndpointIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name"
+ ]
+}
+```
+### <a name="experience-group-post-example"></a> Example
+
+```json
+{
+ "name": "My Group",
+ "experienceUserIds": [
+ "575ed70c7ae143cd83dc4aa9",
+ "675ed70c7ae143cd83dc4aa9"
+ ],
+ "experienceEndpointIds": [
+ "58b9d743cbfafe1be675744b",
+ "58b9d743cbfafe1be675744c"
+ ]
+}
+```
+
+<br/>
+
+## Experience Groups
+
+Schema for a collection of Experience Groups
+
+### <a name="experience-groups-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "title": "Experience Group",
+ "description": "Schema for a single Experience Group",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "experienceGroupId": {
+ "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
+ },
+ "experienceUserIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ },
+ "experienceEndpointIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ }
+ }
+ }
+ },
+ "count": {
+ "type": "integer"
+ },
+ "totalCount": {
+ "type": "integer"
+ },
+ "perPage": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "filter": {
+ "type": "string"
+ },
+ "filterField": {
+ "type": "string"
+ },
+ "sortField": {
+ "type": "string"
+ },
+ "sortDirection": {
+ "type": "string",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ },
+ "applicationId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ }
+ }
+}
+```
+### <a name="experience-groups-example"></a> Example
+
+```json
+{
+ "items": [
+ {
+ "id": "58b9d794cbfafe1be675744f",
+ "experienceGroupId": "58b9d794cbfafe1be675744f",
+ "applicationId": "575ec8687ae143cd83dc4a97",
+ "creationDate": "2016-06-13T04:00:00.000Z",
+ "lastUpdated": "2016-06-13T04:00:00.000Z",
+ "name": "My Group",
+ "experienceUserIds": [
+ "58b9d782cbfafe1be675744d",
+ "58b9d787cbfafe1be675744e"
+ ],
+ "experienceEndpointIds": [
+ "58b9d743cbfafe1be675744b",
+ "58b9d743cbfafe1be675744c"
+ ]
+ }
+ ],
+ "count": 1,
+ "totalCount": 4,
+ "perPage": 1,
+ "page": 0,
+ "sortField": "name",
+ "sortDirection": "asc",
+ "applicationId": "575ec8687ae143cd83dc4a97"
+}
+```
+
+<br/>
+
+## Experience User
+
+Schema for a single Experience User
+
+### <a name="experience-user-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "experienceUserId": {
+ "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"
+ },
+ "passwordLastUpdated": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastLogin": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "email": {
+ "type": "string",
+ "format": "email",
+ "maxLength": 1024
+ },
+ "firstName": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "avatarUrl": {
+ "type": "string",
+ "format": "url"
+ },
+ "tokenCutoff": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "userTags": {
+ "type": "object",
+ "patternProperties": {
+ "^[0-9a-zA-Z_-]{1,255}$": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ }
+ },
+ "additionalProperties": false
+ },
+ "experienceGroups": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ },
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ }
+ }
+ }
+ }
+ }
+}
+```
+### <a name="experience-user-example"></a> Example
+
+```json
+{
+ "id": "58b9d782cbfafe1be675744d",
+ "experienceUserId": "58b9d782cbfafe1be675744d",
+ "applicationId": "575ec8687ae143cd83dc4a97",
+ "creationDate": "2016-06-13T04:00:00.000Z",
+ "lastUpdated": "2016-06-13T04:00:00.000Z",
+ "passwordLastUpdated": "2016-06-13T04:00:00.000Z",
+ "lastLogin": "2016-06-13T04:00:00.000Z",
+ "email": "example@experienceuser.com",
+ "firstName": "Example",
+ "lastName": "Name",
+ "avatarUrl": "https://example.avatar.url/is_here.png",
+ "userTags": {
+ "customKey": "customValue"
+ }
+}
+```
+
+<br/>
+
+## Experience User Patch
+
+Schema for the body of an Experience User modification request
+
+### <a name="experience-user-patch-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "format": "email",
+ "maxLength": 1024
+ },
+ "firstName": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "password": {
+ "type": "string",
+ "minLength": 8,
+ "maxLength": 2048
+ },
+ "tokenCutoff": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "userTags": {
+ "type": "object",
+ "patternProperties": {
+ "^[0-9a-zA-Z_-]{1,255}$": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ }
+ },
+ "additionalProperties": false
+ },
+ "experienceGroupIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ }
+ },
+ "additionalProperties": false
+}
+```
+### <a name="experience-user-patch-example"></a> Example
+
+```json
+{
+ "password": "aNewPassword",
+ "userTags": {
+ "customKey": "newCustomValue"
+ }
+}
+```
+
+<br/>
+
+## Experience User Post
+
+Schema for the body of an Experience User creation request
+
+### <a name="experience-user-post-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "email": {
+ "type": "string",
+ "format": "email",
+ "maxLength": 1024
+ },
+ "firstName": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "password": {
+ "type": "string",
+ "minLength": 8,
+ "maxLength": 2048
+ },
+ "tokenCutoff": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "userTags": {
+ "type": "object",
+ "patternProperties": {
+ "^[0-9a-zA-Z_-]{1,255}$": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ }
+ },
+ "additionalProperties": false
+ },
+ "experienceGroupIds": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "maxItems": 1000
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "email",
+ "password"
+ ]
+}
+```
+### <a name="experience-user-post-example"></a> Example
+
+```json
+{
+ "email": "example@experienceuser.com",
+ "firstName": "Example",
+ "lastName": "Name",
+ "password": "aUserPassword",
+ "userTags": {
+ "customKey": "customValue"
+ }
+}
+```
+
+<br/>
+
+## Experience Users
+
+Schema for a collection of Experience Users
+
+### <a name="experience-users-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "object",
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "title": "Experience User",
+ "description": "Schema for a single Experience User",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "experienceUserId": {
+ "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"
+ },
+ "passwordLastUpdated": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "lastLogin": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "email": {
+ "type": "string",
+ "format": "email",
+ "maxLength": 1024
+ },
+ "firstName": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "lastName": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "avatarUrl": {
+ "type": "string",
+ "format": "url"
+ },
+ "tokenCutoff": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "userTags": {
+ "type": "object",
+ "patternProperties": {
+ "^[0-9a-zA-Z_-]{1,255}$": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ }
+ },
+ "additionalProperties": false
+ },
+ "experienceGroups": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 255
+ },
+ "id": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "count": {
+ "type": "integer"
+ },
+ "totalCount": {
+ "type": "integer"
+ },
+ "perPage": {
+ "type": "integer"
+ },
+ "page": {
+ "type": "integer"
+ },
+ "filter": {
+ "type": "string"
+ },
+ "filterField": {
+ "type": "string"
+ },
+ "sortField": {
+ "type": "string"
+ },
+ "sortDirection": {
+ "type": "string",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ },
+ "applicationId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ },
+ "experienceGroupId": {
+ "type": "string",
+ "pattern": "^[A-Fa-f\\d]{24}$"
+ }
+ }
+}
+```
+### <a name="experience-users-example"></a> Example
+
+```json
+{
+ "items": [
+ {
+ "id": "58b9d782cbfafe1be675744d",
+ "experienceUserId": "58b9d782cbfafe1be675744d",
+ "applicationId": "575ec8687ae143cd83dc4a97",
+ "creationDate": "2016-06-13T04:00:00.000Z",
+ "lastUpdated": "2016-06-13T04:00:00.000Z",
+ "passwordLastUpdated": "2016-06-13T04:00:00.000Z",
+ "lastLogin": "2016-06-13T04:00:00.000Z",
+ "email": "example@experienceuser.com",
+ "firstName": "Example",
+ "lastName": "Name",
+ "avatarUrl": "https://example.avatar.url/is_here.png",
+ "userTags": {
+ "customKey": "customValue"
+ }
+ }
+ ],
+ "count": 1,
+ "totalCount": 4,
+ "perPage": 1,
+ "page": 0,
+ "sortField": "name",
+ "sortDirection": "asc",
+ "applicationId": "575ec8687ae143cd83dc4a97"
+}
+```
+
+<br/>
+
## Workflow
Schema for a single Workflow
### <a name="workflow-schema"></a> Schema
@@ -4975,14 +6273,29 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
- "type": "string"
+ "type": "string",
+ "maxLength": 1024
},
"type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "deviceId",
+ "deviceTag",
+ "mqttTopic",
+ "webhook",
+ "timer",
+ "event",
+ "virtualButton",
+ "endpoint",
+ "deviceIdConnect",
+ "deviceIdDisconnect",
+ "deviceTagConnect",
+ "deviceTagDisconnect"
+ ]
},
"config": {
"type": "object"
},
"meta": {
@@ -4991,13 +6304,16 @@
"outputIds": {
"type": "array",
"items": {
"type": "array",
"items": {
- "type": "string"
- }
- }
+ "type": "string",
+ "maxLength": 255
+ },
+ "maxItems": 100
+ },
+ "maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type"
@@ -5008,14 +6324,17 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
- "type": "string"
+ "type": "string",
+ "maxLength": 1024
},
"type": {
- "type": "string"
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
},
"config": {
"type": "object"
},
"meta": {
@@ -5024,13 +6343,16 @@
"outputIds": {
"type": "array",
"items": {
"type": "array",
"items": {
- "type": "string"
- }
- }
+ "type": "string",
+ "maxLength": 255
+ },
+ "maxItems": 100
+ },
+ "maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type"
@@ -5096,11 +6418,11 @@
<br/>
## Workflow Log
-Log of workflow run information
+Log of aggregated workflow run information
### <a name="workflow-log-schema"></a> Schema
```json
{
@@ -5111,39 +6433,22 @@
"properties": {
"time": {
"type": "string",
"format": "date-time"
},
- "errorCount": {
+ "pathsFailed": {
"type": "number"
},
"pathsCompleted": {
"type": "number"
},
- "totalCount": {
+ "runCount": {
"type": "number"
},
- "totalTime": {
- "type": "number"
- },
"wallTime": {
"type": "number"
},
- "nodes": {
- "type": "object",
- "additionalProperties": {
- "type": "object",
- "properties": {
- "time": {
- "type": "number"
- },
- "count": {
- "type": "number"
- }
- }
- }
- },
"errors": {
"type": "array",
"items": {}
}
}
@@ -5216,14 +6521,29 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
- "type": "string"
+ "type": "string",
+ "maxLength": 1024
},
"type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "deviceId",
+ "deviceTag",
+ "mqttTopic",
+ "webhook",
+ "timer",
+ "event",
+ "virtualButton",
+ "endpoint",
+ "deviceIdConnect",
+ "deviceIdDisconnect",
+ "deviceTagConnect",
+ "deviceTagDisconnect"
+ ]
},
"config": {
"type": "object"
},
"meta": {
@@ -5232,13 +6552,16 @@
"outputIds": {
"type": "array",
"items": {
"type": "array",
"items": {
- "type": "string"
- }
- }
+ "type": "string",
+ "maxLength": 255
+ },
+ "maxItems": 100
+ },
+ "maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type"
@@ -5249,14 +6572,17 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
- "type": "string"
+ "type": "string",
+ "maxLength": 1024
},
"type": {
- "type": "string"
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
},
"config": {
"type": "object"
},
"meta": {
@@ -5265,13 +6591,16 @@
"outputIds": {
"type": "array",
"items": {
"type": "array",
"items": {
- "type": "string"
- }
- }
+ "type": "string",
+ "maxLength": 255
+ },
+ "maxItems": 100
+ },
+ "maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type"
@@ -5342,14 +6671,29 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
- "type": "string"
+ "type": "string",
+ "maxLength": 1024
},
"type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "deviceId",
+ "deviceTag",
+ "mqttTopic",
+ "webhook",
+ "timer",
+ "event",
+ "virtualButton",
+ "endpoint",
+ "deviceIdConnect",
+ "deviceIdDisconnect",
+ "deviceTagConnect",
+ "deviceTagDisconnect"
+ ]
},
"config": {
"type": "object"
},
"meta": {
@@ -5358,13 +6702,16 @@
"outputIds": {
"type": "array",
"items": {
"type": "array",
"items": {
- "type": "string"
- }
- }
+ "type": "string",
+ "maxLength": 255
+ },
+ "maxItems": 100
+ },
+ "maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type"
@@ -5375,14 +6722,17 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
- "type": "string"
+ "type": "string",
+ "maxLength": 1024
},
"type": {
- "type": "string"
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
},
"config": {
"type": "object"
},
"meta": {
@@ -5391,13 +6741,16 @@
"outputIds": {
"type": "array",
"items": {
"type": "array",
"items": {
- "type": "string"
- }
- }
+ "type": "string",
+ "maxLength": 255
+ },
+ "maxItems": 100
+ },
+ "maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type"
@@ -5506,10 +6859,50 @@
}
```
<br/>
+## Workflow Trigger Filter
+
+Array of triggers for filtering workflows. Trigger keys and trigger types are optional.
+
+### <a name="workflow-trigger-filter-schema"></a> Schema
+
+```json
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "key": {
+ "type": "string",
+ "maxLength": 1024
+ },
+ "type": {
+ "type": "string",
+ "maxLength": 1024
+ }
+ },
+ "additionalProperties": false
+ },
+ "maxItems": 100
+}
+```
+### <a name="workflow-trigger-filter-example"></a> Example
+
+```json
+[
+ {
+ "type": "webhook",
+ "key": "575ed78e7ae143cd83dc4aab"
+ }
+]
+```
+
+<br/>
+
## Workflows
Schema for a collection of Workflows
### <a name="workflows-schema"></a> Schema
@@ -5562,14 +6955,29 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
- "type": "string"
+ "type": "string",
+ "maxLength": 1024
},
"type": {
- "type": "string"
+ "type": "string",
+ "enum": [
+ "deviceId",
+ "deviceTag",
+ "mqttTopic",
+ "webhook",
+ "timer",
+ "event",
+ "virtualButton",
+ "endpoint",
+ "deviceIdConnect",
+ "deviceIdDisconnect",
+ "deviceTagConnect",
+ "deviceTagDisconnect"
+ ]
},
"config": {
"type": "object"
},
"meta": {
@@ -5578,13 +6986,16 @@
"outputIds": {
"type": "array",
"items": {
"type": "array",
"items": {
- "type": "string"
- }
- }
+ "type": "string",
+ "maxLength": 255
+ },
+ "maxItems": 100
+ },
+ "maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type"
@@ -5595,14 +7006,17 @@
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
- "type": "string"
+ "type": "string",
+ "maxLength": 1024
},
"type": {
- "type": "string"
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 1024
},
"config": {
"type": "object"
},
"meta": {
@@ -5611,13 +7025,16 @@
"outputIds": {
"type": "array",
"items": {
"type": "array",
"items": {
- "type": "string"
- }
- }
+ "type": "string",
+ "maxLength": 255
+ },
+ "maxItems": 100
+ },
+ "maxItems": 100
}
},
"additionalProperties": false,
"required": [
"type"
@@ -5853,18 +7270,20 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
}
},
"additionalProperties": false
}
```
@@ -5962,10 +7381,13 @@
"avatarUrl": {
"type": "string",
"format": "url"
},
"limits": {
+ "apitoken": {
+ "type": "number"
+ },
"application": {
"type": "number"
},
"applicationkey": {
"type": "number"
@@ -5977,10 +7399,19 @@
"type": "number"
},
"devicerecipe": {
"type": "number"
},
+ "experienceendpoint": {
+ "type": "number"
+ },
+ "experiencegroup": {
+ "type": "number"
+ },
+ "experienceuser": {
+ "type": "number"
+ },
"flow": {
"type": "number"
},
"webhook": {
"type": "number"
@@ -6107,37 +7538,46 @@
}
},
"summary": {
"type": "object",
"properties": {
+ "apiTokenCount": {
+ "type": "number"
+ },
"appCount": {
"type": "number"
},
- "dashCount": {
+ "keyCount": {
"type": "number"
},
- "orgCount": {
+ "dashCount": {
"type": "number"
},
"deviceCount": {
"type": "number"
},
- "flowCount": {
+ "deviceRecipeCount": {
"type": "number"
},
- "webhookCount": {
+ "experienceEndpointCount": {
"type": "number"
},
- "keyCount": {
+ "experienceGroupCount": {
"type": "number"
},
- "deviceRecipeCount": {
+ "experienceUserCount": {
"type": "number"
},
+ "flowCount": {
+ "type": "number"
+ },
+ "orgCount": {
+ "type": "number"
+ },
"payloadCount": {
"title": "Payload Counts",
- "description": "Schema the result of a payload count request",
+ "description": "Schema for the result of a payload count request",
"type": "object",
"properties": {
"mqttOut": {
"type": "object",
"patternProperties": {
@@ -6215,12 +7655,23 @@
"patternProperties": {
".*": {
"type": "number"
}
}
+ },
+ "endpoint": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "number"
+ }
+ }
}
}
+ },
+ "webhookCount": {
+ "type": "number"
}
}
},
"currentPeriodStart": {
"type": "string",
@@ -6384,18 +7835,20 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
}
},
"required": [
"name"
],
@@ -6503,10 +7956,13 @@
}
}
}
},
"limits": {
+ "apitoken": {
+ "type": "number"
+ },
"application": {
"type": "number"
},
"applicationkey": {
"type": "number"
@@ -6518,10 +7974,19 @@
"type": "number"
},
"devicerecipe": {
"type": "number"
},
+ "experienceendpoint": {
+ "type": "number"
+ },
+ "experiencegroup": {
+ "type": "number"
+ },
+ "experienceuser": {
+ "type": "number"
+ },
"flow": {
"type": "number"
},
"solution": {
"type": "number"
@@ -6540,37 +8005,49 @@
}
},
"summary": {
"type": "object",
"properties": {
+ "apiTokenCount": {
+ "type": "number"
+ },
"appCount": {
"type": "number"
},
- "dashCount": {
+ "keyCount": {
"type": "number"
},
- "solutionCount": {
+ "dashCount": {
"type": "number"
},
"deviceCount": {
"type": "number"
},
- "flowCount": {
+ "deviceRecipeCount": {
"type": "number"
},
- "webhookCount": {
+ "experienceEndpointCount": {
"type": "number"
},
- "keyCount": {
+ "experienceGroupCount": {
"type": "number"
},
- "deviceRecipeCount": {
+ "experienceUserCount": {
"type": "number"
},
+ "flowCount": {
+ "type": "number"
+ },
+ "memberCount": {
+ "type": "number"
+ },
+ "pendingInviteCount": {
+ "type": "number"
+ },
"payloadCount": {
"title": "Payload Counts",
- "description": "Schema the result of a payload count request",
+ "description": "Schema for the result of a payload count request",
"type": "object",
"properties": {
"mqttOut": {
"type": "object",
"patternProperties": {
@@ -6648,17 +8125,25 @@
"patternProperties": {
".*": {
"type": "number"
}
}
+ },
+ "endpoint": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "number"
+ }
+ }
}
}
},
- "pendingInviteCount": {
+ "solutionCount": {
"type": "number"
},
- "memberCount": {
+ "webhookCount": {
"type": "number"
}
}
},
"planId": {
@@ -7202,10 +8687,13 @@
}
}
}
},
"limits": {
+ "apitoken": {
+ "type": "number"
+ },
"application": {
"type": "number"
},
"applicationkey": {
"type": "number"
@@ -7217,10 +8705,19 @@
"type": "number"
},
"devicerecipe": {
"type": "number"
},
+ "experienceendpoint": {
+ "type": "number"
+ },
+ "experiencegroup": {
+ "type": "number"
+ },
+ "experienceuser": {
+ "type": "number"
+ },
"flow": {
"type": "number"
},
"solution": {
"type": "number"
@@ -7239,37 +8736,49 @@
}
},
"summary": {
"type": "object",
"properties": {
+ "apiTokenCount": {
+ "type": "number"
+ },
"appCount": {
"type": "number"
},
- "dashCount": {
+ "keyCount": {
"type": "number"
},
- "solutionCount": {
+ "dashCount": {
"type": "number"
},
"deviceCount": {
"type": "number"
},
- "flowCount": {
+ "deviceRecipeCount": {
"type": "number"
},
- "webhookCount": {
+ "experienceEndpointCount": {
"type": "number"
},
- "keyCount": {
+ "experienceGroupCount": {
"type": "number"
},
- "deviceRecipeCount": {
+ "experienceUserCount": {
"type": "number"
},
+ "flowCount": {
+ "type": "number"
+ },
+ "memberCount": {
+ "type": "number"
+ },
+ "pendingInviteCount": {
+ "type": "number"
+ },
"payloadCount": {
"title": "Payload Counts",
- "description": "Schema the result of a payload count request",
+ "description": "Schema for the result of a payload count request",
"type": "object",
"properties": {
"mqttOut": {
"type": "object",
"patternProperties": {
@@ -7347,17 +8856,25 @@
"patternProperties": {
".*": {
"type": "number"
}
}
+ },
+ "endpoint": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "number"
+ }
+ }
}
}
},
- "pendingInviteCount": {
+ "solutionCount": {
"type": "number"
},
- "memberCount": {
+ "webhookCount": {
"type": "number"
}
}
},
"planId": {
@@ -7478,11 +8995,11 @@
<br/>
## Payload Counts
-Schema the result of a payload count request
+Schema for the result of a payload count request
### <a name="payload-counts-schema"></a> Schema
```json
{
@@ -7566,10 +9083,18 @@
"patternProperties": {
".*": {
"type": "number"
}
}
+ },
+ "endpoint": {
+ "type": "object",
+ "patternProperties": {
+ ".*": {
+ "type": "number"
+ }
+ }
}
}
}
```
### <a name="payload-counts-example"></a> Example
@@ -7738,25 +9263,28 @@
"applicationIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"dashboardIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"solutionIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"strict": {
"type": "boolean"
}
},
@@ -7821,11 +9349,13 @@
"type": "string",
"maxLength": 32767
},
"slug": {
"type": "string",
- "pattern": "^[0-9a-z_-]{1,255}$"
+ "minLength": 4,
+ "maxLength": 255,
+ "pattern": "^[0-9a-z_-]*$"
},
"allowSelfDeletion": {
"type": "boolean"
},
"allowSelfEmailChange": {
@@ -8115,11 +9645,12 @@
"dashboardIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
}
}
}
}
}
@@ -8152,15 +9683,15 @@
}
```
<br/>
-## User Credentials
+## Solution User Credentials
Schema for the body of a Solution User authentication request
-### <a name="user-credentials-schema"></a> Schema
+### <a name="solution-user-credentials-schema"></a> Schema
```json
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
@@ -8190,11 +9721,11 @@
"password"
],
"additionalProperties": false
}
```
-### <a name="user-credentials-example"></a> Example
+### <a name="solution-user-credentials-example"></a> Example
```json
{
"solutionId": "57955788124b37010084c053",
"email": "example@solutionuser.com",
@@ -8265,11 +9796,12 @@
"dashboardIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"additionalProperties": false
}
}
},
@@ -8348,11 +9880,12 @@
"dashboardIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"additionalProperties": false
}
}
},
@@ -8484,11 +10017,12 @@
"dashboardIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
}
}
}
}
}
@@ -8621,11 +10155,13 @@
"type": "string",
"maxLength": 32767
},
"slug": {
"type": "string",
- "pattern": "^[0-9a-z_-]{1,255}$"
+ "minLength": 4,
+ "maxLength": 255,
+ "pattern": "^[0-9a-z_-]*$"
},
"allowSelfDeletion": {
"type": "boolean"
},
"allowSelfEmailChange": {
@@ -8963,17 +10499,19 @@
"minLength": 1,
"maxLength": 255
}
},
"additionalProperties": false
- }
+ },
+ "maxItems": 100
},
"deviceIds": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Fa-f\\d]{24}$"
- }
+ },
+ "maxItems": 1000
},
"limit": {
"type": "number"
}
},