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&#x27;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" } },